![]() |
https://forum.antichat.xyz/attachmen...364f5d459e.png
Что атакующий видит в первые два часа в вашей сети На каждом втором внутреннем пентесте - одна и та же картина: LLMNR включён по умолчанию, LAPS либо не развёрнут, либо покрывает только рабочие станции, а расширенный аудит Kerberos не настроен. Три проблемы, которые дают атакующему перехватить хеши, вытянуть пароль локального администратора и двигаться по сети, не оставляя следов в логах. И всё это - в первые пару часов после попадания в периметр. Это не теоретический обзор угроз. Это конкретный план действий, который пентестер или инженер ИБ пройдёт за один рабочий день: проверить состояние LLMNR/NBT-NS, убедиться в корректности развёртывания LAPS и настроить логирование так, чтобы blue team видела атаки, а не только стандартные логины. Всё - штатными средствами Windows, без покупки дорогих решений. Аудит Active Directory безопасность - не проект на полгода с выделенным бюджетом. Большинство критических мисконфигураций проверяются за часы, а закрываются за дни. Покажу, куда именно смотреть и какие команды запускать - опираясь на реальную практику внутренних пентестов и данные первоисточников. Русскоязычные руководства по аудиту AD обычно сводятся к перечислению Event ID и описанию GPO-политик в вакууме. Здесь всё иначе: каждая рекомендация привязана к конкретной атаке - вот что делает атакующий, вот как это выглядит в логах, вот как проверить и закрыть за минуты. LLMNR poisoning атака: почему Responder работает в большинстве сетей Механика LLMNR poisoning и роль Responder в AD Когда пользователь обращается к сетевому ресурсу, Windows проходит цепочку разрешения имён. Сначала проверяет DNS-клиентский кеш (включая записи из файла hosts, которые загружаются в кеш), затем шлёт DNS-запрос к серверу. И только если DNS не может разрешить имя - включается LLMNR (Link-Local Multicast Name Resolution) на UDP-порт 5355, а за ним NBT-NS (NetBIOS Name Service) на UDP-порт 137. Эта последовательность описана в документации Microsoft и стабильно воспроизводится на практике. Проблема: LLMNR и NBT-NS работают через широковещательные запросы в локальной сети. Любой хост в сегменте может ответить на такой запрос. И ни один из этих протоколов не имеет механизма аутентификации ответов. По данным TCM Security, отсутствие аутентификации - причина, по которой LLMNR остаётся одним из самых надёжных начальных векторов при пентесте AD. На практике выглядит так: пользователь допускает опечатку в UNC-пути (например, Код:
\\DCC01Код:
\\DC01https://forum.antichat.xyz/attachmen...7203117965.png По классификации MITRE ATT&CK это техника LLMNR/NBT-NS Poisoning and SMB Relay (T1557.001), тактики Credential Access и Collection. Запуск атаки тривиален: Код:
sudo responder -I eth0 -dwPКод:
hashcat -m 5600 hashes.txt wordlist.txtСо стороны жертвы ничего подозрительного - ресурс «не открылся», пользователь исправляет опечатку и работает дальше. А хеш уже у атакующего. Именно поэтому Responder AD атака - стандартный первый шаг при внутреннем пентесте. Я ни разу не видел сеть, где Responder не собрал бы хотя бы пару хешей за первые 20 минут (если, конечно, LLMNR не отключён). Как проверить и отключить LLMNR и NBT-NS Требования к окружению: доступ к Group Policy Management Console (GPMC), права на редактирование GPO уровня домена или OU, PowerShell 5.1+ на целевых хостах. Первый шаг - убедиться в текущем состоянии. На любом хосте в домене: Код: Код:
# Проверка LLMNR (0 = отключён, отсутствие ключа = включён)Если ключ Код:
EnableMulticastКод:
TcpipNetbiosOptionsОтключение LLMNR - через GPO: Код:
Computer Configuration > Administrative Templates > Network > DNS ClientДля NBT-NS встроенного параметра GPO нет. Используют PowerShell-скрипт в Startup Scripts ( Код:
Computer Configuration > Policies > Windows Settings > Scripts > StartupКод:
Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\services\NetBT\Parameters\Interfaces\tcpip* -Name NetbiosOptions -Value 2Код:
gpupdate /forceКод:
EnableMulticast = 0Код:
TcpipNetbiosOptions = 2Код:
-PLAPS пентест: слабости, которые атакующий находит первыми Проверка развёртывания LAPS при аудите Active Directory LAPS (Local Administrator Password Solution) решает конкретную проблему: одинаковый пароль локального администратора на всех машинах домена. Без LAPS компрометация одного хоста означает доступ ко всем остальным через Pass-the-Hash - один хеш открывает lateral movement по всей сети. Legacy LAPS генерирует уникальный пароль для каждого компьютера и хранит его в атрибутах объекта компьютера в AD: Код:
ms-mcs-AdmPwdКод:
ms-mcs-AdmPwdExpirationTimeКод:
msLAPS-PasswordКод:
msLAPS-PasswordExpirationTimeКод:
msLAPS-EncryptedPasswordПроверка покрытия LAPS - первое, что делает пентестер после получения доменной учётки: Код: Код:
# Компьютеры с ротацией LAPS (Legacy или Windows LAPS)Слабые пароли Active Directory через мисконфигурацию LAPS Даже при развёрнутом LAPS три мисконфигурации делают его бесполезным. Эти риски описаны в исследовании SentinelOne по оценке уязвимостей LAPS. Избыточные права на чтение Код:
ms-mcs-AdmPwdКод:
Find-AdmPwdExtendedRights -Identity "OU=Workstations,DC=corp,DC=local"Код:
AdmPwd.PSКод:
nxc ldap dc01 -u user -p pass -M lapsПодмена AdmPwd.dll. LAPS использует клиентскую библиотеку Код:
c:\program files\LAPS\CSE\AdmPwd.dllКод:
Get-FileHash 'c:\program files\LAPS\CSE\AdmPwd.dll'Код:
Get-AuthenticodeSignature 'c:\program files\LAPS\CSE\AdmPwd.dll'Модификация searchFlags атрибута Код:
ms-mcs-AdmPwdКод:
$sf = (Get-ADObject "CN=ms-Mcs-AdmPwd,CN=Schema,CN=Configuration,DC=corp,DC=local" -Properties searchFlags).searchFlags; if ($sf -band 128) { 'CONFIDENTIAL set' } else { 'CONFIDENTIAL missing!' }Рекомендация Microsoft - удалить право «All Extended Rights» с OU, содержащих компьютеры с LAPS: Active Directory Users and Computers → правый клик на OU → Properties → вкладка Security → Advanced → снять галочку «All Extended Rights» для ненужных групп. Настройка логирования AD: что вы не видите в Windows Event Log Критические Event ID для обнаружения lateral movement Большинство компаний, которые я тестирую, имеют включённый базовый аудит - Event ID 4625 (неуспешный вход) и 4624 (успешный вход). Этого категорически мало: базовый аудит не покрывает Kerberoasting, AS-REP Roasting, DCSync и Pass-the-Ticket - основные техники пентестера после попадания в домен. По сути, вы смотрите в замочную скважину, когда атакующий заходит через окно. Вот события, которые реально нужны для обнаружения атак на Active Directory: 📚 Часть контента скрыта. Этот материал доступен участникам сообщества с рангом One Level или выше Получить доступ просто — достаточно проявить активность на форуме AD базовая гигиена: пентест Active Directory за один рабочий день Ниже - пошаговый чеклист, который покрывает три критических вектора за восемь часов. Приоритеты расставлены по критичности: сначала закрываем то, что атакующий эксплуатирует в первый час. Часы 1-2: LLMNR и NBT-NS
Вопрос к читателям После отключения LLMNR через GPO часть легаси-приложений теряет связность - особенно те, которые обращаются к хостам по коротким именам без DNS-суффикса. У кого при установке «Turn OFF Multicast Name Resolution» в Enabled ломалось что-то на продуктиве, кроме самописных скриптов с хардкодом NetBIOS-имён? Какой DNS Suffix Search List в GPO по пути Код:
Computer Configuration > Administrative Templates > Network > DNS Client > DNS Suffix Search List |
Классная статья
|
| Время: 10:28 |