![]() |
https://forum.antichat.xyz/attachmen...24c2e96ed5.png
Два часа ночи. Уведомление от SIEM: на контроллере домена нетипичный логин, следом - создание службы и сетевая активность в сторону внешнего IP. К утру атакующий может зашифровать всю инфраструктуру. У вас окно в несколько часов, чтобы понять масштаб компрометации, найти точку входа и перекрыть lateral movement. Каждое ваше действие с этого момента - либо фиксация улик, либо их уничтожение. Третьего варианта нет. Форензика Windows при расследовании инцидентов - это не академическое упражнение с красивыми схемами. Это конкретная последовательность действий: что снять первым, какой артефакт даст ответ на какой вопрос, какой инструмент запустить и как не затереть доказательства в процессе. Здесь я разберу полный цикл - от порядка волатильности до построения единого таймлайна, с акцентом на артефакты, которые обычно упускают из виду в русскоязычных гайдах (а зря - именно в них часто лежит ответ). Порядок сбора доказательств при инциденте Первая ошибка, которую допускают при цифровой криминалистике Windows, - хватать всё подряд. Вторая - выключить машину «чтобы вирус не распространялся». Обе ведут к потере критических данных. Лично видел, как дежурный админ ребутнул скомпрометированный хост «на всякий случай» - и мы потеряли ключи шифрования из RAM вместе с активными сетевыми соединениями к C2. Порядок волатильности определяет, что исчезнет раньше всего. Собирайте строго сверху вниз:
Инструменты форензики Windows для сбора артефактов Выбор инструмента зависит от сценария: физический доступ к хосту, удалённый триаж десятков машин или работа с уже снятым образом. Разберу три инструмента, которые закрывают большинство задач при расследовании инцидентов. KAPE: автоматический сбор артефактов Windows KAPE (Kroll Artifact Parser and Extractor) - рабочая лошадка для автоматизированного сбора и парсинга артефактов Windows. Работает в два этапа: Targets (что собирать) и Modules (как парсить). Для быстрого триажа при инциденте берите набор Код:
!SANS_TriageBash: Код:
# Сбор ключевых артефактов с живой системыДля парсинга собранного: Bash: Код:
# Парсинг всех собранных артефактов через модули Eric ZimmermanКод:
!EZParserFTK Imager: образы дисков и дампы памяти FTK Imager от Exterro - бесплатный инструмент для создания forensic-образов. Три основных сценария:
Velociraptor: удалённый триаж десятков хостов Когда инцидент затрагивает не один хост, а целый сегмент сети, бегать с флешкой - не вариант. Velociraptor позволяет развернуть агент на эндпоинтах и собирать артефакты удалённо через VQL-запросы (Velociraptor Query Language). Типичный сценарий: после обнаружения компрометации одного хоста запускаете hunt по всему домену для поиска следов lateral movement: SQL: Код:
-- Поиск подозрительных служб на всех эндпоинтахАнализ артефактов Windows: что и где искать Каждый артефакт отвечает на свой вопрос расследования. Ниже разберу ключевые категории с акцентом на то, что редко освещается в русскоязычных материалах по криминалистическому анализу Windows. Артефакты файловой системы NTFS: $MFT и $UsnJrnl Master File Table ($MFT) - центральная таблица файловой системы NTFS. Каждая запись содержит два набора временных меток: Код:
$STANDARD_INFORMATIONКод:
$FILE_NAMEПарсинг через MFTECmd: Bash: Код:
MFTECmd.exe -f
Bash: Код:
# Парсинг $UsnJrnl ($J - альтернативный поток данных $UsnJrnl)Код:
FileCreateLNK-файлы и Jump Lists: следы обращения к файлам LNK-файлы - ярлыки, которые Windows автоматически создаёт при открытии файлов. По данным исследования FRSecure, они хранятся в Код:
C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\RecentКаждый LNK-файл содержит:
Bash: Код:
# Парсинг всех LNK-файлов пользователя
Bash: Код:
# Парсинг Jump ListsSRUM: скрытый журнал запуска программ System Resource Usage Monitor (SRUM) - артефакт, введённый в Windows 8, который практически не упоминается в русскоязычных материалах по форензике Windows. А зря. Он хранит данные об использовании ресурсов приложениями с дефолтным retention period 30 дней (настраивается через реестр), хотя на практике данные часто живут значительно дольше из-за особенностей механизма очистки. По данным FRSecure, база SRUM располагается в Код:
C:\Windows\System32\sru\SRUDB.dat
Код:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SRUM\ExtensionsДля парсинга используется SRUM Dump 2 (автор - Mark Baggett): Bash: Код:
# Парсинг SRUM с указанием базы и куста реестра SOFTWAREКод:
rclone.exeShellbags и UserAssist: цифровые отпечатки действий пользователя Shellbags фиксируют каждое обращение пользователя к папке через проводник Windows. Данные хранятся в двух местах: Код:
NTUSER.DATКод:
HKCU\SOFTWARE\Microsoft\Windows\ShellКод:
UsrClass.datКод:
HKCU\SOFTWARE\ClassesBash: Код:
# Визуальный анализ ShellbagsКод:
\\fileserver\finance\reportsКод:
E:\backupUserAssist - ключ реестра в Код:
NTUSER.DATПарсинг через Registry Explorer или RegRipper: Bash: Код:
rip.exe -rКод:
mstsc.exeКод:
cmd.exeФорензика реестра Windows: карта закрепления атакующего Реестр - основной механизм persistence для атакующего. Кусты Код:
SAMКод:
SECURITYКод:
SOFTWAREКод:
SYSTEMКод:
C:\Windows\System32\config\Код:
NTUSER.DATКлючевые ветки для поиска закрепления, с привязкой к верифицированным техникам MITRE ATT&CK: Registry Run Keys / Startup Folder (T1547.001, persistence, privilege-escalation): В кусте Код:
SOFTWARE
Код:
NTUSER.DAT
Службы описаны в Код:
SYSTEM\CurrentControlSet\Services\Код:
ImagePathServices Registry Permissions Weakness (T1574.011, persistence, privilege-escalation, defense-evasion): Если ACL на ключах реестра служб настроены криво, атакующий может подменить Код:
ImagePathScheduled Task (T1053.005, execution, persistence, privilege-escalation): Задачи хранятся как XML в Код:
C:\Windows\System32\Tasks\BITS Jobs (T1197, defense-evasion, persistence): Background Intelligent Transfer Service используется для скачивания файлов. Атакующие применяют Код:
bitsadminАвтоматизированный поиск persistence через RegRipper: Bash: Код:
# Извлечение всех точек закрепления из куста SOFTWARE
Event Logs - первый источник, за который берётся DFIR-аналитик. Файлы Код:
.evtxКод:
C:\Windows\System32\winevt\Logs\Ключевые Event ID при расследовании: Event IDЖурналЗначение4624SecurityУспе шный логон (Logon Type 3 = сетевой, Type 10 = RDP)4625SecurityНеудачная попытка логона4648SecurityЛогон с явным указанием учётных данных4688SecurityСоздание процесса (если включён аудит)4720SecurityСоздание учётной записи7045SystemУстановка новой службы1116Microsoft-Windows-DefenderОбнаружение вредоносного ПО4672SecurityНазначение специальных привилегий (индикатор admin-логона)1102SecurityОчистка журнала аудита (антифорензика)4697SecurityУстан овка службы (аналог 7045 в Security)4104Microsoft-Windows-PowerShell/OperationalScriptBlock logging (содержимое выполненных скриптов)1Microsoft-Windows-Sysmon/OperationalСоздание процесса (с хешами и parent process)3Microsoft-Windows-Sysmon/OperationalСетевое соединение процесса Примечание: Sysmon-события (ID 1, 3) и расширенное логирование PowerShell (ID 4104) требуют предварительной настройки - по умолчанию они не включены. Если у вас в инфраструктуре не настроен Sysmon - считайте, что вы расследуете инцидент с одним глазом закрытым. Парсинг через EvtxECmd: Bash: Код:
EvtxECmd.exe -dBash: Код:
# Анализ журналов событий с применением Sigma-правилMemory forensics Windows: анализ оперативной памяти Дамп оперативной памяти - самый волатильный и одновременно самый ценный источник доказательств. В RAM лежат расшифрованные данные, инжектированный код, активные сетевые соединения - всё то, что не попадает на диск при использовании fileless-техник. Нет дампа памяти - нет половины картины. После снятия дампа через FTK Imager анализ проводится в Volatility 3: Bash: Код:
# Список запущенных процессов с родительскими PID
Код:
pstreeКод:
powershell.exeКод:
wmiprvse.exeПостроение timeline: от артефактов к хронологии атаки Отдельные артефакты - это фрагменты пазла. Ценность расследования - в их корреляции. Timeline analysis объединяет все временные метки из всех источников в единую хронологию. Super Timeline через plaso Plaso (log2timeline) - стандартный инструмент для создания super timeline из образа диска: Bash: Код:
# Создание super timeline из образа дискаКод:
tasklist /v > processes.txtКод:
-b[*]Зафиксировать системное время: Код:
w32tm /query /status
Заключение Форензика Windows при расследовании инцидентов - это выстроенная методика с чётким порядком действий, а не набор разрозненных техник, которые применяют по настроению.
|
Круто расписал, Сергей! Добавлю, что иногда при быстром инциденте забывают про правильное фиксирование времени на исследуемой машине — а без синхронизации часов можно потом всю хронологию спутать. И ещё, не всякое ПО для парсинга дружит с последними версиями Windows, там тоже стоит глянуть совместимость заранее, чтоб не оказаться с пустыми ручками.
|
Всё правильно, главное — порядок сбора и снимай память первым делом. Если RAM пропустишь, много важного уйдёт безвозвратно. KAPE штука классная, но не забывай, что иногда конкретные артефакты требуют ручного внимания, особенно $UsnJrnl и Shellbags. Без синхронизации времени и правильных часовых поясов весь таймлайн рухнет. И да, Velociraptor реально выручает, когда куча машин в зоне риска.
|
Ну в целом порядок волатильности ясен, но как по мне, сильно зависит от конкретной ситуации — не всегда есть минут 10 на спокойный сбор RAM, иногда надо именно быстро реагировать. И KAPE — да, удобный инструмент, но не панацея, с последними версиями Windows могут быть нюансы, их не всегда вовремя правят. Потому ручной анализ и опыт никуда не девались.
|
Честно, вся эта тема с артефактами совсем запутала меня. Вот RAM снимать первым — понятно, а вот все эти Shellbags, SRUM и Jump Lists — это типа как хронология, по которой можно понять, что юзер делал? И как понять, что важнее — где искать первые следы, чтоб не потерять время? Просто пытаюсь уловить общий смысл, а не вдаваться в детали.
|
Главное в форензике Windows — не срываться и чётко соблюдать порядок. Сначала снимаешь RAM — это самое ценное и быстро уходит. Дальше — важные артефакты вроде $UsnJrnl и Shellbags, которые часто упускают, а они показывают реальную картину. Инструменты типа KAPE и Velociraptor облегчают сбор, но без ручного анализа и понимания базовых моментов никак. Главное — не отключать машину сразу и сохранять всю цепочку доказательств.
|
KAPE и Velociraptor — оба классные инструменты, но разница в применении. KAPE быстрее делит работу на сбор и парсинг, идеально для одной машины или локального триажа. Velociraptor удобен, когда надо быстро пройтись по целой сети удалённо, особенно при массовых инцидентах. Ручной анализ всё равно нужен для точной картины, а без правильного порядка сбора артефактов толку мало.
|
Не все так просто с этим форензическим сбором. RAM — да, важно, но если торопиться, можно и другие полезные данные пропустить. Инструменты типа KAPE и Velociraptor помогают, но полностью на них не стоит полагаться — всегда нужны руки и голова для анализа. И, кстати, с новыми версиями Windows часто бывают свои заморочки, которые эти тулзы не сразу ловят.
|
Честно, когда только начинаешь, этот весь форензик Windows кажется каким-то лабиринтом с кучей непонятных файлов и моментов. Память первой снимать — вроде понятно, но вот дальше с этими артефактами как-то тяжело разобраться, что реально важно, а что можно пропустить. Хорошо, что есть какие-то инструменты, хотя без головой работы всё равно никак.
|
Ребята, спасибо за темы про KAPE и Velociraptor, я только начинаю и пока всё кажется сложным. Вроде понял, что RAM — самое главное для начала, а остальные артефакты — это уже детали. Постараюсь не спешить и внимательно разбираться с последовательностью, чтобы не упустить что-то важное.
|
| Время: 22:40 |