Внутренний пентест почти всегда сводится к одному и тому же. Как бы вы ни попали в сеть — угнали учётку через сервис утёкших паролей, нашли её в логах инфостилеров, зацепились за старый сервер на внешнем периметре — дальше вас, скорее всего, ждёт Active Directory. Большинство корпоративных сетей построено вокруг домена, и даже там, где много Linux или ноутбуки на macOS, управление в итоге упирается в контроллер домена. Поэтому первый реальный навык атакующего — не эффектный эксплойт, а умение осмотреться.
Именно здесь новички теряют больше всего времени. Инструментов для работы с AD десятки, они пересекаются по функциям, и без понимания, что и зачем запускать, разведка превращается в шум: лишний трафик, сработавшие детекторы, куча данных, из которых непонятно, что делать. А ведь на практике бывают проекты, где домен захватывают вообще без уязвимостей — просто аккуратно собирая информацию по крупицам. Разберём базовый набор инструментов и логику, в которой их применяют.
Тема настолько прикладная, что теорию быстро упираешь в вопрос практики: прочитать про Kerberos недостаточно — нужно видеть, как отдельная настройка меняет весь сценарий.
Отработать это на стендах можно в Красном Сентябре CyberED: сейчас открыт доступ к курсу «Атаки на Active Directory». Курс посвящён уязвимостям внутренней инфраструктуры на базе Microsoft AD — Kerberos и NTLM, Roasting-атакам, DACL, Relay, делегированию и инфраструктуре сертификатов.
Рядом собраны и другие материалы Red-направления: вебинары, практикумы, консультации с экспертами и практические задания в CyberED Labs.
С чего начинается разведка: имя домена и контроллер
Вы оказались внутри сети — возможно, вообще без доменной учётной записи, где-нибудь на 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 умеет искать уязвимости на хостах, но он шумный, медленный и работает в режиме аудита, а не пентеста. Опытные специалисты не запускают один комбайн в надежде, что он найдёт всё, — они действуют точечнее: сначала лёгкое сетевое сканирование, потом прицельная проверка того, что действительно интересно. Чем короче и тише цепочка действий, тем меньше шансов, что вас обнаружат.
Карта на случай, когда не знаешь, что делать
Если вы вообще впервые подступаетесь к домену, помогает интерактивная карта пентеста AD от Orange Cyberdefense. Это наглядная схема: вот входная точка, а вот векторы — просканировать сеть, найти уязвимые хосты, вытащить информацию из SMB. Карта иногда отстаёт от реальности и не покрывает самые новые атаки, но как отправная точка — «с чего начать и что вспомнить» — она очень удобна.
Что делать новичку: короткий чек-лист
Если свести всё к последовательности, базовая разведка AD выглядит так:
- Найдите ориентиры. Имя домена, контроллер домена, его IP. Сканирование портов (88, 389) подскажет, где DC.
- Соберите первичные данные без учётки. enum4linux-ng, нулевые сессии, парольная политика.
- Проверьте, что плохо лежит. smbmap по шарам: ключи, сертификаты, пароли, забытые отчёты.
- Постройте карту. SharpHound + BloodHound: увидьте путь до Domain Admins, а не идите вслепую.
- Работайте с протоколами осознанно. Kerberoasting, AS-REP, pass-the-hash — но с пониманием, а не по шпаргалке.
- Держите себя в тишине. Фильтруйте выгрузки, дозируйте сетевые атаки, думайте о детекторах.
Инструменты здесь — открытые, никакой секретной информации. Разница не в том, какие утилиты вы знаете, а в том, понимаете ли вы, что происходит под капотом, и умеете ли выстроить короткую и незаметную цепочку до цели.
Что учить дальше?
Если хочется довести это до реального навыка, в Красном Сентябре открыт доступ к курсу «Атаки на Active Directory»: те же техники, но на практике — на стендах, с разбором того, как и почему они работают.
Рядом — вебинары, уроки по баг баунти и AI-пентесту, практикумы и задания в CyberED Labs для тех, кто хочет закрепить разведку и двигаться дальше, к захвату домена.