Как стать автором
Обновить
85.87

Токсичные ярлыки в Windows: старый артефакт, не забытый хакерами, но частично забытый криминалистами

Время на прочтение 6 мин
Количество просмотров 27K

В одной из прошлых статей мы рассказывали о таком криминалистическом артефакте, как Windows 10 Timeline, об утилитах для его анализа и о том, какие сведения из него можно извлечь при расследовании инцидентов. Сегодня мы поговорим о ярлыках Windows. Игорь Михайлов, специалист Лаборатории компьютерной криминалистики Group-IB, рассказывает, в каких атаках они используются и как детектировать подобные файлы.

LNK-файлы (ярлыки windows, shortcut files) — служебные файлы, которые, как правило, автоматически создаются операционной системой Windows, когда пользователь открывает файлы. Windows использует их для быстрого доступа к конкретному файлу. Также часть LNK-файлов может быть вручную создана пользователем, например, для удобства работы.

Ярлыки на рабочем столе:


Расположение LNK-файлов


Традиционно основная часть LNK-файлов располагается по путям:
Для операционных систем
Windows 7—Windows 10
C:\Users\%User profile%\AppData\Roaming\Microsoft\Windows\Recent
Для операционной системы
Windows XP
C:\Documents and Settings\%User profile%\Recent

Однако существует множество иных мест, где исследователь может найти LNK-файлы:

  • на рабочем столе (обычно такие ярлыки создают пользователи для быстрого доступа к документам и приложениям);
  • для документов, открываемых в Microsoft Office, LNK-файлы находятся по пути: C:\Users\%User profile%\AppData\Roaming\Microsoft\Office\Recent\ (для операционных систем Windows 7—Windows 10);
  • иногда вместо документов пользователи пересылают ярлыки по электронной почте, и, соответственно, получатели их скачивают. Поэтому третье место, где встречаются ярлыки, — каталог C:\Users\%User profile%\Downloads (для операционных систем Windows 7—Windows 10);
  • в каталоге Startup
  • и т.д.

Ярлыки в каталоге Recent:


Содержимое ярлыков


До того, как Microsoft опубликовала информацию о формате LNK-файлов [1], исследователи предпринимали попытки самостоятельно описать этот формат [2, 3]. Сложность исследований заключалась в том, что разные ярлыки содержат разные сведения. И при переходе от ярлыка к ярлыку может меняться количество содержащихся в нем сведений о конкретном файле. Кроме того, в Windows 10 в LNK-файлах появились новые поля, которых не было в предыдущих версиях операционной системы.

Итак, какую же информацию содержит LNK-файл? Belkasoft Evidence Center отображает три секции с информацией об LNK-файле: Метаданные, Происхождение и Файл.

Секция Метаданные:


Наиболее важные из сведений, представленных в секции Метаданные:

  • исходный путь файла и его временные метки (полный путь, время доступа к целевому файлу (UTC), время создания целевого файла (UTC), время изменения целевого файла (UTC)).
  • тип привода;
  • серийный номер тома (серийный номер привода);
  • метка тома;
  • NetBIOS-имя устройства;
  • размер целевого файла (байт) — размер файла, с которым ассоциирован ярлык.

На скриншоте выше есть поля Droid файла и Оригинальный Droid файла. DROID (Digital Record Object Identification) — индивидуальный профиль файла. Эта структура (droid файла) может использоваться службой отслеживания ссылок (Link Tracking Service), чтобы определить, был ли файл скопирован или перемещен.

Секция Происхождение:


Секция Файл:


В секции Файл дан MAC-адрес устройства, на котором был создан ярлык. Эта информация может помочь идентифицировать устройство, на котором данный файл был создан.

Следует отметить, что MAC-адрес устройства, зафиксированный в LNK-файле, может отличаться от реального. Поэтому этот параметр иногда не является достоверным.

При проведении исследований следует обращать внимание на временные метки LNK-файла, так как время его создания, как правило, соответствует либо времени создания этого файла пользователем, либо времени первого обращения к файлу, ассоциированного с данным ярлыком. Время изменения файла обычно соответствует времени последнего обращения к файлу, с которым ассоциирован ярлык.

Восстановление LNK-файлов


В каталоге Recent, который описан выше, находится до 149 LNK-файлов. Что же делать, когда нужный нам ярлык удален? Конечно же, нужно попробовать восстановить его! Восстановление LNK-файлов можно произвести с использованием сигнатуры заголовка файла hex:4C 00 00 00.

Чтобы задать заголовок файла, нужно пройти в меню программы: ИнструментыНастройки, перейти во вкладку Карвинг, нажать кнопку Добавить и создать новую сигнатуру. Более подробно о методах карвинга с помощью Belkasoft Evidence Center можно прочитать в статье «Carving and its Implementations in Digital Forensics» [4].

Добавление пользовательской сигнатуры (header):


Использование LNK-файлов атакующими в инцидентах информационной безопасности


На каждом Windows-компьютере могут находиться сотни и тысячи ярлыков. Поэтому найти ярлык, использованный атакующими для компрометации компьютера, часто не проще, чем иголку в стоге сена.

Компрометация атакуемой системы


Более 90% вредоносных программ распространяются через электронную почту. Как правило, вредоносные электронные письма содержат либо ссылку на сетевой ресурс, либо специальным образом подготовленный документ, при открытии которого в компьютер пользователя загружаются вредоносные программы. Также в хакерских атаках часто применяются LNK-файлы.

Секция Метаданные вредоносного LNK-файла:


Как правило, подобный LNK-файл содержит PowerShell-код, который исполняется при попытке открытия пользователем присланного ему ярлыка. Как видно на скриншоте выше, такие ярлыки можно легко обнаружить с помощью Belkasoft Evidence Center: в метаданных присутствует путь до исполняемого powershell.exe. В поле Аргументы приведены аргументы команды PowerShell и закодированная полезная нагрузка.

Закрепление в скомпрометированной системе


Один из методов использования LNK-файлов в хакерских атаках — закрепление в скомпрометированной системе. Чтобы «вредонос» запускался каждый раз при запуске операционной системы, можно сделать LNK-файл со ссылкой на исполняемый файл вредоносной программы (или, например, на файл, содержащий код загрузчика) и поместить ярлык по адресу C:\Users\%User profile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup. Тогда при старте операционной системы будет происходить запуск «вредоноса». Такие ярлыки можно найти во вкладке Файловая система программы Belkasoft Evidence Center.

Ярлык PhonerLite.lnk, находящийся в автозагрузке:


Исследование LNK-файлов


LNK-файлы — это криминалистический артефакт, который анализировался криминалистами еще при исследовании древних версий операционной системы Windows. Поэтому, в той или иной мере, анализ этих файлов поддерживают практически все программы для криминалистического анализа. Однако по мере эволюции Windows эволюционировали и файлы ярлыков. Сейчас в них есть поля, отображение которых ранее считалось нецелесообразным, и, соответственно, часть криминалистических программ не отображает эти поля. При этом анализ содержимого данных полей актуален при расследовании инцидентов информационной безопасности и хакерских атак.

Для исследования LNK-файлов мы рекомендуем использовать Belkasoft Evidence Center, AXIOM (Magnet Forensics), LECmd (Eric Zimmerman’s tools). Эти программы позволяют быстро проанализировать все файлы ярлыков, находящиеся на исследуемом компьютере, и вычленить те, которые нужно проанализировать более тщательно.

Исследование LNK-файлов с помощью Belkasoft Evidence Center


Так как фактически все примеры, данные выше, подготовлены с помощью Belkasoft Evidence Center, описывать ее дополнительно нет смысла.

Исследование LNK-файлов с помощью AXIOM


AXIOM — одна из топовых утилит для компьютерной криминалистики в настоящее время. Собранная программой информация о файлах ярлыков, находящихся в исследуемой системе Windows, сгруппирована в разделе Operating system:


Значение полей, отображаемое для конкретного ярлыка:


Как видно из скриншота выше, в обнаруженный программой ярлык интегрирована команда для запуска PowerShell и набор инструкций, которые исполнятся, когда пользователь кликнет на ярлык. Подобный ярлык требует от исследователя дополнительного анализа.

Исследование LNK-файлов с помощью LECmd


Комплект утилит «Eric Zimmerman’s tools» хорошо зарекомендовал себя при расследовании инцидентов. В этот комплект входит утилита командной строки LECmd, которая предназначена для анализа LNK-файлов.

Объем данных об анализируемом LNK-файле, которые выводит эта утилита, просто поражает.

Информация, извлеченная из анализируемого LNK-файла утилитой LECmd:




Выводы


LNK-файлы — один из старейших артефактов Windows, который известен компьютерным криминалистам. Тем не менее, он используется в хакерских атаках, и о его исследовании не стоит забывать при расследовании инцидентов информационной безопасности.

Огромное число программ для компьютерной криминалистики поддерживают, в той или иной степени, анализ этого артефакта Windows. Однако не все из них отображают содержимое полей ярлыков, анализ которых необходим при расследовании. Поэтому стоит аккуратно подходить к выбору программных инструментов, которые попадут в набор специалиста, расследующего инциденты.

P.S. Заходите в остросюжетный Telegram-канал компании Group-IB (https://t.me/Group_IB/) об информационной безопасности, хакерах и кибератаках, интернет-пиратах, взломах звездных аккаунтов и утечках. А также эксклюзивные фото и видео с задержаниями киберпреступников, расследования нашумевших преступлений по шагам, практические кейсы с применением технологий Group-IB и, конечно, рекомендации, как не стать жертвой в интернете.

Источники
  1. [MS-SHLLINK]: Shell Link (.LNK) Binary File Format
  2. Windows Shortcut File format specification
  3. Нехорошев А.Б., Шухнин М.Н., Юрин И.Ю., Яковлев А.Н. Практические основы компьютерно-технической экспертизы (Учебно-методическое пособие), Издательство «Научная книга», Саратов, 2007.
  4. Igor Mikaylov. Carving and its Implementations in Digital Forensics

Теги:
Хабы:
+4
Комментарии 3
Комментарии Комментарии 3

Публикации

Информация

Сайт
www.facct.ru
Дата регистрации
Дата основания
Численность
501–1 000 человек
Местоположение
Россия