Категория > Новости > Уроки форензики. Расследуем заражение машины с Windows шпионским трояном - «Новости»

Уроки форензики. Расследуем заражение машины с Windows шпионским трояном - «Новости»


1-04-2023, 14:34. Автор: Розалия
TeamSpy с ресур­са CyberDefenders.

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



info


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



Читайте также - Для того, чтобы поднять настроение и зарядиться положительной энергией на целый день рекомендуется смотреть красивые картинки, поделки, про интерьер и дачный дизайн в фотографиях, про животных, насекомых, рыб, разнообразие флоры, фауны и многое другое - Локоны с фатой на свадьбу посмотреть.

Заг­рузим ар­хив с арте­фак­тами и прис­тупим к их иссле­дова­нию.


 

Используемые утилиты




  1. Volatility Framework 2.6.1 — инс­тру­мент, реали­зован­ный на Python 2. Пред­назна­чен для извле­чения арте­фак­тов из образцов энер­гозави­симой памяти.


  2. Bulk extractor — инс­тру­мент для извле­чения струк­туриро­ван­ной информа­ции, к при­меру адре­сов элек­трон­ной поч­ты, URL, доменов.


  3. YARA Editor — прог­рамма для тес­тирова­ния и соз­дания пра­вил YARA.


  4. OST Extractor — инс­тру­мент для вос­ста­нов­ления OST-кон­тей­неров в EML.


  5. Scdbg — прог­рамма для ана­лиза shell-кода.


 

Используемые для извлечения данных плагины Volatility 2




  1. Imageinfo — пла­гин для опре­деле­ния опе­раци­онной сис­темы, пакета обновле­ний и аппа­рат­ной архи­тек­туры иссле­дуемо­го обра­за.


  2. Pstree — прос­мотр спис­ка про­цес­сов в виде дерева.


  3. Handles — прос­мотр откры­тых дес­крип­торов к фай­лам, раз­делам реес­тра, мьютек­сам, име­нован­ным каналам, событи­ям в про­цес­сах. Так­же мож­но отоб­разить дес­крип­торы для кон­крет­ного про­цес­са, задав филь­тр по типу объ­екта.


  4. Consoles — пла­гин для поис­ка команд, которые зло­умыш­ленни­ки вве­ли через cmd.exe. Основное пре­иму­щес­тво это­го пла­гина в том, что он не толь­ко печата­ет коман­ды, вве­ден­ные зло­умыш­ленни­ками, но и собира­ет весь экранный буфер (ввод и вывод).


  5. Memdump — извле­чение всех резиден­тных стра­ниц памяти в про­цес­се.


  6. Filescan — пла­гин для поис­ка объ­ектов FILE_OBJECT в памяти с помощью ска­ниро­вания тегов пула. Этот пла­гин най­дет все откры­тые фай­лы.


  7. Dumpfiles — извле­чение кеширо­ван­ных фай­лов из обра­за памяти.


  8. Netscan — поиск сетевых арте­фак­тов в 32- и 64-раз­рядных дам­пах памяти. Этот пла­гин находит конеч­ные точ­ки TCP и UDP, а так­же ищет локаль­ные и уда­лен­ные IP-адре­са.


  9. Printkey — поиск зна­чений в ука­зан­ном раз­деле реес­тра Windows.


  10. Userassist — получе­ние информа­ции из клю­ча реес­тра UserAssist.


  11. Mftparser — ска­ниру­ет записи глав­ной таб­лицы фай­лов (MFT) в памяти и выводит информа­цию о вре­мен­ных мет­ках фай­лов.


  12. Autoruns — под­клю­чаемый пла­гин для поис­ка точек сох­ранения исполня­емых фай­лов в сис­теме. Для под­клю­чения пла­гина нуж­но добавить его в каталог plugins инс­тру­мен­та Volatility.


  13. Malfind — пла­гин для поис­ка скры­того или внед­ренно­го в память про­цес­сов кода.


  14. Editbox — пла­гин для извле­чения тек­ста из эле­мен­тов управле­ния Windows Edit.


 

Исследование хоста ecorpoffice


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


python2.7 vol.py -f "ecorpoffice/win7ecorpoffice2010-36b02ed3.vmem" imgeinfo


Вер­сия ОС — Win7SP1x64. Мы будем ее ука­зывать при поис­ке дру­гих арте­фак­тов в качес­тве про­филя в Volatility.


По­лучим имя компь­юте­ра, для это­го про­верим сле­дующий ключ реес­тра:


--profile=Win7SP1x64 printkey -"ControlSet001ControlComputerNameComputerName"
Уроки форензики. Расследуем заражение машины с Windows шпионским трояном - «Новости»
Имя компь­юте­ра иссле­дуемо­го обра­за

Имя компь­юте­ра: WIN-191HVE3KTLO.


Вы­ясним сетевой адрес. Для это­го про­верим ключ, в котором содер­жатся иден­тифика­торы сетевых адап­теров. Здесь же мож­но най­ти и информа­цию о сети.


--profile=Win7SP1x86_23418 printkey
-"ControlSet002ServicesTcpipParametersInterfaces{360E0CDC-9C78-4D3B-A0Af-69CC45DE6D70}"
Се­тевая информа­ция о хос­те

IP-адрес иссле­дуемой машины — 10.1.1.122.


Про­ана­лизи­руем запущен­ные про­цес­сы в сис­теме, их спи­сок выг­рузим в файл pstree.txt.


--profile=Win7SP1x64 pstree ecorpoffice/pstree.txt
Спи­сок про­цес­сов

Мы обна­ружи­ли про­цесс OUTLOOK.EXE, иден­тифика­тор про­цес­са — 2692. По сце­нарию нам извес­тно, что инци­дент про­изо­шел пос­ле того, как поль­зователь запус­тил вло­жение в пись­ме. Вос­ста­новим все сооб­щения поль­зовате­ля и най­дем вре­донос­ное. Для это­го ищем в про­цес­се все объ­екты FILE.


--profile=Win7SP1x64 handles -2692 -FILE ecorpoffice/FILE_OUTLOOK

В резуль­тате ана­лиза объ­ектов FILE обна­руже­но имя поч­тового ящи­ка поль­зовате­ля:


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


--profile=Win7SP1x64 filescan ecorpoffice/filescan`
Ад­рес поч­тового ящи­ка поль­зовате­ля в сис­теме

Выг­ружа­ем най­ден­ный файл, даем ему рас­ширение .ost и заг­ружа­ем в ути­литу OST Extractor.


--profile=Win7SP1x64 dumpfiles -0x000000007d4d9450 --ecorpoffice/

Не забыва­ем про аргу­мент -u, который поз­воля­ет выг­рузить боль­шее количес­тво дан­ных.


По­луча­ем файл file.None.0xfffffa80042dcf10.dat. Тоже меня­ем ему раз­решение на .ost и заг­ружа­ем в OST Extractor.


Кон­верти­рова­ние поч­тового кон­тей­нера

Пос­ле кон­верти­рова­ния OST в ука­зан­ной пап­ке появит­ся сооб­щение поль­зовате­ля в фор­мате EML. Перехо­дим в пап­ку сооб­щений и смот­рим его.


За­голо­вок пись­ма
Со­дер­жимое сооб­щения

Пись­мо отправ­лено с поч­тового ящи­ка karenmiles@t-online.de. В атта­че — документ bank_statement_088452.doc. IP-адрес поч­тового сер­вера — 31.6.35.122. Пись­мо пос­тупило 4 октября 2016 года в 12:02:04 (UTC).


Что­бы извлечь вло­жение, мож­но вос­поль­зовать­ся блок­нотом, для это­го декоди­руем аттач из Base64 и сох­раня­ем файл с рас­ширени­ем .doc. Либо можешь открыть EML с помощью поч­тового кли­ента (того же Outlook).



info


Ис­сле­довать вре­донос­ные фай­лы необ­ходимо в изо­лиро­ван­ной сре­де. Как соз­дать лабора­торию для ана­лиза вре­доно­сов, под­робно рас­ска­зано в статье «Код под над­зором. Соз­даем вир­туаль­ную лабора­торию для ана­лиза мал­вари».



Итак, берем файл bank_statement_088452.doc и начина­ем изу­чать. Его MD5:


c2dbf24a0dc7276a71dd0824647535c9

Про­верим наличие мак­роса в получен­ном вло­жении с помощью ути­литы olevba.


olevba bank_statement_088452.doc
Ре­зуль­тат работы ути­литы olevba

Мак­рос силь­но обфусци­рован, и по‑быс­тро­му его про­ана­лизи­ровать не получит­ся, поэто­му откро­ем документ в Microsoft Word и нач­нем отла­живать скрипт на Visual Basic.


Со­дер­жимое вре­донос­ного докумен­та

Пе­рей­дем в «Вид → Мак­росы» и наж­мем кноп­ку «Отла­дить». Находим сле­дующий учас­ток кода.


Со­дер­жимое мак­роса

В фун­кции xvkBjM выпол­няет­ся запуск содер­жимого в перемен­ной UsoJar. Най­дем мес­то в коде, где фор­миру­ется эта перемен­ная, пос­тавим точ­ку оста­нова и запус­тим скрипт.


От­ладка скрип­та

Пос­ле выпол­нения это­го учас­тка кода в перемен­ной UsoJar появит­ся коман­да на PowerShell, которая декоди­рует дан­ные и исполня­ет их.


Пре­обра­зуем дан­ные из Base64 и пос­мотрим содер­жимое.


Пре­обра­зован­ные дан­ные

Как видим, скрипт на PowerShell находит и запус­кает исполня­емые фай­лы вот из этой пап­ки:


Пе­ред тем как запус­кать вре­донос­ный документ, нач­нем записы­вать сетевой тра­фик, для это­го запус­тим в вир­туаль­ной машине Wireshark.


Се­тевая активность вре­донос­ного докумен­та

Как видим, до запус­ка скрип­та на PowerShell про­исхо­дит заг­рузка полез­ной наг­рузки с IP-адре­са 54.174.131.235.


За­голо­вок сетево­го пакета

Вре­донос­ный скрипт на VBA заг­ружа­ет полез­ную наг­рузку со сле­дующе­го адре­са:


http://54.174.131.235/files/tv_x64.exe

Наг­рузка будет сох­ранена в файл


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



Перейти обратно к новости