Вредоносное ПО появляется постоянно — и применяется для самых разных целей. Вслед за ним лишь спустя время обновляются сигнатуры, по которым антивирус проверяет объекты и обнаруживает эти программы. Получается, что есть период, когда вирус уже запущен, но ещё нет сигнатур, по которым его можно выявить. Если злоумышленник успеет провести атаку, то надеяться можно только на то, что настройки ОС или СЗИ не дадут вирусу выполнить своё чёрное дело.
Кроме того, есть много средств, с помощью которых вредоносное ПО может сгенерировать любой человек — достаточно владеть ПК чуть лучше обычного пользователя. Поэтому иногда бывает полезно проверять подозрительные объекты. Разберём методы и средства, которые для этого пригодятся.
В этой статье покажем, как на практике провести анализ подозрительного docx-файла. Такие вложения могут быть в письмах, которые прилетают на почту и зачастую скрывают в себе вредоносное ПО, запускающее АРТ-атаку.
Немного теории
Все техники анализа подозрительных файлов можно условно разбить на два направления:
- статический анализ, при котором файл анализируется без его запуска в системе;
- динамический анализ, при котором рассматриваются последствия от запуска файла.
В обоих случаях мы можем выяснить:
- нет ли в файле объектов, которые могут повлиять на работу системы (скриптов, сценариев загрузки, ссылок и подобного);
- будет ли файл после запуска открывать сетевые соединения;
- какие изменения произойдут с «лабораторной системой» после запуска в ней подозрительного файла.
Для анализа мы будем использовать виртуальную машину (ВМ) на основе Kali Linux в системе VirtualBox. Сначала настроим общую папку между ВМ и основной системой — на эту тему на Samurai Hacks есть отдельный гайд. Будем использовать её для обмена файлами.
Исследуемый файл после копирования в Kali Linux переносим в отдельный каталог и переименовываем:
Теперь его можно анализировать.
Статический анализ файла
Сначала проверим, что представляет собой файл. Иногда расширение меняют (например, с .exe на .txt), чтобы обойти механизмы безопасности. Определить тип файла можно с помощью утилиты exiftool или команды file. По результатам анализа видно, что расширение совпадает с типом файла, то есть его не меняли. Кроме того, файл представляет собой архив — а это характерно для формата docx:
А раз файл — это архив, его можно распаковать средствами 7zip:
Теперь используем команду tree и посмотрим на содержимое каталогов, которые получились при распаковке. Большинство из них не содержит полезной для нас информации — но остановимся на каталоге Word.
Посмотрим содержимое файла settings.xml.rels:
Видим подозрительную ссылку на внешний ресурс, мало связанный (кроме названия) с работой Word. Других полезных паттернов в файле пока не замечено. Теперь посмотрим, что это за сайт такой:
По состоянию на 26 апреля 2020 года, когда проводился анализ файла, домен неактивен. Больше паттернов в файле нет.
Посмотрим, есть ли в нём макросы. Для этого используем пакет oletools (вики проекта). Установив его, можно проанализировать файл.
Видно, что файл содержит ссылку. Теперь проанализируем его на наличие макросов:
Макросов в файле нет. Можно проверить, есть ли SWF-объекты:
Вывод: кроме ссылки, в файле нет полезных объектов. Можно было бы определить, к какому объекту она относится, но для наших целей это не обязательно. Подробнее об этом можно почитать на Officeopenxml.com.
Как использовать найденную информацию
Вы можете проверить ссылку на специальном сайте — Sucuri SiteCheck. У нашей результат интересный:
А на domaintools.com можно проверить информацию о домене — есть шанс узнать, кто его владелец.
В ходе статического анализа мы выяснили, что в файле содержится ссылка на загрузку вредоносного ПО. Её задача — активировать полезную нагрузку вируса в обход средств защиты. Теперь можем переходить к динамическому анализу.
Динамический анализ файла
Cначала проанализируем файл по базе VirusTotal. Это позволит быстро выяснить, что он делает. На момент нашего исследования результаты были такими:
24 из 61 — показатель совпадений по базам антивирусов. В принципе, этого уже достаточно, чтобы не открывать файл.
Что ещё можно узнать при анализе файла на VirusTotal? Сведения о домене office-archive-input.com. Он используется для хостинга вредоносного ПО в разных видах полезной нагрузки.
Ещё можно получить информацию о DNS домена, который мы исследуем:
Остановимся в разделе Behavior: в нём описывается поведение файла — например, что он создаёт:
Подробнее с результатами анализа можно ознакомиться в отчёте VirusTotal.
Теперь прогоним файл через базу Hybrid Analysis и посмотрим, что оттуда можно извлечь. Система помогает проанализировать поведение файла — в частности, выяснить, как именно он обращается к своему домену за загрузкой полезной нагрузки:
Видим, что в системе появляется файл C:\Users\%USERNAME%\AppData\Roaming\SystemHD.exe. Он уже запускает powershell (вот отчёт по анализу). Вирус использует файл SystemHD.exe, чтобы начать свою активность в системе:
Теперь для SystemHD.exe мы можем найти по хешу похожие объекты на VirusTotal. В отчёте видим, что делает этот файл:
И с какими ресурсами взаимодействует:
А ещё — какие техники задействованы при реализации атаки, для которой файл используется:
Выводы
Изученный файл представляет собой Trojan-Dropper (по классификации «Лаборатории Касперского»). В нём содержится ссылка на вредоносное ПО, и его задача — загрузить полезную нагрузку в обход средств защиты. Доставка — по почте.
Объект сохраняется во временном каталоге — и файл *.wbk начинает дальше действовать в системе. После запуска он эксплуатирует уязвимость и загружает остальную часть полезной нагрузки с правами Local System. В нашем случае уязвимость — CVE-2017-0199, она довольно давно используется для пентеста.
Вся эта информация поможет нам выстроить систему защиты.
Подобное вредоносное ПО — это только средство для доставки файлов, которые воздействуют более мощно. Поэтому такую атаку проще заблокировать на начальном этапе, чем бороться с последствиями после запуска эксплоита. Как это сделать?
- Обязательно установить обновления для защиты от уязвимости CVE-2017-0199.
- Запретить запуск ps1-файлов на стороне пользователя, настроив групповую политику.
- Запретить в групповой политике или с помощью applocker запуск объекта с таким хешем: 5cf04fda03eb24218ea06356cbb76a1581ebdf20121255832c614937378108eb. Это файл SystemHD.exe.
Ещё убедитесь, что ваш антивирус умеет и практикует:
- плановое сканирование каталогов (в нашем случае — C:\Users\%USERNAME%\AppData\Local);
- запуск всех подозрительных файлов в песочнице;
- сканирование почтовых файлов;
- запрет доступа к URL (в нашем случае — office-archive-input.com, paste.ee, pastecode.xyz).
На практике выбор мер по защите информации во многом зависит от технологий и средств, которые используются для этого на предприятии. Поэтому важно грамотно выстраивать систему противодействия атакам, в том числе сознательно выбирать компоненты.
Напоследок напоминаю ссылки на отчёты динамических систем анализа, которые мы рассматривали в статье:
- https://www.hybrid-analysis.com/sample/b5779aca551e576074c4a121cdaef7324c360fc409b5e654666215a2020e937f
- https://www.virustotal.com/gui/file/b5779aca551e576074c4a121cdaef7324c360fc409b5e654666215a2020e937f/detection
- https://www.hybrid-analysis.com/sample/b5779aca551e576074c4a121cdaef7324c360fc409b5e654666215a2020e937f/5ea28472e190fd65070a4c2e
Комментарии