BloodHound, NetExec и smbmap: с чего начать пентест Active Directory

2695
BloodHound, NetExec и smbmap: с чего начать пентест Active Directory

Как новичку разобраться в Active Directory, найти слабые места и выстроить путь к цели без лишнего шума.

image

Внутренний пентест почти всегда сводится к одному и тому же. Как бы вы ни попали в сеть — угнали учётку через сервис утёкших паролей, нашли её в логах инфостилеров, зацепились за старый сервер на внешнем периметре — дальше вас, скорее всего, ждёт Active Directory. Большинство корпоративных сетей построено вокруг домена, и даже там, где много Linux или ноутбуки на macOS, управление в итоге упирается в контроллер домена. Поэтому первый реальный навык атакующего — не эффектный эксплойт, а умение осмотреться.

Именно здесь новички теряют больше всего времени. Инструментов для работы с AD десятки, они пересекаются по функциям, и без понимания, что и зачем запускать, разведка превращается в шум: лишний трафик, сработавшие детекторы, куча данных, из которых непонятно, что делать. А ведь на практике бывают проекты, где домен захватывают вообще без уязвимостей — просто аккуратно собирая информацию по крупицам. Разберём базовый набор инструментов и логику, в которой их применяют.

Тема настолько прикладная, что теорию быстро упираешь в вопрос практики: прочитать про Kerberos недостаточно — нужно видеть, как отдельная настройка меняет весь сценарий.

Отработать это на стендах можно в Красном Сентябре CyberED: сейчас открыт доступ к курсу «Атаки на Active Directory». Курс посвящён уязвимостям внутренней инфраструктуры на базе Microsoft AD — Kerberos и NTLM, Roasting-атакам, DACL, Relay, делегированию и инфраструктуре сертификатов.

Рядом собраны и другие материалы Red-направления: вебинары, практикумы, консультации с экспертами и практические задания в CyberED Labs.

Что искать при разведке Active Directory: учётные записи и группы, машины, доступ и секреты, связи и пути к привилегиям.

С чего начинается разведка: имя домена и контроллер

Вы оказались внутри сети — возможно, вообще без доменной учётной записи, где-нибудь на Linux-сервере с локальными правами. Атаковать домен в лоб бесполезно: контроллер, скорее всего, ограничен сетевым доступом и обновлён до последней версии. Поэтому первое, что нужно узнать, это базовые ориентиры: как называется домен, где находится контроллер домена (DC), какой у него IP.

Начать можно с обычного сканирования портов. Если nmap показывает на хосте открытые 88 (Kerberos) и 389 (LDAP) — перед вами почти наверняка контроллер домена. Это уже точка опоры: у вас есть цель, вокруг которой строится вся дальнейшая работа. Полезно помнить и про стандартные утилиты самого Windows: попав на доменный хост без какой-либо информации, вы можете вытащить имя и адрес DC штатными средствами, не «шарясь» по всей сети.

Здесь же стоит осмотреться на предмет «низко висящих фруктов»: старые хосты с необновляемой ОС. Забытая машина на Windows XP в каком-нибудь сегменте — это готовый вход: под неё есть эксплойты, дающие полный доступ за считанные минуты. Такие хосты рядом с доменом встречаются до сих пор.

Без учётной записи тоже можно многое

Одно из главных заблуждений — что для разведки нужна валидная учётка. Часто это не так.

Инструменты вроде enum4linux-ng позволяют собрать первичную информацию о домене вообще без учётных данных. При удачном раскладе вы получаете имя домена, список пользователей, группы и парольную политику. Работает это за счёт так называемой нулевой сессии (null session) — режима, который не требует логина и пароля. На контроллерах домена такая конфигурация встречается не то чтобы часто, но регулярно, и одного этого хватает, чтобы собрать материал для дальнейших атак.

Отдельно смотрите парольную политику. Если утилита возвращает минимальную длину пароля и историю паролей, это не абстрактные цифры, а прямая подсказка. Зная политику, вы настроите перебор так, чтобы не бить лишнего и, что важнее, не заблокировать учётные записи и не выдать себя.

SMB-шары: где чаще всего лежит забытое

Если и есть инструмент, который на реальных проектах приносит результат чаще эксплойтов, это обход общих папок.

smbmap использует особенности протокола SMB и по порту 445 проходит по домену, показывая, какие шары есть, у кого доступ на чтение, у кого на запись. Дальше начинается самое интересное. Стоит прошерстить эти папки чуть внимательнее, и там находятся SSH-ключи, сертификаты, пароли в открытом виде, файлы менеджеров паролей, конфиги сервисных учёток.

Это не редкость, а закономерность. На практике встречались проекты, где на шаре лежал файл KeePass, который просто побрутфорсили и получили доступ ко всей базе паролей. Или файл, куда пользователи закрытого контура открытым текстом выписали все логины и пароли. Отдельный жанр — квартальные отчёты по прошлым пентестам, забытые в доступной папке: в них перечислены все не подобранные пароли и не закрытые пути, и часть из них к моменту нового теста всё ещё работает.

Вывод простой: прежде чем искать сложное, проверьте, что плохо лежит.

BloodHound: карта, а не кнопка «взломать»

Когда первичные данные собраны, встаёт вопрос: куда двигаться. Ответ на него даёт BloodHound.

Под этим названием обычно понимают целую экосистему: коллектор (например, SharpHound) собирает с домена данные о пользователях, группах, компьютерах и связях между ними, а BloodHound всё это визуализирует в виде графа. На нём видно, как объекты связаны и какой путь ведёт от вашей рядовой учётки к группе Domain Admins. Вместо того чтобы вслепую тыкаться по хостам, вы видите конкретную цепочку и эксплуатируете уязвимости и мисконфигурации только на ней.

Важный нюанс: BloodHound изначально создавался специалистами по безопасности и не задумывался как скрытный инструмент — он шумный. На пентесте, где нет выделенной команды защиты и SOC, вы можете позволить себе массовую выгрузку. Но в зрелой инфраструктуре опытные специалисты так не делают: они собирают данные через другие, более тихие коллекторы и уже потом загружают их в BloodHound ради графа. Инструмент один, но подход к нему определяет, заметят вас или нет.

Kerberos и NTLM: почему утилиты мало без понимания протокола

Здесь проходит граница между тем, кто «запускает утилиту с флагами», и тем, кто понимает, что делает.

Возьмём Kerberoasting и AS-REP Roasting. Технически всё выглядит просто: берёте утилиту из пакета impacket (например, GetADUsers), передаёте домен, учётку и адрес DC — и получаете, скажем, отфильтрованный список пользователей, у которых отключена предварительная аутентификация Kerberos. Для такого пользователя можно запросить хеш и отдать его в hashcat или John the Ripper на офлайн-подбор. Если пароль словарный — «весна2007», «лето» и им подобные, которые до сих пор ставят на старые сервисы, — он вскроется.

Проблема в том, что посмотреть команду с нужными флагами легко, а понять, что за ней скрывается, — намного сложнее. И именно это решает исход. Зная, как устроен Kerberos, вы замечаете рядом «другую дверь», о которой не знали бы иначе. Например, что хеш не обязательно ломать: полученный NTLM-хеш можно использовать напрямую для перемещения по хостам техникой pass-the-hash. Таких тонкостей в протоколах, на которых работает AD, очень много — и каждая из них превращается в вектор для того, кто понимает механику, и остаётся невидимой для того, кто просто копирует команды.

Тихо или громко: инструмент решает не всё

Отдельный класс инструментов работает с сетевым трафиком. Утилиты вроде mitm6 и ntlmrelayx позволяют перехватывать аутентификацию и проводить relay-атаки — в незашифрованных сетях это до сих пор рабочий сценарий, потому что администраторы редко включают шифрование протоколов обмена.

Но с сетевыми атаками нужна осторожность, и это тоже часть навыка. Перехват трафика чувствителен к тому, как вы его делаете: можно нарушить сетевую доступность, уронить сервисы, оставить пользователей без интернета. И тогда на вас плохо посмотрят не только заказчик, но и команда защиты, которая вас после этого быстрее вычислит. Хороший тон — делать такое аккуратно и не сразу, если задача не требует иного.

То же касается тяжёлых сканеров. Тот же Nessus умеет искать уязвимости на хостах, но он шумный, медленный и работает в режиме аудита, а не пентеста. Опытные специалисты не запускают один комбайн в надежде, что он найдёт всё, — они действуют точечнее: сначала лёгкое сетевое сканирование, потом прицельная проверка того, что действительно интересно. Чем короче и тише цепочка действий, тем меньше шансов, что вас обнаружат.

Баланс данных и заметности при разведке Active Directory: от поиска инфраструктуры и базовой информации до карты домена, работы с учётными данными и активных сетевых атак

Карта на случай, когда не знаешь, что делать

Если вы вообще впервые подступаетесь к домену, помогает интерактивная карта пентеста AD от Orange Cyberdefense. Это наглядная схема: вот входная точка, а вот векторы — просканировать сеть, найти уязвимые хосты, вытащить информацию из SMB. Карта иногда отстаёт от реальности и не покрывает самые новые атаки, но как отправная точка — «с чего начать и что вспомнить» — она очень удобна.

Что делать новичку: короткий чек-лист

Если свести всё к последовательности, базовая разведка AD выглядит так:

  • Найдите ориентиры. Имя домена, контроллер домена, его IP. Сканирование портов (88, 389) подскажет, где DC.
  • Соберите первичные данные без учётки. enum4linux-ng, нулевые сессии, парольная политика.
  • Проверьте, что плохо лежит. smbmap по шарам: ключи, сертификаты, пароли, забытые отчёты.
  • Постройте карту. SharpHound + BloodHound: увидьте путь до Domain Admins, а не идите вслепую.
  • Работайте с протоколами осознанно. Kerberoasting, AS-REP, pass-the-hash — но с пониманием, а не по шпаргалке.
  • Держите себя в тишине. Фильтруйте выгрузки, дозируйте сетевые атаки, думайте о детекторах.

Инструменты здесь — открытые, никакой секретной информации. Разница не в том, какие утилиты вы знаете, а в том, понимаете ли вы, что происходит под капотом, и умеете ли выстроить короткую и незаметную цепочку до цели.

Последовательность разведки Active Directory: поиск инфраструктуры, сбор базовых сведений, проверка общих ресурсов, построение карты связей и выбор точечного вектора.

Что учить дальше?

Если хочется довести это до реального навыка, в Красном Сентябре открыт доступ к курсу «Атаки на Active Directory»: те же техники, но на практике — на стендах, с разбором того, как и почему они работают.

Рядом — вебинары, уроки по баг баунти и AI-пентесту, практикумы и задания в CyberED Labs для тех, кто хочет закрепить разведку и двигаться дальше, к захвату домена.

ИИ-АССИСТЕНТв «СёрчИнформ КИБ»
Выяви скрытые инциденты!
Реклама. ООО «СёрчИнформ», ИНН 7704306397, 18+

Реклама 18+
Рекламодатель
Реклама. АО «Позитив Текнолоджиз». ИНН 7718668887. 18+
Сайт рекламодателя: ptsecurity.com
Реклама