7月18日に、Oracle Fusion Middleware の Oracle WebLogic Server
において、任意のコードが可能な脆弱性が公開(CVE-2018-2894)されました。
脆弱性の公開後、githubや中国圏を中心とした検証サイトでPoCが公開されています。
#脆弱性
脆弱性の影響を受けるバージョンは以下となります。今回検証した12.2.1.0.0でも脆弱でしたので、以下バージョン以前は気を付けなくてはいけません。
- 10.3.6.0
- 12.1.3.0
- 12.2.1.2
- 12.2.1.3
#脆弱環境
Weblogicを立ち上げ、console画面にログインします。ログイン後、ドメイン構造のbase_domainをクリックします。
下にスクロールすると、「Webサービスのテスト・ページの有効化」の項目がありますので、これにチェックを入れます。Weblogicを再起動する必要があるみたいなので再起動。
hXXp://localhost:7001/ws_utc/config.doにアクセスすると、無事ページが公開されました。7001ポートはデフォなので、自分の環境に従ってアクセスしてね。
#レッツ検証
検証したPoC:
https://raw.githubusercontent.com/LandGrey/CVE-2018-2894/master/CVE-2018-2894.py
第一段階:
現在の作業ディレクトリを別のディレクトリに変更してます。
自分のカレントディレクトリに新たなcssフォルダが追加されてます。
第二段階:
/ws_utc/resources/setting/keystore宛に複数ファイルをアップロードします。本PoCは文字列を表示させるファイルを複数アップロードするだけですが、他のPoCではここでBackdoorをアップロードしてます。
アップロードしたファイルにアクセスためには、タイムスタンプが必要です。サーバから以下のような応答が返ってきますので、5つのファイルがアップロードできたことがわかります。
第三段階:
タイムスタンプを含めたファイルへアクセスします。(hXXp://localhost:7001/ws_utc/css/config/keystore/1532091925590-_360sglab.jsp)
文字列が表示されており、無事PoCが成功したことが確認できました。
番外:
アップロードされたファイルは2パターンで確認できます。
違いとしては、Web上の方はjspファイルしか見れなくて、インストールフォルダは全部見れるということでしょうか。
1つ目は、securityタブを押すことで、アップロード一覧が見れます。
2つ目は、インストールフォルダの配下を確認することで、アップロード一覧が見れます。
インストールフォルダ\user_projects\domains\base_domain\servers\AdminServer\tmp_WL_internal\com.oracle.webservices.wls.ws-testclient-app-wls\4mcj4y\war\css\config\keystore
#最後に
現在のPoCはテストページを意図的に生成しなければ成功しないみたいです。
そのため、12月末に出た脆弱性と違いあまり影響はないと思います。
ハニーポットでも本脆弱性と考えられる検知もないことですし。
#追記 7月21日
上記のPoCはアップデートされてるので、現在の挙動は異なります。