Теория — LLMNR poisoning
Когда компьютер не находит имя в сети (опечатка, несуществующий сервер), Windows спрашивает всю сеть через /NBT-NS: «кто-нибудь знает это имя?». Атакующий отвечает: «да, я» — и жертва отправляет ему свою NTLM-аутентификацию.
Здесь вступает relay: вместо взлома хеша (что может занять время) атакующий передаёт аутентификацию дальше в реальном времени другой службе — файловому серверу, контроллера домена или HTTP-интерфейсу (это и есть ESC8). Служба получает совершенно корректную аутентификацию — чужую.
Главная защита — подпись: и Signing/Channel Binding требуют, чтобы аутентификация приходила напрямую от источника — relay ломает подпись, и служба отклоняет соединение.
Практика — только в лаборатории
Обнаружение (Detection)
- Event ID 4624 type 3 (сетевой вход) от компьютеров, у которых нет причин подключаться к цели — relay создаёт «странный» logon.
- Ответы /NBT-NS с одного адреса на множество разных имён — подпись .
- Подключения /SMB к самому DC с компьютеров, не являющихся DC/серверами.
- Defender for Identity обнаруживает relay и poisoning — включите оповещения.
Митигация
- Отключите и NBT-NS во всей организации (: Computer Configuration → Administrative Templates → Network → DNS Client → Turn off multicast name resolution).
- Включите на всех серверах и рабочих станциях (: Microsoft network server/client: Digitally sign communications → Always).
- Включите Signing и Channel Binding на контроллерах домена.
- Включите на HTTP-интерфейсах (блокирует ESC8).
- Чувствительные учётки — в Protected Users: там заблокирован полностью.
- Убедитесь, что у пользователей нет широких локальных прав — relay на SMB стоит ровно столько, сколько стоит жертва.