Nick Security Blog

securityブログです

Weblogic CVE-2020-2883 RCEまで実行してみた

f:id:NickShadows:20200530133627j:plain

※勉強目的のみ。悪用厳禁。
ローカルの検証環境で実行しています。

情報

www.thezdi.com www.zerodayinitiative.com jp.tenable.com

インストール

Oracle WebLogic Server 12.2.1.4.0(脆弱なバージョン)
↓からダウンロード
www.oracle.com
OSはubuntuを使用。
Javaが必要だということで、openjdkをインストールしたが、openjdkは使えないとのことだったので普通のjavaをインストール。
www.oracle.com

「.bashrc」にパスを通して、完了。

インストールはデフォルトの設定。
Oracle WebLogic Server 14.1.1.0(修正バージョン)も同じ。

脆弱性検証

pocダウンロード。
javaファイルだったのでeclipseで準備。

burpのCollaborator宛にcurl飛ばしてRCE出来たか確認する。
f:id:NickShadows:20200530144834p:plain


脆弱性なバージョンで実行。
weblogicのバージョンが表示されている。
f:id:NickShadows:20200530144957p:plain

Collaboratorに反応アリ。
curlコマンドが実行されたことが確認できた。
f:id:NickShadows:20200530145025p:plain

サーバ側のログ。
f:id:NickShadows:20200530150309p:plain

修正バージョンで実行。
f:id:NickShadows:20200530150024p:plain

Collaboratorに反応ナシ。
f:id:NickShadows:20200530150326p:plain

サーバ側のログ。
エラー発生クラスが違う。
f:id:NickShadows:20200530150526p:plain

wiresharkでのキャプチャ内容。
よくわからず。
f:id:NickShadows:20200530150651p:plain

以下記事で詳細が書いてあるが、全体的にわからず。
今後の課題とし、検証は終了。
www.thezdi.com

感想

認証がいらず、RCEまでいけるのでweblogicっぽかったらやってみてもいいと思った。
リクエストがhttpではなかったので、burpではできなさそう。

また、現状pocがjavaファイルなので、気軽には実行できない。
ただ、javaの環境が整ってしまえばcurlとCollaboratorの組み合わせでscannerのように使えるので、やりやすいかも。

仕組みはわからなかったが、RCEは簡単だった。
RCEの原因として多いJavaのデシリアライズの問題のため、他のCVEも検証して理解を深めていこうと思う。