Текстовик в Windows 11, который палит запуск даже удаленных файлов 🔥
Иногда самые полезные артефакты лежат не в хитром бинарнике, который надо парсить три часа, а просто в текстовике, который никто не догадался открыть. Вот один из таких. Андреа Фортуна недавно напомнил про него, и для кейсов на 11 винде это очень актуально.
📂 Что это и где лежит
Начиная с Windows 11 22H2 Microsoft прикрутила к сервису Program Compatibility Assistant (тот самый PcaSvc, который живет еще со времен Vista) персистентную запись запусков в обычный текст:
Внутри - строки вида "полный путь к exe | UTC-таймстамп". Никакого проприетарного формата, никакого декодинга. Все читается глазами:
Делалось это как обычно под compatibility-задачи, а не под форензику. Но как обычно бывает - фича для одного, а ценное доказательство для другого.😙
🔍 Чем это интересно для форзы
Файл ловит запуски программ через Explorer - то есть когда юзер двойным кликом открыл файл. А это огромный пласт реальной малвари: распаковал ZIP, открыл "счет" из директории "Загрузки", оператор кинул тулзу в C:\Temp руками и запустил, техник прогнал утилиту с флешки.
Три жирных плюса:
• Отвечает на простой, но важный вопрос - этот exe реально запускали на хосте, или только скачали?
• Связывает алерт с активностью юзера.
• И главное - запись остается даже после удаления самого файла.
Третья строка в примере выше ⬆️:
☠️ Anti-forensic значимость
Вот тут самое вкусное. Вся типовая чистка следов заточена под известные артефакты: чистят Prefetch, сносят LNK, вайпят recent items, гоняют коммерческие анти-форензик тулзы. А малоизвестные артефакты остаются нетронутыми просто потому, что атакующий о них не знает.
Представь кейс: подозрение на фишинг. Вложение удалено, скачанный файл удален, юзер божится что "только посмотрел документ и ничего не запускал". EDR дал слабый сигнал, Prefetch неинформативен из-за шума и ретеншена. Открываешь PCA - а там:
Одна строчка доказывает запуск (а не просто скачивание), путь с палевным двойным расширением .pdf.exe, и UTC-таймстамп, который коррелируется с почтой, браузером, DNS и process creation.
🛠 Как снимать и читать (Сам файл в UTF-16 LE, если что)
Быстрый триаж через PowerShell:
В KAPE путь уже есть в таргете !SANS_Triage. Заодно тащи соседей - они дополняют картину ошибками совместимости и завершениями процессов:
Для парсинга в пайплайне Харлан Карви запилил PCAParse.
⚠️ Важные оговорки
• Scope. Ловятся запуски ТОЛЬКО через Explorer. Стартанули из cmd, PowerShell, WMI, PsExec, шедулера или сервиса - в этом файле ничего не будет.
• Наличие записи сильно намекает на запуск через Explorer. Отсутствие записи не доказывает что не запускали. Это один источник в общей доказательной базе, а не истина в последней инстанции.
🎯 Плейбучим?
Лучшее время выучить новый артефакт - до того, как он понадобится в живом кейсе. Сейчас большинство анти-форензик тулз его не трогают. Советую потыкать на Win11 самому, прогнать запуск через Explorer, cmd, PowerShell, USB и сетевую шару, посмотри что и сколько хранится. Ну и если было полезно, то закинуть
🔗 https://andreafortuna.org/2026/03/19/windows11-pca-artifact/
🔗 https://www.sygnia.co/blog/new-windows-11-pca-artifact/
🔗 https://windowsir.blogspot.com/2024/02/pcaparse.html
🐦⬛ DFIR Father
Иногда самые полезные артефакты лежат не в хитром бинарнике, который надо парсить три часа, а просто в текстовике, который никто не догадался открыть. Вот один из таких. Андреа Фортуна недавно напомнил про него, и для кейсов на 11 винде это очень актуально.
Начиная с Windows 11 22H2 Microsoft прикрутила к сервису Program Compatibility Assistant (тот самый PcaSvc, который живет еще со времен Vista) персистентную запись запусков в обычный текст:
C:\Windows\appcompat\pca\PcaAppLaunchDic.txtВнутри - строки вида "полный путь к exe | UTC-таймстамп". Никакого проприетарного формата, никакого декодинга. Все читается глазами:
C:\Users\Alice\Downloads\Quarterly_Review.pdf.exe|2026-03-15 09:42:11.000
C:\Temp\tool.exe|2026-03-15 09:43:05.000
D:\AUTORUN\payload.exe|2026-03-15 09:44:22.000
Делалось это как обычно под compatibility-задачи, а не под форензику. Но как обычно бывает - фича для одного, а ценное доказательство для другого.
Файл ловит запуски программ через Explorer - то есть когда юзер двойным кликом открыл файл. А это огромный пласт реальной малвари: распаковал ZIP, открыл "счет" из директории "Загрузки", оператор кинул тулзу в C:\Temp руками и запустил, техник прогнал утилиту с флешки.
Три жирных плюса:
• Отвечает на простой, но важный вопрос - этот exe реально запускали на хосте, или только скачали?
• Связывает алерт с активностью юзера.
• И главное - запись остается даже после удаления самого файла.
Третья строка в примере выше ⬆️:
D:\ - это съемный диск. То есть доставка через USB видна по одному только префиксу пути, без всякого пивотинга.Вот тут самое вкусное. Вся типовая чистка следов заточена под известные артефакты: чистят Prefetch, сносят LNK, вайпят recent items, гоняют коммерческие анти-форензик тулзы. А малоизвестные артефакты остаются нетронутыми просто потому, что атакующий о них не знает.
Представь кейс: подозрение на фишинг. Вложение удалено, скачанный файл удален, юзер божится что "только посмотрел документ и ничего не запускал". EDR дал слабый сигнал, Prefetch неинформативен из-за шума и ретеншена. Открываешь PCA - а там:
C:\Users\Alice\Downloads\Quarterly_Review.pdf.exe|2026-03-15 09:42:11.000Одна строчка доказывает запуск (а не просто скачивание), путь с палевным двойным расширением .pdf.exe, и UTC-таймстамп, который коррелируется с почтой, браузером, DNS и process creation.
🛠 Как снимать и читать (Сам файл в UTF-16 LE, если что)
Быстрый триаж через PowerShell:
Get-Content -Path "C:\Windows\appcompat\pca\PcaAppLaunchDic.txt" -Encoding Unicode |
Select-String -Pattern "Temp|Downloads|AppData|\\Users\\"
В KAPE путь уже есть в таргете !SANS_Triage. Заодно тащи соседей - они дополняют картину ошибками совместимости и завершениями процессов:
C:\Windows\appcompat\pca\PcaAppLaunchDic.txt
C:\Windows\appcompat\pca\PcaGeneralDb0.txt
C:\Windows\appcompat\pca\PcaGeneralDb1.txt
Для парсинга в пайплайне Харлан Карви запилил PCAParse.
• Scope. Ловятся запуски ТОЛЬКО через Explorer. Стартанули из cmd, PowerShell, WMI, PsExec, шедулера или сервиса - в этом файле ничего не будет.
• Наличие записи сильно намекает на запуск через Explorer. Отсутствие записи не доказывает что не запускали. Это один источник в общей доказательной базе, а не истина в последней инстанции.
Лучшее время выучить новый артефакт - до того, как он понадобится в живом кейсе. Сейчас большинство анти-форензик тулз его не трогают. Советую потыкать на Win11 самому, прогнать запуск через Explorer, cmd, PowerShell, USB и сетевую шару, посмотри что и сколько хранится. Ну и если было полезно, то закинуть
C:\Windows\appcompat\pca\ в свой таргет-коллект.Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥9❤2👍1
cmd.exe с правами SYSTEM. Как я понял, релиз - часть затяжного конфликта автора с Microsoft по поводу их практик disclosure и bug bounty.Нам как форзерам это интересно не тем, КАК эксплуатировать, а тем, КАКОЙ след оно оставляет и как это детектить.
• Это Time-of-Check to Time-of-Use в движке Defender (
mpengine). Автор сам пишет, что на одних машинах 100% успех, на других не заводится вообще.• Изначально это была RCE: жертву надо было заманить открыть
.vhd(x) с удаленной SMB-шары, дальше Defender перезаписывал собственные файлы - и привет, выполнение кода • Второй сценарий RCE - открытие SMB-шары при включенной обработке симлинков.
• В середине мая MS тихо захарденил Defender, пропатчив
mpengine!SysIO* и прикрыв junction-атаки. После этого RoguePlanet, по словам автора, возможно скатился до LPE.• ThreatLocker подтвердили, что воспроизвели эксплойт на полностью пропатченной Win11. Application allowlisting его блокирует.
• Ключевой момент для нас:
MsMpEng.exe (движок Defender) крутится под SYSTEM. Гонка в том, как он обрабатывает файлы / симлинки / reparse-поинты во время сканирования, позволяет заставить его действовать по контролируемому атакующим пути с правами SYSTEM. Отсюда перезапись файлов и эскалация.cmd.exe / powershell.exe / conhost. Если в Sysmon EID 1 видишь ParentImage, заканчивающийся на MsMpEng.exe, а в детях интерактивный шелл - это практически нулевой false positive. Первое, что надо завести в детект.•
Microsoft-Windows-VHDMP/Operational - события attach/surface образа.• Открытие
.vhd(x) с UNC-пути, WebDAV или SMB-шары - смотри командные строки и Explorer-активность.• Коррелируй с
Microsoft-Windows-SMBClient/Connectivity и логами доступа к шаре. VHD(x) с удаленной шары + следом активность Defender = красный флаг под этот сценарий.C:\ProgramData\Microsoft\Windows Defender\Platform\. Неожиданные модификации/перезаписи бинарей платформы не-Defender-процессом - повод копать.• WER-отчеты по
MsMpEng.exe.• Рестарты сервиса Defender, ошибки в
Microsoft-Windows-Windows Defender/Operational. Гонка штука нестабильная - неудачные попытки часто роняют или дергают движок, и это само по себе сигнал.• Дерево процессов вокруг
MsMpEng.exe (родитель/дети) за окно инцидента.• VHDMP/Operational + SMBClient логи на предмет remote VHD(x).
• Таймлайн модификаций в
...\Windows Defender\Platform\.• Шелл из-под SYSTEM с подозрительным parent.
• Новые админ-аккаунты, сервисы, задачи планировщика сразу после получения SYSTEM (стандартный post-exp, ну и дальше по цепочке).
📌 Самый дешевый и надежный детект - дочерний шелл от
MsMpEng.exe, думаю можно заводить прямо сейчас. А остальное (remote VHD, целостность Platform, краши движка) идет вторым контуром под корреляцию.Please open Telegram to view this post
VIEW IN TELEGRAM
4❤8👍4
"I may have just made the Greatest XML in all of XML history. Two zerodays this month, hope I can do more next month" - Nightmare Eclipse
Так вот, он не стал ждать следующего месяца. Второй публичный 0-day - GreatXML.
И это уже BitLocker bypass. Полностью через
unattend.xml в разделе восстановления. Механика элегантно простая - без эксплойтов в классическом смысле, чистая злоупотреблением легитимным механизмом Windows:
1. Копируешь
unattend.xml и папку Recovery в корень раздела восстановления (WinRE).2. Ребутишь машину в WinRE через Shift + Restart.
3. Если на машине когда-либо запускался Defender Offline Scan - логин не нужен вообще. Машина сразу уязвима.
4. На выходе - шелл с неограниченным доступом к BitLocker-тому. Шифрование фактически не защищает данные.
unattend.xml - это легитимный файл автоматизации установки Windows (Unattended Setup). WinRE его подхватывает и обрабатывает с привилегиями, достаточными для обхода BitLocker. Microsoft не считает это проблемой на уровне своих текущих критериев - и поэтому патча пока нет.Для нас тут несколько интересных вещей:
• Раздел WinRE на предмет посторонних файлов -
unattend.xml и папка Recovery в корне раздела восстановления там быть не должны в штатной конфигурации.• Логи переходов в WinRE:
Microsoft-Windows-Diagnostics-Performance/Operational, события загрузки в System лог.• Если был физический доступ - смотри на временные метки файлов в разделе восстановления и коррелируй с последним временем работы системы.
Microsoft-Windows-Windows Defender/Operational, Event ID 2050 (scan started). Если в ходе расследования ты видишь что Offline Scan запускался - машина потенциально была уязвима к этому вектору в любой момент после этого.• Проверить конфигурацию WinRE на прод-тачках - в разделе восстановления посторонних XML и папок быть не должно.
• Убедиться что физический доступ к машинам ограничен (банально, но именно здесь и решается).
• Включить BitLocker PIN при загрузке (не только TPM) - это усложняет вектор через WinRE, так как требует дополнительной аутентификации до этапа где отрабатывает уязвимость.
• Если Secure Boot + UEFI password настроены - это дополнительный барьер против загрузки в модифицированный WinRE.
Ну и с вас реакция за реактивный разбор уязы (на момент написания поста прошло 13 часов с момента публикации)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7 3⚡1👍1
Forwarded from Threat Hunting Father 🦔
A localhost digital-forensics / incident-response companion. A browser extension captures screenshots of your investigation (Velociraptor, EDR/SIEM dashboards, Security Onion, Splunk4DFIR, VolWeb, VirusTotal, etc.) as evidence; a local server stores them, runs windowed AI vision analysis into an accumulating per-case investigation state, and serves a live dashboard plus exportable reports.
Everything runs on your machine - the companion binds to 127.0.0.1 only, evidence stays on disk, and the AI provider is yours to choose.
https://github.com/hasamba/DFIR-Companion
Everything runs on your machine - the companion binds to 127.0.0.1 only, evidence stays on disk, and the AI provider is yours to choose.
https://github.com/hasamba/DFIR-Companion
❤6
Поддержим первую и, наверное, единственную подобную некоммерческую CSIRT инициативу! 🤝
Forwarded from CSIRT Central Asia
Обнаружены подозрительные домены в зоне home[.]kg 🇰🇬
Домены
- auth.home[.]kg 🇰🇬
- vscode.auth.home[.]kg 🇰🇬
Оба домена присутствуют в Maltrail (apt_kimsuky.txt) и связаны с инфраструктурой, которую OSINT-источники относят к Kimsuky / APT43 / Emerald Sleet.
Текущие резолвы
auth.home[.]kg 🇰🇬
• IP-адрес: 80.68.237.36
• Локация / Провайдер: Польша 🇵🇱
vscode.auth.home[.]kg 🇰🇬
• IP-адрес: 153.75.247.209
• Локация / Провайдер: США 🇺🇸, Interserver (VPS)
Цель атаки
Это атака на разработчиков.
Домен vscode.auth.home[.]kg создан для имитации легитимного OAuth redirect URI Visual Studio Code. Такие домены используются для кражи токенов аутентификации у разработчиков, DevOps-инженеров и исследователей.
Важное замечание
home[.]kg 🇰🇬 — это публичная FreeDNS-зона на afraid.org. Любой может создавать поддомены. Наличие .kg не означает, что целью является Кыргызстан.
О группе Kimsuky
Kimsuky (APT43 / Emerald Sleet) — северокорейская кибершпионская группа, активная с 2012 года. Для неё характерны социальная инженерия, поддельные страницы входа и кража учётных данных у технических специалистов.
Домены
- auth.home[.]kg 🇰🇬
- vscode.auth.home[.]kg 🇰🇬
Оба домена присутствуют в Maltrail (apt_kimsuky.txt) и связаны с инфраструктурой, которую OSINT-источники относят к Kimsuky / APT43 / Emerald Sleet.
Текущие резолвы
auth.home[.]kg 🇰🇬
• IP-адрес: 80.68.237.36
• Локация / Провайдер: Польша 🇵🇱
vscode.auth.home[.]kg 🇰🇬
• IP-адрес: 153.75.247.209
• Локация / Провайдер: США 🇺🇸, Interserver (VPS)
Цель атаки
Это атака на разработчиков.
Домен vscode.auth.home[.]kg создан для имитации легитимного OAuth redirect URI Visual Studio Code. Такие домены используются для кражи токенов аутентификации у разработчиков, DevOps-инженеров и исследователей.
Важное замечание
home[.]kg 🇰🇬 — это публичная FreeDNS-зона на afraid.org. Любой может создавать поддомены. Наличие .kg не означает, что целью является Кыргызстан.
О группе Kimsuky
Kimsuky (APT43 / Emerald Sleet) — северокорейская кибершпионская группа, активная с 2012 года. Для неё характерны социальная инженерия, поддельные страницы входа и кража учётных данных у технических специалистов.
❤4🔥1