Certiception — это honeypot для служб Active Directory Certificate Services (ADCS), предназначенный для заманивания атакующих с помощью реалистичной и привлекательной приманки, которая вызывает высокорелевантные оповещения.
Разработанный Red Team из SRLabs, Certiception создаёт в вашей среде ADCS уязвимый на вид шаблон сертификата, устанавливает ограничения для предотвращения эксплуатации и помогает настроить эффективное оповещение.
tl;dr: С точки зрения атакующего: выглядит уязвимо, эксплуатация не удаётся.
Предыстория
В наших проектах Red Team и управления инцидентами мы регулярно наблюдаем, что горизонтальное перемещение и повышение привилегий остаются незамеченными.
Если детекты вообще срабатывают, на них не реагируют своевременно, поскольку ложные срабатывания обычное дело.
Мы считаем, что внутренние honeypot'ы (они же канарейки, они же deception tech) — эффективный способ для защитников ловить угрозы, которые прошли через начальные меры защиты.
Внутренние honeypot'ы — это преднамеренные ловушки для атакующих, размещённые в вашей сети.
Они выглядят уязвимыми, но вызывают оповещение при эксплуатации. Вот почему мы считаем, что децепция обладает большим потенциалом:
Низкие усилия и затраты: Настройка может опираться на существующие инструменты, такие как SIEM.
Сработавший honeypot указывает на значительную угрозу, поэтому такие оповещения стоит расследовать.
Высокорелевантные оповещения:
Низкий уровень шума: Будучи спроектированными так, чтобы срабатывать только на вредоносную активность, внутренние honeypot'ы имеют низкий процент ложных срабатываний.
Несмотря на их потенциал, мы регулярно сталкиваемся с принципиально неэффективными конфигурациями децепции.
Чтобы помочь защитникам создавать более эффективные honeypot'ы, Certiception поставляется с подробным руководством по стратегии децепции.
Службы Active Directory Certificate Services (ADCS) — идеальное место для honeypot'а:
Лёгкий доступ: Доступная всем доменным пользователям, ADCS легко обнаруживается атакующими.
Высокие ставки: Уязвимости могут привести к полной компрометации домена, что делает эксплуатацию крайне привлекательной.
Общеизвестность: Уязвимости и инструменты эксплуатации широко известны.
Аутентичность: Уязвимые шаблоны ADCS повсеместны и почти не вызывают подозрений.
Слабое наблюдение: Многие сети практически не мониторят ADCS, что побуждает даже осторожных атакующих рискнуть и попробовать эксплуатацию.
Именно поэтому мы создали Certiception.
Концепция
Certiception разворачивает новый CA в вашей среде и настраивает honeypot'а на основе ESC1.
Он реализован как Ansible playbook, вызывающий несколько ролей. В целом выполняются следующие шаги:
Развернуть новый CA, добавить «уязвимый» шаблон ESC1 и включить его только на новом CA
Установить и настроить политический модуль TameMyCerts для предотвращения выпуска сертификатов, если запросы на подпись сертификата содержат SAN
Включить расширенный журнал аудита, чтобы имена шаблонов попадали в журналы событий
Вывести SIGMA-правило для настройки оповещений в вашем SIEM
Настроить непрерывные проверки с помощью Certify, чтобы выявлять любые другие CA, включающие уязвимый шаблон (ещё не опубликовано, будет добавлено в репозиторий в ближайшие дни)
Такие параметры, как имя CA или шаблона, можно настроить, чтобы замаскировать honeypot.
Вот как работает Certiception:
В будущем запланирована поддержка других типов уязвимостей ESC и возможность добавления honey-шаблонов на существующие CA.
Оповещение
Certiception использует встроенные события Windows от CA и события, генерируемые политическим модулем TameMyCerts.
Чтобы получать встроенные события CA с необходимой информацией, Certiception включает расширенный журнал аудита на сервере honey CA.
Мы рекомендуем настраивать оповещения по критическим и средним событиям:
Источник события
ID события
Оповещение
TameMyCerts
6 – CSR отклонён из-за нарушения политики
CRITICAL - попытка эксплуатации через SAN
Журнал безопасности Windows
4886 – Запрошена регистрация сертификата
MEDIUM - использован honey-шаблон
Журнал безопасности Windows
4887 – Сертификат выпущен
Не используется, 4886 даёт более полное покрытие
Журнал безопасности Windows
4888 – Запрос сертификата отклонён
Не используется, TameMyCerts 6 точнее при ненамеренном отказе в выпуске
Certiception выводит готовые к использованию SIGMA-правила для двух различных оповещений.
Вам лишь нужно убедиться, что соответствующие ID событий загружены в ваш SIEM, а затем настроить оповещения с помощью SIGMA-правил.
В будущих релизах могут появиться новые или дополнительные SIGMA-правила.
Использование
Выполните следующие шаги, чтобы развернуть свой honeypot для ADCS.
Предварительные требования
Windows-сервер, входящий в домен, для установки CA
Машина с Ansible и подключением WinRM к серверу, чтобы клонировать этот репозиторий и запустить Certiception
Права локального администратора на сервере для установки CA и защиты от эксплуатации
Enterprise Admin аккаунт для регистрации нового CA
Обычная доменная учётная запись без каких-либо привилегий для выполнения непрерывных проверок Certify
Установка Certiception
Примечание: мы всё ещё улучшаем стабильность в различных тестовых лабораторных конфигурациях, в том числе в отношении того, какие учётные записи используются для задач настройки. Если хотите попробовать, вероятно, лучше подождать ещё недельку :)
Настройте общие параметры подключения к домену и Ansible в inventory
Настройте параметры вашего honeypot'а в host_vars/honeypotCA.yml
Создайте исключение в EDR для будущего расположения Certify (используется для контроля, не включает ли какой-либо non-honey CA уязвимый шаблон; пока не требуется, поскольку мониторинг на основе Certify ещё не опубликован)
Загрузите журналы событий сервера в ваш SIEM и настройте оповещения с помощью выведенных SIGMA-правил
Проверьте и вручную протестируйте вашу конфигурацию
Соображения безопасности
Данный инструмент предоставляется без каких-либо гарантий.
Он объединяет существующее программное обеспечение, автоматизируя установку и настройку.
Вы несёте ответственность за все шаги установки и настройки, выполняемые Certiception.
Если вы используете этот инструмент, мы настоятельно рекомендуем прочитать исходный код, чтобы понимать, что вы настраиваете, и проверить свою конфигурацию после установки.
Кроме того, мы рекомендуем учесть следующее:
На момент выпуска инструмент ещё не был проверен сообществом — ожидайте улучшений в безопасности и укреплении защиты со временем. Мы не рекомендуем запускать его без изменений в вашей производственной среде.
ADCS honeypot имеет смысл только в том случае, если команда PKI берёт на себя ответственность за него. При внесении изменений в конфигурацию необходимо учитывать их влияние на honeypot. Например, при переносе honey CA на новый сервер без переноса политического модуля honey-шаблон становится эксплуатируемым.
Помимо honey-шаблона, ваш honey CA должен быть защищён, укреплён и управляться так же, как любой другой CA ADCS в вашей сети
CA, разворачиваемый этим инструментом, — это обычный CA с сертификатом CA, хранящимся на диске, без HSM
Certiception настраивает базовую проверку реально уязвимых шаблонов с использованием Certify на сервере CA. Для производственных сред мы рекомендуем выполнять эти непрерывные проверки на отдельной машине. Проверки должны не только полагаться на команды "find" для идентификации шаблонов, но и пытаться эксплуатировать honey-шаблон (внесённый в allow-lists SIEM), чтобы выявлять изменения конфигурации, делающие его эксплуатируемым на honey CA.
Планы на будущее
Поддержка размещения honey-шаблонов на существующих CA
Реализация поддержки дополнительных ошибок конфигурации ESC (например, ESC3 и ESC8)
Внедрение дополнительных защитных мер и опций укрепления, чтобы предотвратить проблемы
Использование учётных записей с меньшими привилегиями вместо enterprise admin
Добавление менее подозрительного сообщения об ошибке при отклонённых CSR
Исследование и устранение способов fingerprinting'а Certiception
Усиление непрерывного мониторинга, предназначенного для выявления и устранения небезопасных конфигураций
Укрепление установочного скрипта (например, изучение риска раскрытия учётных данных используемых аккаунтов)