Се­год­ня я рас­ска­жу, как извле­кать дан­ные из таб­лицы MFT, получать информа­цию из фай­лов Prefetch и монито­ра исполь­зования сис­темных ресур­сов (srum), а еще — ана­лизи­ровать фай­лы логов опе­раци­онной сис­темы. При иссле­дова­нии обра­за опе­ратив­ной памяти мы поз­накомим­ся с внут­ренним устрой­ством памяти Windows и най­дем арте­фак­ты, сви­детель­ству­ющие о ком­про­мета­ции сис­темы.

Рас­сле­дова­ние киберин­циден­тов — это очень увле­катель­ное занятие, тре­бующее опре­делен­ных зна­ний и навыков. Отто­чить их помога­ют спе­циаль­ные лабора­тор­ные работы, ими­тиру­ющие реаль­ные слу­чаи успешных атак зло­умыш­ленни­ков и взло­ма, с которы­ми встре­чают­ся на прак­тике спе­циалис­ты по информа­цион­ной безопас­ности. Сегод­ня мы раз­берем лабора­тор­ную работу Pwned-DC с ресур­са CyberDefenders.

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

Заг­рузим файл об­разов и нач­нем их иссле­довать.

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

 

Инструменты

  1. Ути­литы Eric Zimmerman: Registry Explorer, MFTECmd.
  2. Ути­литы Nirsoft: fulleventlogview, winprefetchview, browsinghistoryview, TurnOnTimesView.
  3. R-Studio — ути­лита для вос­ста­нов­ления дан­ных с дис­ка.
  4. Volatility Framework 2.6.1 — инс­тру­мент, реали­зован­ный на Python вер­сии 2 и пред­назна­чен­ный для извле­чения арте­фак­тов из обра­зов энер­гозави­симой памяти.
  5. PST-Extractor — инс­тру­мент для вос­ста­нов­ления PST-кон­тей­неров в EML.
  6. Scdbg — прог­рамма для ана­лиза shell-кода.
  7. Srum-dump — ути­лита для извле­чения информа­ции из базы дан­ных управле­ния исполь­зовани­ем сис­темных ресур­сов.
  8. FTK Imager — инс­тру­мент для ана­лиза и получе­ния обра­зов дис­ка.
  9. WinDbg x64 — ути­литы для ана­лиза ава­рий­ных дам­пов.
  10. Olevba — инс­тру­мент для извле­чения и ана­лиза исходно­го кода мак­росов VBA из докумен­тов MS Office (OLE и OpenXML).
 

Плагины Volatility2 для извлечения данных

  1. Imageinfo — пла­гин для опре­деле­ния опе­раци­онной сис­темы, пакета обновле­ний и аппа­рат­ной архи­тек­туры иссле­дуемо­го обра­за.
  2. Pstree поз­воля­ет прос­матри­вать спи­сок про­цес­сов в виде дерева.
  3. Memdump извле­кает все резиден­тные стра­ницы памяти в про­цес­се.
  4. Filescan — пла­гин для поис­ка объ­ектов FILE_OBJECT в памяти с помощью ска­ниро­вания тегов пула. Этот пла­гин най­дет все откры­тые фай­лы.
  5. Dumpfiles извле­кает кеширо­ван­ные фай­лы из обра­за памяти.
  6. Netscan ищет сетевые арте­фак­ты в 32- и 64-раз­рядных дам­пах памяти. Этот пла­гин находит конеч­ные точ­ки TCP, UDP, а так­же локаль­ные и уда­лен­ные IP-адре­са.
  7. Printkey ищет зна­чения в ука­зан­ном раз­деле реес­тра Windows.
  8. Userassist поз­воля­ет получить информа­цию из клю­ча реес­тра UserAssist.
  9. Mftparser — этот пла­гин ска­ниру­ет записи глав­ной таб­лицы фай­лов (MFT) в памяти и выводит информа­цию о вре­мен­ных мет­ках фай­лов.
  10. Autoruns — под­клю­чаемый пла­гин для поис­ка точек сох­ранения исполня­емых фай­лов в сис­теме. Для его под­клю­чения необ­ходимо добавить пла­гин в каталог plugins инс­тру­мен­та Volatility.
  11. Volshell — пла­гин для инте­рак­тивно­го изу­чения обра­за памяти, исполь­зует IPython.
  12. Procdump — пла­гин для получе­ния дам­па исполня­емо­го фай­ла.
  13. Hivelist — пла­гин для поис­ка вир­туаль­ных адре­сов кус­тов реес­тра.
 

Объекты домена

В архи­ве задания содер­жится файл 20211122102526.zip, который хра­нит информа­цию об объ­ектах домена. Заг­рузим его в BloodHound вер­сии 4.0.1.

Пе­рей­дем на вклад­ку Analysyis → Find Shotest Paths to Domain Admins и про­ана­лизи­руем корот­кий путь до ком­про­мета­ции кон­трол­лера домена.

Короткий путь до администратора домена
Ко­рот­кий путь до адми­нис­тра­тора домена

За­дача зло­умыш­ленни­ка в сети орга­низа­ции — получить дос­туп к учет­ной записи поль­зовате­ля 0xMohammed, который вхо­дит в груп­пу Domain Admins.

 

Образ диска AD.E01

При­мон­тиру­ем файл побито­вой копии дис­ка AD.E01 и извле­чем из него необ­ходимые арте­фак­ты. Для это­го откро­ем ути­литу FTK Imager, перей­дем на вклад­ку File → Image Mounting. В поле Image File выберем образ AD.E01, а затем вве­дем ука­зан­ные ниже нас­трой­ки.

Монтирование образа диска
Мон­тирова­ние обра­за дис­ка

На­жима­ем Mount — иссле­дуемый образ дол­жен при­мон­тировать­ся к фай­ловой сис­теме.

По­лучим информа­цию из кус­тов реес­тра SYSTEM и SOFTWARE (C:\Windows\System32\config), заг­рузим их в ути­литу Registry Explorer. Затем перехо­дим в раз­дел File → Load hive и выбира­ем иссле­дуемый файл.

Что­бы получить информа­цию об опе­раци­онной сис­теме, перей­дем в ключ реес­тра SOFTWARE\Microsoft\Windows NT\CurrentVersion.

Информация об операционной системе
Ин­форма­ция об опе­раци­онной сис­теме

Вер­сия опе­раци­онной сис­темы — Windows 10 Enterprise 2016 LTSB. Теперь прос­мотрим ключ реес­тра SYSTEM\ControlSet01\Control\ComputerName\ComputerName и получим информа­цию об име­ни компь­юте­ра.

Имя компьютера
Имя компь­юте­ра

Имя компь­юте­ра: PC01.

Те­перь откро­ем ключ реес­тра SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\{ea202436-8a31-4cb6-9b59-5be0c2bc1692} и получим информа­цию о сетевых нас­трой­ках.

Информация о сетевых настройках
Ин­форма­ция о сетевых нас­трой­ках

IP-адрес иссле­дуемо­го хос­та — 192.168.112.142.

По­лучим информа­цию о при­мон­тирован­ных дис­ках. Для это­го перей­дем в вет­ку реес­тра SYSTEM\MountedDevices: нас инте­ресу­ет GUID дис­ка C.

GUID диска С
GUID дис­ка С

Из зна­чения на рисун­ке выше сле­дует, что GUID дис­ка C — fad905b3-fb35-4dbd-ab31-a44f022809d2, такую же информа­цию мож­но получить из логов сис­темы, прос­мотрев событие eventid 142 жур­нала Microsoft-Windows-Ntfs/Operational.

Те­перь най­дем пор­ты служб на PC01, для это­го перей­дем к фай­лу Windows/System32/drivers/etc/services.

Содержимое файла services
Со­дер­жимое фай­ла services

Здесь мы можем уви­деть, что служ­ба Remote Man Server работа­ет на пор­те 9535. Про­ана­лизи­руем файл System.evtx и най­дем отметку вре­мени, ког­да про­изош­ло незап­ланиро­ван­ное отклю­чение, а так­же узна­ем, сколь­ко вре­мени про­рабо­тал компь­ютер. Для это­го мож­но вос­поль­зовать­ся ути­литой TurnOnTimesView, либо при­дет­ся ана­лизи­ровать лог вруч­ную.

Результат работы утилиты TurnOnTimesView
Ре­зуль­тат работы ути­литы TurnOnTimesView

21.11.2021 питание машины незап­ланиро­ван­но отклю­чилось, до это­го компь­ютер про­рабо­тал 11 часов и 31 минуту (об этом говорит зна­чение 11:31).

Нач­нем ана­лизи­ровать логи. Для это­го откро­ем ути­литу fulleventlogview, наж­мем Choose Data Store → Load events from external folder with log files и ука­жем путь к пап­ке с логами Windows\System32\winevt\Logs.

От­филь­тру­ем логи по событию 4624 и пос­мотрим, кто авто­ризо­вывал­ся в сис­теме пос­ледний раз перед инци­ден­том. Для это­го перехо­дим на вклад­ку Options → Advanced Options, выбира­ем Show only the specified events IDs и вво­дим наше событие.

23.11.2021 в 23:36:05 UTC поль­зователь 0xMohammed авто­ризо­вал­ся в сис­теме — это был пос­ледний зарегис­три­рован­ный логин перед взло­мом.

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

Про­ана­лизи­руем исто­рию бра­узе­ра Firefox поль­зовате­ля labib. Для это­го вос­поль­зуем­ся ути­литой BrowsingHistoryView: перей­дем на вклад­ку Options → Advanced Options и ука­жем путь до поль­зователь­ско­го катало­га.

Получение истории из браузера Firefox
По­луче­ние исто­рии из бра­узе­ра Firefox
История Firefox
Ис­тория Firefox

Поль­зователь labib 22.11.2021 в 19:45:52 UTC посетил сайт bluedemy.cyberdefenders.org.

Про­ана­лизи­руем базу дан­ных управле­ния исполь­зовани­ем сис­темных ресур­сов (srum), которая при­сутс­тву­ет в сов­ремен­ных сис­темах Windows и собира­ет ста­тис­тику выпол­нения дво­ичных фай­лов. Эта база хра­нит­ся в фай­ле C:\Windows\System32\sru\\RUDB.dat. С исполь­зовани­ем ути­литы srum-dump про­ана­лизи­руем srum и най­дем, сколь­ко бай­тов было при­нято бра­узе­ром Firefox.

Работа утилиты srum-dump
Ра­бота ути­литы srum-dump

Не забыва­ем так­же ука­зать файл SRUM_TEMPLATE.xlsx, который заг­ружа­ем из репози­тория ути­литы.

От­кры­ваем выход­ной файл SRUM_DUMP_OUTPUT.xlsx, перехо­дим на лист Network Data Usage, находим firefox.exe и ана­лизи­руем таб­лицу. Количес­тво получен­ных дан­ных — 20418287.

Те­перь пос­мотрим, какие пос­ледние фай­лы запус­кал поль­зователь labib. Перехо­дим по пути С/Users/labib/AppData/Roaming/Microsoft/Windows/Recent/ и в этом катало­ге находим файл 20211119103954_BloodHound.lnk, соз­данный 19.11.2021.

В ссыл­ке на файл ука­зан путь к архи­ву C:\Users\labib\Desktop\20211119103954_BloodHound.zip, содер­жащий информа­цию об объ­ектах домена. Эта информа­ция собира­лась для ана­лиза в BloodHound.

Про­ана­лизи­руем MFT с помощью ути­литы MFTECmd. Из кор­ня фай­ловой сис­темы извле­чем файл $MFT, это мож­но сде­лать с помощью R-Studio или FTKImager.

В катало­ге Users/labib/Desktop соз­дан файл Business.xlsx с мет­кой вре­мени 22.11.2021 22:40:06, этот файл содер­жит информа­цию о поль­зовате­лях домена и их деятель­нос­ти в ком­пании. Най­дем ука­зан­ный файл в таб­лице MFT:

MFTECmd.exe -f "C:\Users\DonNod\Downloads\AD-101\AD-E01\MFT" --csv "AD-101\AD-E01"

В фай­ле вывода ути­литы MFTECmd обна­ружи­ваем Business.xlsx и его поле LogfileSequenceNumber, которое име­ет зна­чение 1422361276.

Поп­робу­ем получить пароль поль­зовате­ля 0xMohammed, который вхо­дит в груп­пу адми­нис­тра­торов домена. Выг­рузим вет­ки реес­тра SAM, SYSTEM, SECURITY и вытащим из них хеши поль­зовате­лей. Для это­го вос­поль­зуем­ся скрип­том secretdum.py из пакета Impacket.

Выгруженные аутентификационные данные из веток реестра
Выг­ружен­ные аутен­тифика­цион­ные дан­ные из веток реес­тра

На хос­те PC01 авто­ризо­вывал­ся домен­ный поль­зователь 0xMohammed, его дан­ные сох­ранены в кеше. С помощью ути­литы hashcat сбру­тим mccache2 хеша поль­зовате­ля 0xMohammed:

$DCC2$10240#0xMohammed#e7b8d19008520207ca8ef94680db0f28

В резуль­тате этой опе­рации выяс­няет­ся, что его пароль — 0xmohammed!.

Те­перь попыта­емся узнать, как зло­умыш­ленник ском­про­мети­ровал хост PC01. Ана­лизи­руя фай­лы, в катало­ге C:\Users\labib\Documents\Outlook Files\Outlook.pst поль­зовате­ля labib мы обна­ружи­ваем поч­товый кон­тей­нер Outlook. Пре­обра­зуем кон­тей­нер в eml-сооб­щения, для это­го откро­ем ути­литу PST-Xtracrot, заг­рузим в нее кон­тей­нер и наж­мем Convert. Пос­ле это­го мож­но про­ана­лизи­ровать все сооб­щения анти­вирус­ными средс­тва­ми, что­бы поис­кать вре­донос­ные вло­жения.

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

Сре­ди сооб­щений поль­зовате­ля мы обна­ружи­ваем вре­донос­ное вло­жение. Сооб­щение отправ­лено 12/08/2021 04:47:49 AM UTC с поч­тового сер­вера 159.65.58.195. В качес­тве вло­жения исполь­зует­ся файл Unpaid Invoice.xls. Выяс­ним, ког­да поль­зователь открыл этот файл.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    2 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии