- Сообщения
- 8,031
- Решения
- 15
- Реакции
- 6,808
Классификация ярлыков Windows и виды их заражения
Автор: Dragokas
В современном мире угроз для эффективного выявления следов вредоносного ПО консультант должен представлять себе, какими бывают способы заражения, связанные с эксплуатацией ярлыков Windows, а также разновидности самих ярлыков.
Часть 1. Файлы LNK.
Наиболее популярным в данное время форматом ярлыков является MS ShellLink (*.LNK). Злоумышленники используют их в таких целях:
1) Для распространения рекламного ПО (Adware):
1.1. Добавление аргумента
Сканируются все папки профилей пользователей на соответствие с распространенными именами браузеров, после чего добавляется дописка в виде рекламного сайта (часто с реферальной ссылкой), например:
Код:
["C:\Program Files\Internet Explorer\iexplore.exe" =>> hxxp://virus.com]
Во время запуска такого ярлыка стартует браузер Internet Explorer и открывается страница по адресу hxxp://virus.com.
Пример детектирования VirusTotal - Opera.lnk
1.2. Установка ярлыку атрибута «Только чтение»
Это делается с целью затруднить возможность пользователю вручную удалить из ярлыка дописку аргумента.
Для запутывания следов, ухода от распознавания инфицированных ярлыков антивирусными движками, используются приемы промежуточного запуска через скрипты, а также изменение хешей и обфускация самих скриптов, так например:
1.3. Цель ярлыка заменяется на путь к батнику (.BAT или .CMD-файл).
В природе были замечены подмены только на .BAT.
Батник – это обычный текстовый файл, в котором последовательно выполняются указанные в нем программы или команды.
Вирусописатели подставляют в него путь к браузеру и аргумент, аналогично п. 1.1.
Пример ярлыка:
Код:
"Firеfох.lnk" -> ["C:\firefox.bat"] -> start "" /I /B /D"C:\PROGRA~2\MOZILL~1\" "C:\PROGRA~2\MOZILL~1\firefox.exe" "hxxp://virus.com/"¶(обфусцирован)
Пример детектирования VirusTotal - BrowserManager.bat
1.4. Запись командной строки прямо в аргументы ярлыка
Аналогично батникам, только содержимое батника находится целиком в аргументах ярлыка и запускается через интерпретатор cmd.exe
Пример:
Код:
"Firеfох.lnk" -> ["cmd.exe" =>> /cstart "" /I /B /D"C:\PROGRA~2\MOZILL~1\" "C:\PROGRA~2\MOZILL~1\firefox.exe" "hxxp://virus.com/"¶ ]
1.5. Замена цели на путь к файлу .URL
Подобно предыдущему пункту о батниках. Про URL-файлы мы поговорим позже.
Пример:
Код:
"Firеfох.lnk" -> ["firefox.url" ] -> hxxp://virus.com/
1.6. Маскировка.
// Вырезано. Авт. - информация доступна только для членов ассоциации VirusNet //
1.7. Установка атрибутов «Скрытый / системный»
Для чего это делается доподлинно неизвестно. Возможно, с целью обхода проактивной защиты, т.к. операция удаления/переименования файлов может считается подозрительной.
Оригинальные ярлыки браузеров скрываются. А на том же месте создаются похожие на них, но зараженные.
1.8. Подмена путей расположения иконки LNK.
Есть и такой неприятный момент: для части ярлыков (причем не только браузерных) путь иконок переназначается в другую папку, где заодно создаются копии легальных EXE-файлов браузеров.
Обнаружив подозрительную папку с недавней датой создания, консультант удаляет ее. В результате этого действия ярлыки становятся «белыми» (без иконки), на что иногда возникают жалобы у пользователей.
Программа «ClearLNK by Dragokas» способна распознавать некоторые видны подмен иконок и исправлять их на иконку по-умолчанию, о чем указывается в итоговом отчете.
Код:
_____________________________ Начало лога ______________________________
[ OK ] 1 "C:\Users\Alex\Desktop\Internet Explorer.lnk" -> [ "C:\Program Files (x86)\Internet Explorer\iexplore.exe" ] (иконка восстановлена)
_________________________ Расположение иконок ________________________
[ OK ] "C:\Users\Alex\Desktop\Internet Explorer.lnk" -> [ ".", index=1 ] <- "C:\Users\Alex\Desktop\[B]virIcon[/B]\iexplore.exe", index=0
1.9. Новые техники
Следует не забывать, что злоумышленники постоянно ищут возможности глубже спрятать следы присутствия Adware. Формат LNK дает им такой шанс. Вас не всегда смогут спасти заточенные под аналитика программы проверки. Например, существует такая секция LNK, когда http-адрес сразу указывается в объекте запуска. Из всех известных мне программ анализа только Universal Virus Sniffer от Дмитрия Кузнецова и FixerBro by glax24 умеют распознавать такой ярлык. Мы работаем над данной проблемой перед выпуском 2-го поколения Check Browsers' LNK by Dragokas & regist.
2) Запуск BITCOIN-майнеров:
Майнер криптовалюты – это программа, которая запускается на стороне пользователя и служит для создания (добычи) электронной валюты (биткоинов / лайткоинов и др. форков… ), используя мощность центрального процессора и/или видеокарты для математических рассчетов.
Данная сеть чрезвычайно анонимна, так как не использует привычную адресацию.
Рассчитываются специальные блоки данных для нахождения хешей. Блоки получают от других программ-клиентов (нечто похожее на P2P), но как правило, их раздают сервера (они называются – пулами, от слова «пул») (так, награда за мощности распределяется более равномерно между участниками и можно наглядно следить за статистикой он-лайн на сайте пула).
Все, что Вам нужно о них знать, это:
- запуск майнера сопровождается, обычно*, близкой к 100% нагрузке на центральный процессор или видеокарту.
* если только процесс не запущен в режиме пониженного приоритета.
- могут работать в фоновом (скрытом) режиме;
- чаще всего запускаются через ярлык или батник, так как требуют обязательной предварительной настройки с указанием адреса сервера (пула), например:
«K7x32_liteguardian.com.lnk» -> ["H:\_BitCoin\pools\liteguardian.com\start_K7x32.cmd"] -> start "" "%~dp0x64\cudaminer.exe" --no-autotune -d 0 -i 0 -l K7x32 -C 1 -m 1 -o stratum+tcp://eu-2.liteguardian.com:3333 -O Diskretor.1:x
Где eu-2.liteguardian.com – адрес пула для майнинга.
Часто новички оставляют в такой командной строке и пароль доступа к учетке. По вышеприведенному примеру:
1) Имя пользователя: Diskretor.1
2) Пароль: x
Существуют и так называемые BURST-майнеры, которые добывают валюту через мощностя жесткого диска (например, pocminer.exe). Иными словами – Вашему винчестеру осталось меньше жить . Но таковые особого распространения не получили (для профита нужен минимум 1 ТБ свободного места).
Под заражением BITCOIN-майнером подразумевается его установка без ведома и разрешения владельца ПК.
В целом, на данный момент число такого вида заражений можно считать несущестенным. Тем не менее, в сети все еще гуляют исполняемые файлы (дропперы) этого вида угрозы.
Причиной понижения числа заражений можно считать существенное ухудшение эффективности добычи криптовалюты за счет одиночных компьютеров (особенность механизма распространения монет) в пользу так называемых ASIC-майнеров (специальных ПК).
3) Эксплойты 0-day.
Речь идет об уязвимости CVE-2010-2568, обнаруженной в ходе изучения червя Stuxnet.
При открытии в проводнике папки с ярлыком отрисовывается его иконка. Иконка ссылается на ресурс в библиотеке DLL, путь к которой указан злоумышленником. Загрузка ресурса приводит к запуску кода инициализации этой библиотеки, где и прописаны дальнейшие вредоносные действия.
Как говорится в исследовании, сделанном год назад, эта уязвимость все еще весьма актуальна и затрагивает большинство версий ОС.
Видеодемонстрация.
Результаты VirusTotal.
Между слов, исправление уязвимости появилось только спустя 5 лет – 10.03.2015. Собственно: страница с самим исправлением.
Часть 2. Файлы PIF.
Этот формат представляет из себя ярлыки для программ MS-DOS.
В отличие от LNK, они запускаются напрямую, а не через интерфейс IShellLink.
Это позволяет делать некоторые махинации с форматами.
Так, содержимое файла PIF может быть начинено форматом исполняемого файла PE EXE (.EXE) либо (.COM).
Встречалась также подмена на формат архива.
Это легко распознать, если открыть файл в HEX-редакторе и посмотреть на первые буквы.
- PE EXE (.EXE) файл – сигнатура MZ (0x4D5A) (Mark Zbikowski).
- .COM файл – сигнатура бывает разная (первые 2 байта – одно из чисел перечисления MachineTypes) или вообще любое другое (для 16-битных COM), кроме MZ и ZM.
- ZIP-архив – сигнатура PK (0x504B)
Обратите внимание, что исполняемый файл в виде .PIF не всегда означает подмену во вредоносных целях. Так, например, защищают программы от файловых вирусов, а также для обхода политик блокировки запуска исполняемых файлов. Например, полиморфная версия AVZ или AutoLogger-а (в целях безопасности, приведены ссылки на обычные версии).
Поскольку, кол-во людей, которые до сих пор работают с программами MS-DOS, можно сосчитать по пальцам (+ они не запускаются на x64-битных ОС, не учитывая эмуляторов вроде DosBox), будьте уверены, что 80% файлов .PIF, которые Вы увидите в логах, не являются ярлыками.
Часть 3. Файлы URL, WEBSITE.
Оба варианта расширений имеют идентичную структуру формата UniformResourceLocator.
Минимальный пример содержимого:
Код:
[InternetShortcut]
URL=hxxp://www.mail.ru/
При запуске этих типов файлов, как правило, открывается браузер по-умолчанию со страницей, адрес которой указан в ярлыке.
Ассоциация задана в реестре.
Значения по-умолчанию:
Код:
HKEY_CLASSES_ROOT\InternetShortcut\shell\Open\Command
"C:\Windows\System32\rundll32.exe" "C:\Windows\System32\ieframe.dll",OpenURL %l
HKEY_CLASSES_ROOT\Microsoft.Website\Shell\Open\Command
"C:\Program Files\Internet Explorer\iexplore.exe" -w "%l" %*
Пример детектирования VirusTotal - Yandex.url
Часть 4. Файлы APPREF-MS (ClickOnce).
Наиболее загадочные и наименее документированные.
Часть информации можно подчерпнуть в статье от Remko Weijnen.
Ярлыки с расширением .appref-ms создаются для приложений ClickOnce и запускаются такой командой:
Код:
rundll32.exe dfshim.dll,ShOpenVerbShortcut %1|%2
После запуска такого ярлыка происходит подключение к серверу, на котором опубликовано это приложение.
Идет попытка обновить/установить программу. Только после этого происходит запуск.
Определить, куда установлена программа не запуская ярлык, стандартными средствами невозможно, зато можно узнать адрес ресурса, открыв ярлык обычным блокнотом:
Код:
http://github-windows.s3.amazonaws.com/GitHub.application#GitHub.application, Culture=neutral, PublicKeyToken=8f45a2159c87c850, processorArchitecture=x86
В целом, все исполняемые файлы программ ClickOnce хранятся в папке:
(XP) %userprofile%\Local Settings\Apps
(Vista и выше) %LocalAppData%\Apps
Данные о заражениях: не было или неизвестно.
____________________________
Теперь, когда Вы вооружены знаниями о видах заражения ярлыков, логи для Вас окажутся более дружелюбными
Надеюсь, что этот материал окажется Вам полезным.
Спасибо за внимание.
Последнее редактирование модератором: