Представь ситуацию: недели разведки, социальной инженерии, обхода периметра — и вот он, живой beacon. Потом пользователь перезагружается. Или EDR убивает процесс. Или IT прилетает с патчем. И ты начинаешь всё сначала.
Именно поэтому профессиональные APT-группы вкладываются не в initial access, а в многослойное закрепление. Volt Typhoon сидел в критической инфраструктуре больше пяти лет — необнаруженным. Salt Typhoon действовал аналогично. Это не магия — это системная работа с persistence.
🔑 Реестр: от очевидного к невидимому
Run-ключи —
HKCU\Software\Microsoft\Windows\CurrentVersion\Run — знает каждый EDR на планете. Windows Defender, CrowdStrike, SentinelOne алертят на новые записи мгновенно, особенно если путь ведёт в Temp или Public. Но у этой техники есть неочевидное применение: decoy. Аналитик находит знакомый артефакт, удаляет, закрывает тикет — и считает инцидент закрытым. А ты продолжаешь работать через другой канал.Куда интереснее — менее мониторируемые ключи. Image File Execution Options (
IFEO) позволяет зарегистрировать «отладчик» для любого процесса: при его запуске система выполнит твой код вместо оригинала. Но есть вариант тише: флаг GlobalFlag=0x100 в том же ключе плюс VerifierDlls — и твоя DLL грузится при каждом старте процесса. Autoruns от Sysinternals по умолчанию это не показывает. Тишина.⚙️ Планировщик, WMI и Ghost Tasks
Scheduled Tasks — рабочая лошадка red team. Но настоящая жемчужина — Ghost Tasks: задачи, которые существуют в реестре, но отсутствуют в
%SystemRoot%\System32\Tasks. Стандартные инструменты их не видят. schtasks /query возвращает пустоту. Task Scheduler GUI — тоже. А задача выполняется.WMI-подписки работают на уровне ниже — через событийную модель самой Windows. Триггером может быть что угодно: вход пользователя, запуск конкретного процесса, изменение файла. Payload не живёт в реестре как строка — он хранится в репозитории WMI (
%SystemRoot%\System32\wbem\Repository). Большинство инструментов форензики туда не смотрит по умолчанию.🎭 COM-hijacking: persistence без единой новой записи в Run-ключах
Каждый раз, когда Windows ищет COM-объект, она проверяет
HKCU\Software\Classes\CLSID раньше, чем HKLM. Без прав администратора. Найди CLSID, который вызывается легитимным процессом (например, Task Scheduler или Explorer), зарегистрируй свою DLL в HKCU — и при каждом вызове этого объекта твой код выполняется в контексте легитимного процесса. Никаких новых процессов, никаких подозрительных записей автозапуска.Четыре техники, разные уровни скрытности, разные требования к привилегиям — полный разбор с командами, OPSEC-соображениями и артефактами для blue team читай в статье на форуме 👇
https://codeby.net/threads/tekhniki-zakrepleniya-v-windows-reyestr-planirovshchik-wmi-i-com-hijacking-dlya-red-team.92841/
