This post is also available in: English (英語)
概要
パロアルトネットワークス脅威インテリジェンス調査チーム Unit 42 のリサーチャーは、Oracle WebLogic Serverに存在する Critical なゼロデイのデシリアライゼーション脆弱性が活発に悪用されている様子を確認しました(CVE-2019-2725)。なお、この脆弱性悪用は Oracle社による2019年4月26日の緊急パッチリリース以前に起こっていました。Oracle WebLogic Serverは、エンタープライズJava EEアプリケーションの構築およびデプロイに使用されている、人気の高いアプリケーションサーバーです。緊急パッチのリリースと同時にこの脆弱性が公開されると、この脆弱性を悪用した概念実証(PoC)コードのインスタンスが多数公開されました。結果として、この脆弱性を悪用する悪意のあるアクティビティが急増しました。
Zoomeye.orgによれば、現在一般にアクセス可能なWebLogicインスタンスは41,000台を超えています(図1参照)。本稿で詳述する活動内容、インターネット上で公開されている多数のWebLogicインスタンス、企業環境で利用されている不明な数のプライベートインスタンスに鑑みて、今後数日から数週間のあいだに悪用の試みがエスカレートするものと予想されます。
この活動をきっかけに、Unit 42のリサーチャーは、Muhstik ボットネットの新亜種、新しいランサムウェア亜種Sodinokibiを含むさまざまなペイロードが配信される様子を確認しました。Muhstik は脆弱なシステムに暗号通貨マイニングソフトウェアをインストールします。本稿では、下地となる脆弱性、悪用が最初に確認されたタイムライン、本脆弱性を悪用して攻撃者が実行するオペレーション内容について説明しています。
図1 公開されているOracle WebLogic Server
脆弱性とエクスプロイト
本脆弱性は、wls9_async_response.war パッケージ内に存在します。このパッケージは、WebLogic Serverの非同期通信を処理するものですが、同パッケージが<work:WorkContext>、<wsa:Action>、<wsa:RelatesTo>、<class>XMLタグを含むSOAPリクエストを適切に処理していないために、サーバーがデシリアライゼーション脆弱性の影響を受けやすくなります。これにより、悪質なSOAPメッセージを含む特別に細工したHTTPリクエストで当該脆弱性を悪用すると、遠隔にいる第三者がWeblogicサーバーのセキュリティコンテキストで任意のコードを実行可能となります。次の図2は、エクスプロイトがネットワーク上でどのように見えるかを示しています。
図2 ネットワーク上でCVE-2019-2725を悪用するとどのように見えるか
上記のPoCの悪用が成功するには、別の下地となるWebLogicの脆弱性(CVE-2017-10271)がWebLogicインスタンス上でパッチ未適用の状態である必要があります。このCVE-2017-10271の脆弱性により、遠隔にいる認証されていない攻撃者が任意のコンテンツを含むJavaクラスオブジェクトを渡すことができ、その結果遠隔からコードを実行することができるようになります。CVE-2017-10271用のパッチは、byteプロパティのみを含むクラスオブジェクトへのSOAPリクエスト内容をフィルタリングしてブラックリストに追加するもので、図2に示すstringプロパティを渡す方法とは異なります。ただし、CVE-2019-2725のパッチが適用されていない環境では、攻撃者はSOAPリクエストを容易に改変でき、byteオブジェクトを組み立てて渡すことで、コードを実行できるようになります。
CVE-2019-2725のパッチではブラックリストを改善し、classタグを含めています。これら2つの脆2019-05-07弱性と関連するブラックリストについての情報は、こちらにあります。
本脆弱性がCriticalと評価されCVSS v3.0のスコアで9.8がつけられていることにはさまざまな要因があります。まず、 wls9_async_response.war パッケージは、バージョン10.3.6やバージョン12.1.3など、広く使用されているバージョンのWebLogic Serverにデフォルトで含まれています。次に、WebLogic Serverの人気が高いことと、先に述べたようにビジネスクリティカルな環境にデプロイされる傾向とがあいまって、標的として魅力的な環境を生み出しています。さらに、当該脆弱性の悪用には、ユーザーとのやりとりが必要ありません。認証されていない遠隔の第三者は、細工されたSOAPペイロードを含むHTTPリクエストを送信することで、容易に遠隔からコードを実行できます。
以下のセクションでは、Unit 42のリサーチャーが観測したエクスプロイトの内容をまとめています。
最初期に確認されたインシデント
2019年4月25日エクスプロイトの試みが多数観測されました。図3は、最初に観測されたインシデントのハイライトです。
図3 インシデントのタイムライン(IPアドレスは伏せてあります)
脆弱性スキャン
脆弱性をスキャンするためのPoCが公開されて以来、私たちは悪意のあるリクエストを多数観測しました。
前述のPoCを悪用したサンプルのキャプチャを以下の図4に示します。
図4 SOAPペイロードのネットワークキャプチャ
暗号通貨マイニングソフトウェアの配布
私たちが観測したエクスプロイト試行のなかには、よく知られているPowerShellダウンローダスクリプトをドロップし、侵入先ホストを攻撃者の暗号通貨をマイニングする目的で使おうとするものが含まれていました。当該スクリプトは最初に攻撃者の管理下にあるドメインからXMRigをダウンロードします。XMRigは、オープンソースのMoneroマイニングソフトウェアです。このスクリプトはその後、正規のOracleのアップデートサービスをすべて終了します。このアップデートサービスは下地となるWebLogicの脆弱性(図4参照)にパッチを適用するものです。そののち、自分自身をコピーし、Oracleアップデートサービスになりすましたスケジュールタスクを作成することで、永続性を確立します。
さらにこのスクリプトはホスト上で実行されている可能性があるさまざまなプロセスを強制終了します。ここで終了されるタスクには、ウイルス対策サービス、ほかの暗号通貨マイニングソフトウェア、ほかのマルウェアによる永続設定などが含まれます。
図5 XMRigマイナーを取得し、Oracleアップデートサービスを無効にする
ダウンローダのプロセス終了は、システムにDDG Moneroマイナーボットネットクライアントが存在する場合はそれを終了させることから始まり、ほかのXMRigインスタンスを含むさまざまな暗号通貨マイニングソフトウェアが続きます。この動作は、競合する暗号通貨マイニングソフトウェアからより多くホストのリソースを確保しようとする試みを示すものです。このマルウェアは、検出機会を減らすため、ウイルス対策サービスQihoo 360に属するサービスも標的にしています。図6は、スクリプトが終了させるプロセスを示しています。
最後に、このスクリプトは、cryptonightアルゴリズムと攻撃者のMoneroウォレットキーを使用し、3つのマイニングサーバーを指定してXMRig実行可能ファイルを実行します(図6参照)。
図6 競合プロセス、AVソリューションを終了し、XMRigを実行する
ランサムウェアの配布
CVE-2019-2725の脆弱性をもつターゲットをスキャンし、悪質なPowerShellスクリプトと暗号化ツールをダウンロードすることに加え、攻撃者はCVE-2019-2725を悪用して少なくとも2つのランサムウェア亜種SodinokibiとGandCrabを配布していました。
図7 Sodinokibiをダウンロードして実行する
図7に示すように、攻撃者はこのケースではcerutilを利用して、ランサムウェアをダウンロードし、base64デコードし、実行しています。
ランサムウェアは自身がトラバースしたすべてのディレクトリに身代金メモをドロップします。このメモのサンプルを次の図8に示します。ファイルの暗号化は、ファイル名のファイル拡張子によって異なります。ランサムウェアは、.exe、.dll、.keyなどの拡張子を持つファイルを除くすべてのファイルを暗号化します。暗号化ファイルのファイル拡張子は、ランダムに生成された7つの英数字で構成されています。
図8 身代金メモのサンプル
ランサムウェアはオペレーションの終了後、図9に示すように、被害マシンのデスクトップ壁紙を改変し、身代金を要求するメッセージを表示します。
身代金メモには、被害者がTorネットワーク上またはdecryptor[.]topドメイン上で身代金を支払う方法についての詳細説明が含まれています。
図9 改変されたデスクトップの壁紙
結論 / 緩和策
予備的な指標からはパロアルトネットワークスのテスト用サイトに対してCVE-2019-2725をターゲットにした600回以上の悪用が試みられたことが分かっており、私たちはこの数が急増すると予想しています。インターネット上で公開されている多数のWebLogicインスタンス、企業環境で利用されている不明な数のプライベートインスタンスに鑑みれば、悪用の試みは今後もエスカレートすることでしょう。
すべてのWebLogic Serverインスタンスにとって、この攻撃に対する最も効果的な緩和策は、WebLogic Serverインスタンスに最新のアップデートを適用することです。オラクルによるパッチリリースの前には、代替緩和策も提案されていました。 すなわち、wls9_async_response.warパッケージを削除することと、/_async/*および/wls-wsat/*を含むURLへのアクセスを制限することです。
パロアルトネットワークス製品をご利用中のお客様は、次の製品とサービスによってこれらのCriticalな脆弱性から保護されています。
- Threat Prevention シグネチャ 55570、18994、18996
- PAN-DB で攻撃者のC2サーバのIP/ドメインを遮断
- WildFireとAntivirusで攻撃中に生成されたマルウェアを識別・遮断
パロアルトネットワークス製品を利用していない場合は、こちらのOracleのドキュメントを参照し、本脆弱性とパッチについての情報を取得してください。
パロアルトネットワークスは本稿で見つかったファイルサンプルや侵害の兆候などをふくむ調査結果をCyber Threat Alliance(CTA サイバー脅威アライアンス)のメンバーと共有しました。CTA のメンバーはこのインテリジェンスを使用して、お客様に保護を迅速に提供し、悪意のあるサイバー攻撃者を体系的に阻害することができます。Cyber Threat Allianceの詳細については、次のWebサイトをご覧ください: www.cyberthreatalliance.org
侵害の痕跡(IOC)
マイニングプール:
- 185[.]161[.]70[.]34:3333
- 202[.]144[.]193[.]184:3333
- 205[.]185[.]122[.]99:3333
Moneroウォレット:
4AB31XZu3bKeUWtwGQ43ZadTKCfCzq3wra6yNbKdsucpRfgofJP3YwqDiTutrufk8D17D7xw1zPGyMspv8Lqwwg36V5chYg
ダウンロード元のIPアドレス/URL
- hxxp://165.22.155.69/cow[.]exe
- hxxp://188.166.74.218/go[.]b64
- hxxp://107.174.47.156/1[.]ps1
SHA256値
- 4f9020f7e1c2a43a08c117b8d3323421eb1c920b5bad70adb92cbbf882cdf3a9 (original filename: go.exe)
- c213492008177ae1cda8903a46fb1b766f41c58051f1527237a597243885a87e (xmrig.exe)
- 3e35f125ea1256a443dcc4eee612f87025f9af7c45a22e95e5a2bd3e53f491eb (1.ps1.txt)
- c799b4a7d14bb911e40c427517eeef96111383a4b3960c8707a27055eef8ecb0(cow.exe)
- 33135d6e0b8ac14693758ca2e37f27059e202ee72b419ab362fc07d232bb8a10(go.b64.txt)
ランサムウェアのURL/ドメイン
- hxxp[:]//aplebzu47wgazapdqks6vrcv6zcnjppkbxbr6wketf56nf6aq2nmyoyd[.]onion/8D034B77DA7BC90E
- hxxp[:]//decryptor[.]top/8D034B77DA7BC90E