Security Vision
В процессе расследования инцидентов в сетевой области традиционно применяют такие инструменты как Wireshark, Zeek, Suricata. Первый предоставляет мощнейший язык фильтров, поддержку огромного количества протоколов и возможность проанализировать каждый заголовок сетевого пакета. Из недостатков стоит отметить низкую производительность и отсутствие возможности отображения метаданных сетевых сессий.
Zeek обладает мощным DPI, возможностью анализировать протоколы Windows (SMB, DCE RPC, NTLM, Kerberos), предоставляет обширные метаданные сессий, обеспечивает поддержку обнаружения сложных сетевых атак за счет собственного скриптового языка. Из недостатков — отсутствие удобного графического интерфейса.
Suricata прекрасно справляется с задачей обнаружения атак сигнатурным способом, обладает высокой производительностью, но по части DPI, возможностям разбора сетевых протоколов и обнаружения сложных атак ощутимо уступает Zeek.
Таким образом, каждый из упомянутых инструментов обладает своими достоинствами и недостатками, соответственно было бы целесообразно использовать их в связке из единого интерфейса. Такую возможность предоставляет анализатор трафика ZUI (Brim), о котором пойдет речь в данной статье.
ZUI несет под капотом движки Zeek и Suricata и в отличие от Wireshark обладает высокой производительностью, т.к. работает на уровне сетевых сессий, а не отдельных пакетов данных. Производительность обеспечивается также собственной дата моделью, заточенной под высокую скорость обработки данных.
Рассмотрим возможности ZUI на примере трафика вредоносного семпла Formbook
https://www.malware-traffic-analysis.net/2023/07/11/index.html
Первое, что стоит отметить, — это удобство и быстрота выполнения агрегированных запросов, сбора статистической информации, которые важны для первичного анализа трафика. Разработчик подготовил TOP наиболее частых и полезных запросов в виде json файла, который легко импортируется в интерфейсе ZUI методом drug and drop.
Первичный анализ семпла
Выделим некоторые из них и рассмотрим в дальнейшем на примере трафика с вредоносным семплом.
1) _path=="dns" | count() by query | sort –r
Выдает список уникальных DNS запросов в порядке убывания количества
На скриншоте выше видим перечень доменов, которые были зафиксированы в трафике — как увидим в дальнейшем, большая часть из них вредоносные и связаны с C&C активностью.
2) Далее выведем статистику переданных и полученных байт по IP адресам.
_path=="conn" | put total_bytes := orig_bytes + resp_bytes | sort -r total_bytes | cut id, orig_bytes, resp_bytes, total_bytes
Из данной статистики видно, что из внутренних адресов был задействован единственный IP адрес 10.7.11.101. Больше всего данных было получено с внешнего IP
104.21.18.206.
3) Отфильтровав вывод по данному IP адресу, видим, что на нем припаркован домен kyliansuperm92139124.shop.
Обратившись к Virustotal из контекстного меню, заключаем, что данный домен вредоносный и вероятно принадлежит вирусному семейству Formbook.
Углубленный анализ
Далее проанализируем факты обнаружения файлов в трафике, выполнив запрос file| cut _path, tx_hosts, rx_hosts, mime_type, filename, md5 | not http | fuse
Сразу бросается в глаза передача exe файла (md5 хэш c0e88be9b83acf26d8269f07fe927f5c) на фоне многочисленных plain-text, html файлов и x509 сертификатов.
Из контекстного меню вызываем анализ данного exe посредством virustotal и убеждаемся, что это троян formbook.
Таким, образом мы зафиксировали факт загрузки трояна. Теперь необходимо понять, в результате чего это произошло. Проанализируем два файла, которые по времени предшествовали загрузке трояна. Снова призываем на помощь virustotal и видим, что первый из них (md5 хэш de36330f5ecc55cc90226af3db4a8992) — эксплойт CVE-2017-11882 в формате RTF. Это критическая RCE уязвимость в Microsoft Office, которая по сей день активно эксплуатируется «в дикой природе» в фишинговых атаках.
Эксплуатация данной уязвимости приводит к загрузке OLE объекта в виде вредоносного hta файла с powershell содержимым, в чем мы можем убедиться, проанализировав следующий файл (md5 хэш d78521f4011c505c5d57d1ef39221969).
Выполнив запрос md5=="d78521f4011c505c5d57d1ef39221969" и нажав на иконку загрузки пакетов, мы можем провалиться в Wireshark, открыв соответствующий pcap c содержимым hta файла, что является еще одной удобной особенностью ZUI.
Видно, что внутри содержимого hta файла находится закодированный powershell код, который, судя по отчету Virustotal и алертам Suricata, является загрузчиком первой ступени трояна Formbook (файл win.exe).
Построение таймлайна атаки
Для пущей наглядности мы можем отфильтровать вывод по HTTP трафику запросом http | method!=null | fuse, из которого подтверждаются сделанные нами выводы относительно цепочки компрометации жертвы: запуск эксплойта CVE-2017-11882 –> загрузка вредоносного hta пейлода с powershell кодом —> загрузка первой ступени Formbook трояна в виде exe файла.
Далее мы наблюдаем многочисленные запросы к C&C доменам с отличительным паттерном /qm18 в URL запроса.
Приведенный выше перечень HTTP позволяет выстроить нам таймлайн атаки:
1. 2023-07-11T16:24:54 Запуск rtf файла с эксплойтом CVE-2017-11882
2. 2023-07-11T16:24:56 Загрузка вредоносного hta пейлода IE_NET.hta с powershell кодом
3. 2023-07-11T16:31:53 Загрузка и запуск первой ступени трояна Formbook в виде exe файла win.exe
4. 2023-07-11T16:32:09 Загрузка и запуск тела трояна Formbook с вредоносного домена kyliansuperm92139124.shop
5. 2023-07-11T16:35:19 - 2023-07-11T16:58:58 Многочисленные C&C отстуки к вредоносным доменам Formbook
Аналитика Suricata
Продемонстрируем также, какую огромную пользу приносит интеграция данного инструмента с IDS Suricata. Выполнив запрос с отображением списка алертов Suricata с группировкой по количеству, мы снова находим подтверждение ранее сделанных нами выводов относительно картины заражения трояном Formbook, что наглядно видно из перечня алертов IDS.
Заключение
За счет высокой производительности, достигаемой вследствие работы с метаданными сетевых сессий вместо отдельно взятых пакетов, ZUI продемонстрировал себя как эффективный инструмент сетевой форензики, который способен покрыть многие слепые зоны Wireshark. В первую очередь это достигается интеграцией с Zeek, обладающим мощнейшим DPI, а также связкой с аналитическими сервисами (Virustotal, whois). Приятным бонусом идет интеграция с Suricata, что позволяет обнаруживать атаки и аномалии из единого интерфейса.