✔Ликбез по LNK. Какие опасности скрывают ярлыки Windows - «Новости»
www
Информация о сэмпле на VirusTotal
Хотя этот пример выполняет вредоносный PowerShell-скрипт, метод с findstr будет работать и с другим вредоносным содержимым, например, с VBS или командным скриптом. Этот метод сработает и с вредоносным бинарным кодом, закодированным в Base64 и записанным в оверлей.
Способ 2: MSHTA
Переходим ко второму способу наложения контента. Злоумышленники часто используют вредоносные файлы HTML Application (HTA) для распространения малвари, и в случае с LNK-вредоносами приемы с HTA тоже часто идут в ход. Windows доверчиво запускает такие файлы через mshta., причем mshta. настолько терпелив, что пропустит любое содержимое, пока не наткнется на искомый пролог hta:.
Когда зловредный HTA прикреплен к LNK как накладное содержимое, не нужно ломать голову, с какого места начинается HTA. Достаточно одной простой команды: mshta [.
Поля образца LNK-малвари, использующей HTA-оверлеи
www
Информация о сэмпле на VirusTotal
Структура здесь простая:
P1: Содержимое LNK
P2:HTA-скрипт
Ниже — COMMAND_LINE_ARGUMENTS этого примера.
Вредоносный скрипт, запускающий содержимое HTA через оверлей
Он просто запускает mshta, передавая самого себя в качестве аргумента для mshta.
Способ 3: Команды и фишки PowerShell
Команды PowerShell и встроенные возможности вроде Select-String, Get-Content и . отлично подходят для поиска или извлечения контента. Причем эти команды можно закодировать так, чтобы их было сложнее засечь.
Давай рассмотрим пример малвари в формате LNK, которая использует трюк с PE-файлом, закодированным в Base64 и вставленным в качестве оверлея.
Образец вредоноса
www
Информация о сэмпле на VirusTotal
Структура:
P1: Содержимое LNK
P2:PE, закодированный в Base64
Поле COMMAND_LINE_ARGUMENTS содержит скрипт PowerShell с контентом, закодированным в Base64.
Содержимое переводится из Base64 в текст.
Раскодированное содержимое
Вот что делает эта команда:
- Ищет файл, заканчивающийся на
..lnk - Ищет в тексте паттерн
BS:с помощью командыD Select-String. - Раскодирует из Base64 все, что идет после паттерна
BS:.D - Сохраняет раскодированный текст в файл в директории
TEMPи запускает его с помощью командыStart-Process.
Ниже — единственный паттерн BS: в файле LNK.
Начало оверлейного контента в образце вредоноса
После BS: идет текстовый шаблон в кодировке Base64, который очень часто составляет первые три байта исполняемого (PE) файла (4d ). Содержимое, начинающееся с TVqQ, — это P2-оверлей, не являющийся частью содержания LNK. Декодируешь эту строку из Base64 — получаешь вредоносный PE-файл.
Сравнение способов выполнения оверлей-контента
У каждой из этих трех техник выполнения наложенного контента свои плюсы. Конкретнее:
find/findstr — универсальная и простая в освоении техника. Поддерживает разные шаблоны‑разделители и разнообразные полезные нагрузки. Плюс ко всему, командуfindможно шифровать стандартными методами обфускации скриптов.
mshta — реализовать проще простого, ведьmshta.настолько всеяден, что проигнорирует любой не-HTA контент. Достаточно запустить mshta, чтобы выполнить файл LNK. Минус — полезная нагрузка должна быть HTA-скриптом.exe
PowerShell (команды/встроенные возможности) — реализация посложнее, зато можно использовать хардкорную обфускацию, чтобы скрыть или замаскировать вредоносное содержание в накладке.
Эти три методики составляют примерно 95% от всех, которые специалисты Unit 42 видели при наборе данных. На диаграмме ниже все наглядно разложено.
Распределение техник выполнения оверлея в образцах LNK-малвари
Остальные 5,6% — это разнообразные техники для поиска и исполнения оверлей‑контента. Тут тебе и фиксированные смещения, и запуск программ‑загрузчиков. Мощь PowerShell позволяет хакерам применять целый арсенал методов для выполнения вредоносного кода в оверлее — границы тут только в фантазии самого злоумышленника.
Выводы
Итак, мы разобрали четыре типа малвари LNK. Эти знания пригодятся не только специалистам по безопасности, но и аналитикам данных. Если ты используешь Windows, проверяй любой подозрительный .lnk, прежде чем кликнуть два раза. Не дай малвари тебя провести!











