Daniel Bohannon на KazHackStan: как атаки становятся детекциями

На форуме KazHackStan выступил Daniel Bohannon, Principal Threat Researcher, с докладом «Developing Resilient Detections (with Obfuscation & Evasion in Mind)». Его лекция стала одной из самых обсуждаемых: яркие примеры из практики, живые истории и неожиданные инсайты о том, как мир атак и защит меняется буквально на глазах.
Один из самых сильных моментов выступления — рассказ о том, как собственный инструмент Bohannon по обфускации PowerShell-кода (Invoke-Obfuscation) спустя всего пару месяцев после релиза начали использовать реальные APT-группировки.
«Это был тревожный сигнал. Даже полезные инструменты очень быстро попадают в руки атакующих», — отметил исследователь.
Этот случай заставил его пересмотреть фокус и сместить внимание на защитные исследования: как строить детекции, которые не зависят от сигнатур и способны пережить обход.
Вторая история — про открытие коллеги Bohannon, Кейси Смита. Тот обнаружил, что стандартная утилита Windows Regsvr32.exe в сочетании с компонентом SCROBJ.DLL может использоваться для загрузки удалённых скриптов без записи файлов на диск.
Кейси пошутил об этом в Twitter утром, а уже через несколько часов техника, прозванная «Squiblydoo», фиксировалась в реальных атаках.
«От открытия до эксплуатации в дикой природе прошло меньше дня», — подчеркнул Bohannon.
Этот кейс показал, как быстро сообщество атакующих подхватывает новые идеи, и почему защита должна реагировать молниеносно.
Bohannon детально разобрал механику атаки через Regsvr32:
- Запуск команды с Regsvr32 и SCROBJ.DLL.
- Загрузка удалённого .sct-файла.
- Исполнение JavaScript-кода внутри SCT.
- Дальнейшие вредоносные действия.
На первый взгляд — ничего криминального: файлов почти не создаётся. Но при этом остаются артефакты: Event Logs, Prefetch, ShimCache, Sysmon.
Главный урок: даже «безфайловые» техники оставляют следы, и задача защитника — знать, где именно их искать.
Bohannon поделился целым набором трюков, которые используют злоумышленники для обхода детекций:
- Сокращённые флаги и токены: многие бинарники Windows принимают урезанные варианты (-u0, -u1 и т.д.). Атакующие играют на этом, чтобы ломать простые регулярные выражения.
- Unicode-символы: дефис может оказаться не обычным -, а похожим на него символом из другой кодировки. Визуально одно и то же, но для детекций — разные вещи.
- Вставка специальных символов: «разрывание» токенов с помощью необычных символов делает сигнатуры бесполезными.
Эти техники кажутся мелочами, но именно они позволяют обходить тысячи «классических» правил.
Bohannon предложил несколько практических подходов, которые работают даже против таких хитростей:
- искать характерные Base64-субстримы, а не пытаться декодировать весь массив данных;
- использовать устойчивые маркеры — например, заголовки/хвосты закодированных JScript и VBScript;
- анализировать не только сам процесс, но и его родительское окружение: цепочку «веб-сервер → PowerShell → Regsvr32» не видно, если смотреть только на последний процесс;
- строить семейные деревья процессов, а не отдельные правила под каждый бинарь.
«Не ищите только имя процесса; думайте о семье процессов и их аргументах», — напомнил эксперт.
Заканчивая выступление, Daniel Bohannon сделал акцент на том, что киберзащита — это не только технологии, но и креативность. Он назвал свои эксперименты «IQ-вопросами»: «А что, если этот процесс внезапно откроет нетипичный порт? А что, если PowerShell выполнит странный аргумент?».
Даже простое правило может стать источником открытия, если правильно поставить вопрос.
«Перфекционизм — враг прогресса. Главное — пробовать и экспериментировать», — подчеркнул он.
Выступление Bohannon стало для аудитории KazHackStan настоящим мастер-классом по киберзащите. Истории из практики — от Invoke-Obfuscation до Regsvr32 — показали, как быстро меняется мир угроз. А советы по построению устойчивых детекций напомнили: успех защиты зависит не только от инструментов, но и от способности мыслить шире, чем атакующий.