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


    В одной из прошлых статей мы рассказывали о таком криминалистическом артефакте, как 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

    Group-IB
    Компания

    Комментарии 3

      –1
      Хорошая статья. А где можно достать эту книгу: Нехорошев А.Б., Шухнин М.Н., Юрин И.Ю., Яковлев А.Н. Практические основы компьютерно-технической экспертизы (Учебно-методическое пособие), Издательство «Научная книга», Саратов, 2007.?
        –1
        К сожалению, эта книга выпускалась ограниченным тиражом. Вряд ли сейчас существует возможность ее приобрести. Скорее всего, её можно найти только в библиотечных фондах.
        –1
        Вот еще пришел такой вопрос от frkbvfnjh:

        А где формат файлов LNK-то? Как написать свою программу по препарированию ярлыков и уж тем более, как самому создавать ярлыки-то? MS открыла эту инфу или нет?

        Отвечаем: Ссылки на формат LNK-файлов, опубликованный Microsoft, а также на независимые исследования формата ярлыков Windows приведены в конце данной статьи, в разделе «Источники».

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое