現在地

Oracle WebLogic Serverに含まれるリモートコード実行に関する脆弱性(CVE-2018-2628)についての検証レポート

2018/05/10 初版
鈴木 涼太

2018年04月17日にOracle社が公表したOracle WebLogic Serverに含まれるリモートからの任意コード実行が行われる脆弱性(CVE-2018-2628)についての検証を実施し、脆弱性の悪用が可能であることを確認しました。

1. 本脆弱性の概要

「Oracle WebLogic Server」とは、Oracle社によって提供されるJava EEによるWebアプリケーション実行用ソフトウェアです。
本脆弱性はNSFOCUS Security Teamに所属するLiao Xinxi氏およびセキュリティ研究者loopx9によって、Oracle WebLogic ServerのWLS Core Componentsと呼ばれるWebサービスの実装において、ユーザー認証を必要とせずリモートから任意のコード実行が可能となる脆弱性(CVE-2018-2628)が存在することが報告されました。Oracle社は本脆弱性についてCVSSv3スコアで9.8と評価しています。※1
本脆弱性は、WebLogic ServerとJavaプログラム間で情報を伝送するT3プロトコルを使用する環境で、不正なJavaオブジェクトをデシリアライズ処理する際に、適切な処理が行われないことに起因しています。この脆弱性を悪用することにより、攻撃者は任意にOSコマンドを標的サーバー上で実行することが可能です。

SANS ISCでは概念実証コード公開後、同ソフトウェアのT3プロトコルで使用するTCP7001番宛のスキャンの急増を観測しているほか、当社監視センターにおいても当該脆弱性に関する調査行為および悪用を狙ったと考えられる攻撃を断続的に観測しています。今後攻撃者によるさらなる悪用が予想されることから、本脆弱性の対象となるバージョンを利用している場合には早急な対策が必要となります。※2

図1. 本脆弱性を悪用した攻撃の例

図1. 本脆弱性を悪用した攻撃の例

図1は、本脆弱性に対する攻撃の一例として、インターネットから内部ネットワークへ攻撃者が不正なJavaオブジェクトを含む攻撃パケットを送信する攻撃例を示しています。

2. 本脆弱性の影響を受ける環境

本脆弱性の影響を受ける可能性がある環境は以下の通りです。

  • Oracle WebLogic Server 10.3.6.0
  • Oracle WebLogic Server 12.1.3.0
  • Oracle WebLogic Server 12.2.1.2
  • Oracle WebLogic Server 12.2.1.3

3. 本脆弱性を利用した攻撃の検証

概念実証(PoC)コードにより本脆弱性に対する攻撃を試行し、脆弱性を悪用可能であることを検証しました。

3.1. 検証環境

表1. 検証に使用した環境
 疑似攻撃者疑似被害者
OSKali Linux 2017.01 64bitCentOS 7.3.1611
アプリケーション ・Javaのシリアライズ処理を行う概念実証ツール
・本脆弱性の概念実証コード
Docker 1.12.6-32

Oracle WebLogic Server 11g 10.3.6.0
JDK 1.6.0_45-b06

3.2. 攻撃手法

Oracle WebLogic Serverの管理コンソール用に使用するポート(TCP 7001番)に対して不正なJavaのオブジェクトを含むT3プロトコルによるパケットを送信し、任意のOSコマンド実行を試みます。

図2. スクリプトのダウンロード

図2. スクリプトのダウンロード

図3. ダウンロードしたスクリプトの実行

図3. ダウンロードしたスクリプトの実行

OSコマンドを実行させるためにはOSコマンドを含むペイロードをJavaのオブジェクトとしてシリアライズ処理を加える必要があります。本検証では、シリアライズ処理を行うツールを使用し、標的サーバー上で実行させるコマンドに対してシリアライズ処理を行います。
図2、3では本検証で実行を試みるOSコマンドのシリアライズ処理を実行しており、この処理結果を本脆弱性の概念実証コードが受け取り、標的サーバーに対してT3プロトコルによる攻撃コードとして送信します。これらの手法によりリモートから標的サーバー上でのOSコマンド実行が可能となります。

図4. 本検証で実施した攻撃のシーケンス図

図4. 本検証で実施した攻撃のシーケンス図

本検証では、概念実証コードの利用のみではコマンドの実行結果の成否の確認がリモートからできないため、標的サーバー上でのOSコマンドの実行結果を確認するために、標的サーバーの標準出力を得るスクリプトの実行を試みました。図4に本検証で使用したツール・サーバー等の間における通信の流れを示します。
また、シリアライズ処理ツールの仕様により標準では単一のコマンドのみのシリアライズ化が可能であるため、標的サーバーに対して本脆弱性を悪用したリモートコード実行の攻撃を、以下の2回に分けて実行しました。

  1. 攻撃者が用意したサーバーからシェルスクリプト(rss.sh)をダウンロードする。(図2)
  2. ダウンロードしたスクリプト(rss.sh)を実行する。(図3)

以上の過程により、標的サーバー上でスクリプトを実行しました。

3.3. 検証結果

図5に示す結果では攻撃コードの実行によりダウンロードしたスクリプトを起動し、標的サーバー上で任意のOSコマンドの実行結果を確認することに成功しました。

図5. 標的サーバーでスクリプトの実行に成功した結果

図5. 標的サーバーでスクリプトの実行に成功した結果

3.4. 当社監視センターにおける観測事例

4月18日の概念実証コード公開以降、当社監視センターではT3プロトコルによる本脆弱性の悪用を狙った可能性がある通信および脆弱性の調査に関する通信を断続的に観測しています。図6には4月15日から5月7日までの期間における観測件数の割合の推移を示しています。 図7には期間中に確認した攻撃活動の送信元の割合を示しています。

図6. 当社監視センターで観測したT3プロトコルによる攻撃活動の推移

図6. 当社監視センターで観測したT3プロトコルによる攻撃活動の推移

図7. 攻撃の送信元割合

図7. 攻撃の送信元割合

4. 本脆弱性に対する対策

4.1. 現在推奨されている対策

2018年5月9日現在、Oracle社は本脆弱性の対策を行ったCritical Patch Updateをリリースしており、アップデートの適用が推奨されています。※1
また、セキュリティ研究者により4月にリリースされたCritical Patch Updateを回避して攻撃することが可能であると指摘されており、外部からのTCP7001番の接続を制限することが推奨されています。※3

NSFOCUS社では回避策としてT3プロトコルへの接続の制限を行うことにより攻撃をブロックすることができるとしており、WebLogic Serverにおける接続フィルタの設定方法を公開しています。※4

4.2. 不正アクセス監視機器による対策

4.2.1. 当社が確認している不正アクセス監視機器の対応状況

各製品ベンダーの本脆弱性への対応状況に関する情報、および本検証による各製品での検知結果は以下の通りです。表2に製品ベンダー公式シグネチャーの提供状況、本検証によって得られた各製品のシグネチャー検知可否の結果を記載します。

IBM, McAfee, Check Pointでは本脆弱性を悪用する攻撃を直接検知するシグネチャーによって本検証による攻撃の検知は確認できませんでしたが、IBMではCVE-2015-4852、McAfeeではCVE-2017-3248の悪用を狙う攻撃を検知するシグネチャーによって検知可能であることを確認しています。また、McAfeeとCheck Pointにおいては、Java RMI Servicesを利用したリモートコード実行の試みを検知するシグネチャーによって検知可能であることも確認しました。

表2. 製品ベンダーによるシグネチャー提供状況(2018年05月10日時点)
種別製品ベンダー/
製品
製品ベンダー提供のシグネチャー検知
結果
IDS/IPSIBM
QRader
Network Security
GX/XGS Series
メーカーからのシグネチャーは現在未提供です。-
McAfee
Network
Security Platform
NS/M Series
Signature Set 9.8.20.4:
・Oracle WebLogic Server WLS Core Components Privilege Escalation (CVE-2018-2628) (0x45d42000)
-
WAFImperva
SecureSphere
メーカーからのシグネチャーは現在未提供です。-
NGFWPalo Alto
PA Series
Application and Threat Content:Version 8009
・Oracle WebLogic Remote Code Execution Vulnerability [40630]
Check Point
NGFW Series
IPS Software Blade:
・Oracle WebLogic WLS Core Component Remote Code Execution (CVE-2018-2628)
-

参考文献

機器別当社対応サービス

IDS/IPS

WAF

NGFW

更新履歴

2018/05/10初版作成

本件に関するお問い合わせ先

NTTデータ先端技術株式会社

NTTデータ先端技術株式会社
セキュリティ事業部 脆弱性検証レポート担当
E-mail:sec-info@intellilink.co.jp

  • ※ 各規格名、会社名、団体名、製品名は、各社の商標または登録商標です。