LLMNR и NBT-NS Primer

Link-Local Multicast Name Resolution (LLMNR) и NetBIOS Name Service (NBT-NS) - это компоненты Microsoft Windows, которые служат альтернативными методами идентификации хоста, которые могут использоваться при сбое DNS. Если компьютер пытается резолвится с хостом, но разрешение DNS не удается, как правило, компьютер пытается запросить у всех других компьютеров в локальной сети правильный адрес хоста через LLMNR. LLMNR основан на формате системы доменных имен (DNS) и позволяет хостам по тому же локальному каналу выполнять разрешение имен для других хостов. Изначально он использует порт 5355 через UDP. В случае сбоя LLMNR будет использоваться NBT-NS. NBT-NS идентифицирует системы в локальной сети по их имени NetBIOS. NBT-NS использует порт 137 поверх UDP.

Фишка здесь в том, что когда LLMNR / NBT-NS используются для разрешения имен, ЛЮБОЙ хост в сети может ответить. Вот тут-то мы и приходим с Responder целью отравить эти запросы. Имея доступ к сети, мы можем подделать авторитетный источник разрешения имен (в данном случае хост, который должен принадлежать сетевому сегменту ) в широковещательном домене, отвечая на трафик LLMNR и NBT-NS так, как будто у них есть ответ для запрашивающего хоста. Эта попытка отравления предпринята для того, чтобы заставить жертв общаться с нашей системой, притворяясь, что наша мошенническая система знает местоположение запрашиваемого хоста. Если запрашиваемому хосту требуется разрешение имени или действия по аутентификации, мы можем перехватить хэш NetNTLM и подвергнуть его автономной атаке методом перебора в попытке получить открытый текстовый пароль. Захваченный запрос аутентификации также может быть передан для доступа к другому хосту или использован по другому протоколу (например, LDAP) на том же хосте. Подмена LLMNR / NBNS в сочетании с отсутствием подписи SMB часто может приводить к административному доступу на хостах в домене.


Краткий пример - LLMNR / NBT-Отравление NS

Давайте рассмотрим краткий пример потока атак на очень высоком уровне:

  1. Хост пытается подключиться к серверу печати по адресу \\print01.inlanefreight.local, но случайно вводит \\printer01.inlanefreight.local.
  2. DNS-сервер отвечает, сообщая, что этот хост неизвестен.
  3. Затем хост транслирует на всю локальную сеть запрос, знает ли кто-нибудь местоположение \\printer01.inlanefreight.local.
  4. Злоумышленник (мы с Responder запущенным) отвечает хосту, что файл по пути \\printer01.inlanefreight.local находится у нас.
  5. Хост верит этому ответу и отправляет злоумышленнику запрос на аутентификацию с именем пользователя и хэшем пароля NTLMv2.
  6. Затем этот хэш можно взломать в автономном режиме или использовать в SMB-ретрансляционной атаке, если существуют подходящие условия.

TTPs

Мы выполняем эти действия для сбора аутентификационной информации, отправляемой по сети в виде хэшей паролей NTLMv1 и NTLMv2. NTLMv1 и NTLMv2 - это протоколы аутентификации, использующие хэш LM или NT. Затем мы возьмем хэш и попытаемся взломать их в автономном режиме, используя такие инструменты, как Hashcat или John, с целью получения открытого текстового пароля учетной записи, который будет использоваться для первоначального закрепления или расширения нашего доступа в домене, если мы получим хэш пароля для учетной записи с большими привилегиями, чем у учетной записи, которой мы обладаем в настоящее время.

Для попытки отравления LLMNR и NBT-NS можно использовать несколько инструментов:

Инструмент Описание
Responder Responder - это специализированный инструмент для отравления LLMNR, NBT-NS и MDN с множеством различных функций.
Inveigh Inveigh - это кроссплатформенная MITM-платформа, которая может использоваться для подмены и отравляющих атак.
Metasploit Metasploit имеет несколько встроенных сканеров и модулей подмены, созданных для совершения атак с отравлением.

Responder написан на Python и обычно используется на хостах атак Linux, хотя существует версия .exe, которая работает в Windows. Респодер направлен на атаки по следующим протоколам: