NBNS (NetBIOS Name Service) — это протокол разрешения имён, который является частью старого механизма NetBIOS.
Его задача:
определить IP-адрес компьютера по его имени внутри локальной сети.
Например:
Пользователь хочет открыть:
\\SERVER01\share
Компьютеру нужно понять:
Где находится SERVER01?
Если DNS не отвечает, Windows может использовать NBNS.
⚙️ Как работает NBNS?
Компьютер отправляет широковещательный запрос:
Кто такой SERVER01?
Запрос получают устройства в локальном сегменте.
Любая машина может попытаться ответить:
SERVER01 = 192.168.1.50
И если ответ принят — Windows попробует подключиться.
💀 Где появляется проблема?
Проблема в том, что в старых конфигурациях Windows слишком сильно доверяет таким ответам.
Представим:
Пользователь ошибся в имени:
\\FILESRV01\docs
Но настоящего сервера нет.
Windows отправляет NBNS-запрос:
Кто такой FILESRV01?
Атакующий отвечает:
Это я.
Дальше может произойти попытка NTLM-аутентификации.
Схема:
Пользователь
|
| NBNS запрос
|
↓
Атакующий
|
| Ответ:
| "Я FILESRV01"
|
↓
NTLM Authentication
🛠 Почему это интересно при пентесте?
NBNS позволяет проверить:
— используется ли устаревший NetBIOS;
— включены ли небезопасные механизмы поиска имён;
— можно ли получить NTLM-аутентификацию пользователей;
— есть ли условия для дальнейших атак.
Именно поэтому инструменты вроде Responder умеют работать не только с LLMNR, но и с NBNS.