Анализ сетевого трафика

Анализ сетевого трафика

Пос­ле заголов­ка пись­ма идет его содер­жимое. Зло­умыш­ленник отпра­вил файл с наз­вани­ем web server.docx. Поль­зователь joshua@cyberdefenders.org получил это сооб­щение, заг­рузил вло­жение и открыл его.

Еще по теме: Перехват трафика в локальной сети по проводу

Анализ сетевого трафика

Выг­рузим поч­товое вло­жение, для это­го ско­пиру­ем закоди­рован­ные дан­ные, декоди­руем их из Base64 и сох­раним в файл web server.docx.

По­лучим MD5-хеш иссле­дуемо­го фай­ла: 55e7660d9b21ba07fc34630d49445030 — и про­верим его на VirusTotal. Сог­ласно отче­ту сер­виса, документ содер­жит экс­пло­ит CVE-2021-40444. Эта уяз­вимость поз­воля­ет выпол­нять вре­донос­ный код, исполь­зуя MSHTML (бра­узер­ный дви­жок Internet Explorer). Суть экс­плу­ата­ции зак­люча­ется в том, что в документ MS Office встра­ивает­ся ссыл­ка на вре­донос­ный скрипт, который запус­кает­ся с исполь­зовани­ем MSHTML. Это, в свою оче­редь, при­водит к заг­рузке CAB-фай­ла, в котором содер­жится DLL-файл с рас­ширени­ем .inf.

Це­поч­ка выпол­нения экс­пло­ита выг­лядит сле­дующим обра­зом:

  1. Поль­зователь откры­вает вре­донос­ный документ .docx.
  2. Объ­ект external relationship, хра­нящий­ся в document.xml.rels, ука­зыва­ет на уда­лен­ный вре­донос­ный HTML-файл.
  3. Пред­варитель­ный прос­мотр Internet Explorer откры­вает HTML-ссыл­ку.
  4. JScript в HTML содер­жит объ­ект, ука­зыва­ющий на CAB-файл, и iframe, ука­зыва­ющий на INF-файл с пре­фик­сом дирек­тивы .cpl:.
  5. Пос­ле откры­тия CAB-фай­ла INF-файл переме­щает­ся в каталог, ука­зан­ный зло­умыш­ленни­ком.
  6. Из‑за уяз­вимос­ти обхо­да пути (ZipSlip) в CAB мож­но сох­ранить INF по пути %TEMP%.
  7. За­тем INF-файл откры­вает­ся с помощью дирек­тивы .cpl:, что вызыва­ет боковую заг­рузку INF-фай­ла через rundll32 (если это DLL).

Ис­сле­дуем вре­донос­ный документ, най­дем вре­донос­ную ссыл­ку на HTML-файл.

С помощью ути­литы oleid получим информа­цию о докумен­те MS Office.

Вы­вод ути­литы oleid
Вы­вод ути­литы oleid

Оп­ределим External Relationships в докумен­те, добавим к име­ни фай­ла рас­ширение .zip и най­дем файл word -> _rels -> document.xml.rels.

Со­дер­жимое фай­ла document.xml.rels
Со­дер­жимое фай­ла document.xml.rels

Иден­тифика­тор внеш­него объ­екта — rId6, ссыл­ка на HTML-файл выг­лядит сле­дующим обра­зом:

Те­перь най­дем под­робную информа­цию о внеш­нем отно­шении с иден­тифика­тором rId6, для это­го перей­дем к фай­лу word -> document.xml.

Ин­форма­ция о внеш­нем отно­шении с иден­тифика­тором rId6
Ин­форма­ция о внеш­нем отно­шении с иден­тифика­тором rId6

LinkType OLE-объ­екта — EnhancedMetaFile, это рас­ширен­ный фор­мат метафай­ла.

Про­дол­жим ана­лизи­ровать сетевой тра­фик. Теперь най­дем в дам­пе учас­ток, в котором заг­ружа­ется файл word.html.

На­чиная с пакета 2946 (TCP-поток 1211), уста­нав­лива­ется соеди­нение с внеш­ней ссыл­кой http://192.168.112.128/word.html, в поле User-Agent HTTP-заголов­ка ука­зана прог­рамма, с помощью которой осу­щест­влен дос­туп по ссыл­ке. На ата­куемом компь­юте­ре уста­нов­лен Microsoft Office Word 2013 вер­сии 15.0.4517.

Ме­тод OPTIONS от при­ложе­ния MS Office Word
Ме­тод OPTIONS от при­ложе­ния MS Office Word

Дви­гаем­ся даль­ше по TCP-потокам. В потоке 1213 обна­ружен GET-зап­рос к вре­донос­ному сер­веру, в отве­те которо­го воз­вра­щает­ся HTML-документ с кодом JavaScript.

Заг­ружа­емый JavaScript-код
Заг­ружа­емый JavaScript-код

Сер­вер вер­нул HTML-документ, который содер­жит вре­донос­ный обфусци­рован­ный JavaScript.

Со­дер­жимое word.html
Со­дер­жимое word.html

Код силь­но обфусци­рован, но в нем все же мож­но най­ти ссыл­ку для заг­рузки фай­ла .cab. В перемен­ной a0_0x12f содер­жится ссыл­ка http://192.168.112.128/word.cab. Далее вре­донос­ный код заг­ружа­ет CAB-архив, извле­кает из него файл msword.infl, исполь­зуя уяз­вимость ZipSlip (ата­ку обхо­да пути), и сох­раня­ет файл в такой каталог:

За­тем запус­кает этот файл.

Выг­рузим этот документ из сетево­го тра­фика.

Со­дер­жимое CAB-архи­ва
Со­дер­жимое CAB-архи­ва

Сох­раним файл как word.cab и про­ана­лизи­руем его. Для начала извле­чем DLL-наг­рузку из CAB-фай­ла.

MD5-хеш DLL-фай­ла — 2d7972ec8f063348991490c3d15ce989, по информа­ции VirusTotal этот файл явля­ется наг­рузкой Meterpreter и соз­дает­ся в Metasploit.

Заг­рузим DLL-файл в IDA Pro, деком­пилиру­ем код и про­ана­лизи­руем его.

Псев­докод DLL-фай­ла
Псев­докод DLL-фай­ла

В перемен­ной unk_10003000 содер­жится шелл‑код, который записы­вает­ся в память про­цес­са с помощью WinAPI-фун­кции WriteProcessMemory. В фун­кции CreateProcessA соз­дает­ся про­цесс rundll32.exe (содер­жимое перемен­ной CommandLine).

Выг­рузим шелл‑код, сох­раним в файл shell и с помощью ути­литы scdbg пос­мотрим его содер­жимое.

Со­дер­жимое шелл‑кода
Со­дер­жимое шелл‑кода

Ад­рес управля­юще­го сер­вера — 192.168.112.128, порт 443. Заг­ружа­емая биб­лиоте­ка для сетево­го вза­имо­дей­ствия — wininet. Най­дем учас­ток вза­имо­дей­ствия с управля­ющим сер­вером в сетевом тра­фике.

Вза­имо­дей­ствие с управля­ющим сер­вером
Вза­имо­дей­ствие с управля­ющим сер­вером

Мы опре­дели­ли сетевой адрес ата­кующе­го, выяс­нили, что пос­ле ска­ниро­вания сетево­го ресур­са 192.168.112.139 зло­умыш­ленник отпра­вил вре­донос­ное пись­мо поль­зовате­лю joshua@cyberdefenders.org с вре­донос­ным вло­жени­ем web server.docx. Поль­зователь открыл этот документ, пос­ле чего на его компь­юте­ре уста­нови­лась обратная обо­лоч­ка Meterpreter ути­литы Metasploit.

Те­перь про­ана­лизи­руем сетевой тра­фик и отве­тим на воп­росы задания. Отфиль­тру­ем пакеты по про­токо­лу DNS. В поле филь­тра ука­жем этот про­токол.

Па­кеты DNS
Па­кеты DNS

В отфиль­тро­ван­ном тра­фике мож­но уви­деть DNS-зап­росы к компь­юте­ру 192.168.112.2 — DNS-сер­веру орга­низа­ции. В пакете 5648 выпол­няет­ся зап­рос к домен­ному име­ни omextemplates.content.office.net.

Най­дем пакет 4085, в котором уста­нав­лива­ется TLS-соеди­нение с узлом v10.vortex-win.data.microsoft.com.

Со­дер­жимое пакета 4085
Со­дер­жимое пакета 4085

Нам известен сетевой адрес ата­куемой машины 192.168.112.139 и MAC-адрес сетевой кар­ты 00:0c:29:61:f9:84. Перей­дем на https://macaddress.io/, что­бы узнать про­изво­дите­ля это­го устрой­ства.

Про­изво­дитель сетевой кар­ты
Про­изво­дитель сетевой кар­ты

Ад­рес ком­пании про­изво­дите­ля — 3401 Hillview Avenue Palo Alto CA 94304 US.

Най­дем пуб­личный ключ в сеан­се TLS, для это­го наж­мем Ctrl + F в Wireshark и наберем пред­став­ленный в задании иден­тифика­тор сес­сии.

По­иск пуб­лично­го клю­ча TLS-сес­сии
По­иск пуб­лично­го клю­ча TLS-сес­сии

Пуб­личный ключ TLS-сес­сии:

Мы отве­тили на воп­росы задания, а так­же научи­лись филь­тро­вать и ана­лизи­ровать сетевой дамп.

Про­ана­лизи­руем сетевой тра­фик с помощью сис­темы обна­руже­ния втор­жений Suricata, что­бы детек­тировать вре­донос­ную активность и обна­ружить компь­ютер­ную ата­ку. Вос­поль­зуем­ся ути­литой Brim, в которой уста­нов­лен дви­жок Suricata.

В архи­ве задания при­сутс­тву­ют пра­вила suricata.rules. Заг­рузим их в сле­дующий каталог:

И запус­тим Brim. В поле филь­тра вве­дем сле­дующие дан­ные для поис­ка пра­вил сра­баты­вания:

Спи­сок Suricata alert
Спи­сок Suricata alert

Про­ана­лизи­ровав дан­ный пакет, мож­но уви­деть, что пра­вило «экс­плу­ата­ция уяз­вимос­ти CVE-2020-11899» опре­деле­но оши­боч­но.

Выводы

Мы про­вели рас­сле­дова­ние инци­ден­та и вос­ста­нови­ли кар­тину ата­ки. Зло­умыш­ленник с сетево­го адре­са 192.168.112.128 в 12:31 1 октября 2021 года прос­каниро­вал узел 192.168.112.139, на котором откры­ты семь пор­тов. Затем он отпра­вил сооб­щение поль­зовате­лю joshua@cyberdefenders.org с вло­жени­ем web server.docx, в котором содер­жится экс­пло­ит CVE-2021-40444. Поль­зователь открыл этот документ, и на его компь­юте­ре уста­нови­лась Meterpreter-наг­рузка с управля­ющим сер­вером 192.168.112.128, порт 443.

ПОЛЕЗНЫЕ ССЫЛКИ:

Дима (Kozhuh)

Эксперт в кибербезопасности. Работал в ведущих компаниях занимающихся защитой и аналитикой компьютерных угроз.

Добавить комментарий