![]() |
https://forum.antichat.xyz/attachmen...4ba71e5b94.png
Когда SOC-аналитику прилетает алерт о компрометации хоста, начинается гонка со временем. Атакующий мог закрепиться через реестр, запустить разведку, прыгнуть латерально на соседний хост - и всё это оставило следы в десятках системных артефактов. Загвоздка в том, что ни один артефакт сам по себе полной картины не даёт. Event Log покажет факт логона, но промолчит про запущенный бинарник. Prefetch подтвердит запуск, но не скажет, откуда файл вообще взялся на диске. MFT хранит временные метки, но без контекста из реестра они - просто цифры. Здесь я разберу пять категорий артефактов Windows - Event Logs, MFT, реестр, Prefetch и Amcache - и покажу, как их анализировать на практике: конкретные команды, инструменты Эрика Циммермана, интерпретация вывода. Не абстрактные списки «что бывает», а пошаговый процесс расследования инцидента с корреляцией данных между артефактами и построением единого таймлайна. Зачем нужна корреляция артефактов Windows Типичный сценарий: на рабочей станции сработал EDR на подозрительный процесс. Аналитик SOC уровня L1 зафиксировал алерт, но процесс уже завершился. Что произошло? Как атакующий попал на хост? Есть ли persistence? Куда он двинулся дальше? Каждый из пяти основных артефактов Windows forensics отвечает на свою часть вопроса: АртефактЧто показываетГде лежитEvent LogsЛогоны, создание процессов, установка служб Код:
C:\Windows\System32\winevt\Logs\Код:
C:\Windows\System32\config\Код:
NTUSER.DATКод:
C:\Windows\Prefetch\Код:
C:\Windows\appcompat\Programs\Amcache.hveСила DFIR-расследования - в перекрёстной валидации. Prefetch показывает запуск Код:
mimikatz.exeКод:
mimikatz.exeАнализ Event Logs Windows: первый рубеж расследования Журналы событий Windows - первое, куда лезет DFIR-аналитик. Файлы Код:
.evtxКод:
C:\Windows\System32\winevt\Logs\Ключевые Event ID для DFIR-аналитика Не все журналы одинаково полезны. Вот набор Event ID, которые я проверяю первыми при каждом расследовании: Security.evtx - аутентификация и доступ: Event IDОписаниеНа что смотреть4624Успешный логонПоле Logon Type: 2 = интерактивный, 3 = сетевой, 10 = RDP. Источник (Workstation Name, Source Network Address)4625Неудачный логонМассовые попытки = брутфорс. Код ошибки: 0xC000006D = неверный пароль4672Назначение специальных привилегийЛюбой логон с привилегиями SeDebugPrivilege - подозрителен4688Создание процессаКомандная строка процесса (если включён аудит). Родительский процесс4720Создание учётной записиАтакующий создал бэкдор-аккаунт System.evtx - службы и драйверы: Event IDОписаниеЗначение для расследования7045Установка новой службыPSExec, Cobalt Strike - все создают службы. Поле Service File Name критично7036Изменение состояния службыСтарт/стоп подозрительных служб Microsoft-Windows-PowerShell/Operational.evtx: Event IDОписаниеЗначение для расследования4104Script Block LoggingПолный текст выполненных PowerShell-скриптов, включая деобфусцированный код Практика: извлечение и парсинг Event Logs На живой системе можно быстро отфильтровать интересные события через PowerShell. Для поиска неудачных логонов (рекомендация INCIBE): Код: Код:
Get-WinEvent -LogName Security | Where-Object {$_.Id -eq 4625} | Select-Object TimeCreated, MessageBash: Код:
# Парсим все evtx-файлы в CSV для дальнейшего анализаЕщё один приём, который лично у меня срабатывает чаще, чем хотелось бы: если в Security.evtx вы видите Event ID 4624 с Logon Type 3 и тут же Event ID 7045 в System.evtx с установкой службы - это классический паттерн PSExec или аналогичного инструмента для lateral movement. Две записи с разницей в пару секунд - и вектор перемещения как на ладони. MFT анализ NTFS: файловая система как свидетель Master File Table ($MFT) - сердце файловой системы NTFS. Каждый файл и каталог на томе имеет запись в MFT с четырьмя временными метками (MACE): Modified, Accessed, Changed ($MFT entry), Entry created (birth). Нюанс: начиная с Windows Vista, метка Last Access по умолчанию не обновляется при чтении файла (параметр Код:
NtfsDisableLastAccessUpdateЧто хранит запись MFT и почему это важно Каждая MFT-запись содержит два набора временных меток:
Практика: анализ MFT через MFTECmd Для извлечения $MFT из образа - FTK Imager: открываем образ, переходим в корень тома, правой кнопкой на Код:
$MFTBash: Код:
# Парсинг $MFT в формат CSV
Код:
C:\Windows\Temp\svchost.exeКод:
System32Код:
TempФорензика реестра Windows: карта закрепления атакующего Реестр Windows - иерархическая база данных с конфигурациями ОС, программ и пользовательских настроек. Для атакующего реестр - основной механизм persistence. Для аналитика - карта того, как именно злоумышленник закрепился в системе. Системные кусты ( Код:
SAMКод:
SECURITYКод:
SOFTWAREКод:
SYSTEMКод:
C:\Windows\System32\config\Код:
NTUSER.DATКод:
UsrClass.datКлючи автозагрузки и закрепления Основные ветки реестра, через которые атакующие обеспечивают persistence, с привязкой к техникам MITRE ATT&CK: Registry Run Keys / Startup Folder (T1547.001, persistence, privilege-escalation): В кусте Код:
SOFTWARE
Код:
NTUSER.DAT
Код:
SOFTWARE
Скрипты входа, привязанные к профилю пользователя через Код:
NTUSER.DAT
Задачи хранятся как XML в Код:
C:\Windows\System32\Tasks\Create or Modify System Process: Windows Service (T1543.003, persistence, privilege-escalation): Службы описаны в Код:
SYSTEM\CurrentControlSet\Services\Код:
ImagePathServices Registry Permissions Weakness (T1574.011, persistence, privilege-escalation, defense-evasion): Если ACL на ключах реестра служб настроены криво, атакующий может подменить Код:
ImagePathBITS Jobs (T1197, defense-evasion, persistence): Background Intelligent Transfer Service используется для скачивания файлов. Злоумышленники применяют Код:
bitsadminПрактика: разбор реестра через Registry Explorer и RegRipper Для визуального анализа реестра из образа диска - Registry Explorer (EZ Tools). Загружаете куст (например, Код:
SOFTWAREКод:
C:\Windows\System32\config\Для автоматизации - RegRipper: Bash: Код:
# Вытаскиваем persistence из куста SOFTWAREКод:
soft_runКод:
RunКод:
RunOnce
Bash: Код:
# Имя компьютера, версия ОС, временная зонаPrefetch файлы: доказательство запуска программ Prefetch - механизм Windows для ускорения повторного запуска приложений. С точки зрения форензики - доказательство того, что конкретный бинарник был выполнен на системе. По данным INCIBE, даже если исполняемый файл удалён, его след может остаться в Prefetch с именем, расположением и датой запуска. Файлы Код:
.pfКод:
C:\Windows\Prefetch\Код:
ИМЯПРОЦЕССА-ХЕШПУТИ.pfКод:
cmd.exeКод:
System32Код:
cmd.exeКод:
TempЭволюция Prefetch по версиям Windows Поведение Prefetch различается в зависимости от версии ОС: Версия WindowsЛимит файловОсобенностиXP - Windows 7128Базовый PrefetchWindows 8+1024Интеграция с SuperFetch/SysMain, сжатие MAMWindows 10/111024Сохраняет до 8 последних временных меток запускаWindows ServerОтключён по умолчаниюТребует ручного включения через реестр На серверных ОС Prefetch по умолчанию отключён. Если расследуете инцидент на сервере и Prefetch пуст - это не значит, что ничего не запускалось. Идите в Amcache и ShimCache. Практика: парсинг Prefetch через PECmd Bash: Код:
# Парсинг всех Prefetch-файлов в директории
Код:
PSEXESVC.EXE-.pf? След PsExec на целевом хосте - подтверждение lateral movement. Видите Код:
POWERSHELL.EXE-Код:
.pfДля быстрого списка Prefetch-файлов на живой системе: Код: Код:
Get-ChildItem -Path C:\Windows\Prefetch -Filter *.pf | Select-Object Name, LastWriteTime | Sort-Object LastWriteTime -DescendingAmcache и ShimCache (AppCompatCache) - два родственных, но разных артефакта, которые фиксируют информацию о программах в системе. По данным Magnet Forensics, оба предоставляют ценные данные о выполнении программ на Windows-системах. Понимание различий между ними критично для корректной интерпретации - путать их между собой на расследовании чревато ложными выводами. Amcache.hve: что внутри Код:
Amcache.hveКод:
C:\Windows\appcompat\Programs\Amcache.hve
ShimCache (AppCompatCache): разница с Amcache ShimCache хранится в кусте реестра Код:
SYSTEMКод:
CurrentControlSet\Control\Session Manager\AppCompatCacheХарактеристикаAmcacheShimCacheХра нилищеОтдельный куст Код:
Amcache.hveКод:
SYSTEMКритический нюанс: ShimCache не гарантирует, что файл был запущен. Он фиксирует факт обращения к файлу подсистемой совместимости приложений - а это может произойти и при простом просмотре директории в Explorer. Поэтому данные ShimCache нужно подтверждать через Prefetch или Amcache. Без перекрёстной проверки рискуете написать в отчёте «запускался», когда на самом деле «просто лежал». Практика: AmcacheParser и AppCompatCacheParser Bash: Код:
# Парсинг Amcache
Собираем пазл: корреляция артефактов и построение таймлайна Отдельные артефакты - фрагменты. Реальная картина инцидента появляется, когда выстраиваешь единую временную шкалу. Сценарий: реконструкция lateral movement Допустим, в ходе анализа обнаружилось следующее:
Super timeline через Plaso Для масштабного расследования, где нужно скоррелировать тысячи артефактов, есть log2timeline/Plaso - парсит десятки типов артефактов и собирает единую временную шкалу: Bash: Код:
# Создание super timeline из образа диска (долгий процесс, можно идти за кофе)Чек-лист DFIR-аналитика: порядок анализа артефактов Практический порядок действий при расследовании инцидента на Windows-хосте: Шаг 1 - подготовка:
Проанализировав доступные русскоязычные материалы по цифровой криминалистике Windows, я вижу несколько систематических пробелов. Про эти артефакты молчат - а зря. SRUM (System Resource Usage Monitor) - база данных Код:
C:\Windows\System32\sru\SRUDB.datPCA (Program Compatibility Assistant) - начиная с Windows 11 22H2, файл Код:
C:\Windows\appcompat\pca\PcaAppLaunchDic.txtWDI StartupInfo - XML-журналы в Код:
C:\Windows\System32\WDI\LogFiles\StartupInfo\Эти артефакты дополняют классическую пятёрку и могут дать информацию, которую атакующий не позаботился уничтожить. Обратная перспектива: что видит пентестер Для пентестеров и red team операторов понимание форензик-артефактов - вопрос OPSEC. Каждая техника MITRE ATT&CK оставляет определённый след, и знать его - значит контролировать свой шум:
Попробуйте на своём тестовом стенде запустить PsExec и пройтись по всем пяти артефактам. Увидите, сколько следов остаётся от одного-единственного lateral movement. После этого вопрос «зачем мне форензика, я же пентестер» отпадёт сам собой. |
| Время: 06:14 |