www.morihi-soc.net

誰もが安心して使える、安全なインターネットを目指して

ハニーポット観察記録(38)「WebLogic の WLS Security に対するコマンド実行の試み(CVE-2017-10271)」

どうも。ハニーポッターの森久です。

WOWHoneypot で、Oracle WebLogic Server の WLS Security に対するコマンド実行の試みと考えられる攻撃(CVE-2017-10271)を検知しました。

攻撃者は世界中にいます。平日・休日も関係なく、24/365で攻撃をしてきます。
このブログ記事のネタになった攻撃ログは2017年12月24日に検知していました。攻撃者からのクリスマスプレゼントかな?(いらない)

さてこの攻撃を検知したことをツイートしたところ、攻撃コード(PoC)が公開されており、実際に発生している攻撃の詳細が知りたいと連絡をいただいたので急遽、ブログ記事を書くことにしました。

 

攻撃リクエストサンプル(Attacker 1)

その1

その2

その3

※一部の情報を意図的に伏せています。

アクセスしているポートが WebLogic の標準ポートの7001であり、アクセスしているファイル名が「/wls-wsat/CoordinatorPortType」であること、POST のデータ部分等から、WebLogic の脆弱性(CVE-2017-10271)を狙った攻撃と考えられます。

Attacker 1 からの攻撃は全部で3つのリクエストに分かれていました。すべてのリクエストに共通する点は、/bin/sh コマンドの実行を試みているため、Linux 系の OS を狙っていると考えられます。

リクエストその1ですが、/bin/sh コマンド経由で実行を試みているのは wget コマンドです。外部から jiba というファイルをダウンロードします。
リクエストその2は、chmod コマンドで、ダウンロードした jiba ファイルの権限を777に変更しています。
最後にリクエストその3は、jiba プログラムを実行しています。
この一連の流れで重要なポイントは、やはり実行される jiba プログラムですよね。

jiba ファイルを VirusTotal で調査すると、いくつかのアンチウイルスソフトで仮想通貨をマイニングするプログラムと判定されることがわかります。

VirusTotalの検出状況

さらに ELF 形式のファイルを動的解析する Web サービスを提供している detux でも調査してみます。

detuxで動的解析した結果

luoxkexp[.]comドメインに対する json 形式の通信が発生しています。最初のリクエストに「XMRig」という文字列が見えます(赤枠内)。またファイル内容からも、おそらくこのファイルは仮想通貨の1種である Monero(XMR)を CPU マイニングするXMRig と考えられます。
XMRig  自体はマルウェアではありません。しかしながら今回は、攻撃者によって悪用されている可能性が高いといえます。

つまり Attacker 1による攻撃の狙いは、WebLogic の脆弱性を突いて仮想通貨をダウンロードおよび実行させて、Monero をマイニングすることだったと考えられます。

なおハニーポットの他のログを調査したところ、今回の脆弱性を突いた攻撃の狙いは、仮想通貨のマイニングだけでないことがわかりました。
冒頭で少し触れたように、攻撃者は世界中にいます。
すべての攻撃者が同じ狙いとは限りません。実際にこの脆弱性を突いた攻撃で、別の狙いと考えられる事例を次に紹介します。

 

攻撃リクエストサンプル(Attacker 2)

※一部の情報を意図的に伏せています。

Attacker 2の攻撃は、コマンド実行ではなさそうです。
利用する Java のクラスで java.io.PrintWriter を指定しています。PrintWriter クラスは、指定された文字列をファイルに出力する機能を持っています。
ここでは config.jsp ファイルに、なにやら書き出しています。書き出す内容は20-29行目の CDATA でくくられた部分です。

重要な部分だけ読み解いていくと、最初の if 文で、文字列の 023 と HTTP リクエストの pwd パラメータで指定された値を equals メソッドで比較しています。
条件分岐として、この条件(pwdに023が指定されている)を満たしていると、プログラムが次のステップへ進みます。
次に重要な部分は Runtime.getRuntime().exec() です。Runtime クラスの exec メソッドは、引数に指定されたコマンドを実行する機能を持っています。
しかしコマンドがハードコーディングされているわけではありません。HTTP リクエストの i パラメータで指定された文字列をコマンドとして実行するように作られています。
残りのプログラムはコマンド実行結果を表示するだけです。

以上を踏まえると、HTTP リクエストの pwd パラメータが 023 で、なおかつ i パラメータにコマンドが指定されていると、実行結果が得られると予測できます。
試しに実行してみます。検証環境にて、config.jsp ファイルを作成してアクセスしてみます。今回は、ホスト名を表示する hostname コマンドを実行してみます。

config.jspに対するコマンド実行結果

予想通り、コマンド実行結果として検証環境のホスト名が得られました。
つまり Attacker 2が今回の脆弱性を突いて、コマンド実行機能を備えた WebShell を不正に作成することが狙いだったと考えられます。
なおこの攻撃を検知したときに、WOWHoneypot のマッチアンドレスポンスルール*1 が無かったため、コマンド実行部分までは検知できませんでした。

 

まとめ

今回は WebLogic の脆弱性(CVE-2017-10271)について、WOWHoneypot で検知した攻撃リクエストを複数紹介しました。
攻撃者の狙いは、仮想通貨をマイニングするプログラムを不正にダウンロードさせて実行し、WebLogic サーバのリソースを使ってマイニングすることや、WebShell を作成して WebLogic サーバの不正操作することなど、様々です。

もし利用中の WebLogicが下記の影響を受けるバージョンだった場合は、至急アップデートすることを推奨します。

  • Oracle WebLogic Server 10.3.6.0.0
  • Oracle WebLogic Server 12.1.3.0.0
  • Oracle WebLogic Server 12.2.1.1.0
  • Oracle WebLogic Server 12.2.1.2.0

またすでに不正なプログラムが実行されていないか調査することを推奨します。
もっともマイニングプログラムが実行されていた場合、CPU 使用率が急騰している可能性が高いです。

攻撃者からのプレゼントを受け取るというか、マイニングさせられてしまって攻撃者に仮想通貨をプレゼントしないよう、十分ご注意ください。

なお今回の攻撃リクエストを分析し、WOWHoneypot のルールを追加しました。もし WOWHoneypot を利用しているハニーポッターは、是非アップデートしてください。

WOWHoneypot の GitHub リンク

 

*1 MRR:リクエスト内容に合わせて、応答内容を変える WOWHoneypot の機能の1つ。

 

IoC

不正な通信先 IP アドレス:27.148.157[.]89
不正な通信先ドメイン:luoxkexp[.]com
ファイル名:jiba
SHA256:a58d486ff3ddce6ec82328e1ba48fa823b2585f3de1ff95b7f8be5e85dbdfb4a

 

参考情報

Oracle Fusion Middleware の Oracle WebLogic Server における WLS Security に関する脆弱性(JVN iPedia)
http://jvndb.jvn.jp/ja/contents/2017/JVNDB-2017-008734.html

Oracle WebLogic Server のWLS Security に関する脆弱性(CVE-2017-10271)について(生産性のない話)
http://blue-blue.hatenablog.com/entry/2017/12/26/152927


告知

今回の記事の攻撃リクエストサンプル(Attacker 2)では、 WebShell の1つを紹介しました。ハニーポットを運用していると、WebShell はいろいろな種類を見ることができます。

そこで私の経験や調査結果などをふまえて、WebShell だけを取り上げた同人誌「WebShell 図譜」を作成しました。

内容は、WebShell の機能を分類して解説したり、WebShell そのものをスクリーンショットとともに見るデジタル標本、さらにはハニーポッター向けの WebShell 解析のテクニックなどをまとめました。

WebShell 図譜は、次回のコミックマーケット93の1日目(12月29日)東3ホール キ-45bにて頒布します。こちらのページで紹介していますので、よろしければどうぞ。

 

Written by 森久

12月 27th, 2017 at 11:18 pm