# オープンソースのRATを改良したマルウエア RedLeaves(2017-04-03) **jpcert.or.jp/magazine/acreport-redleaves.html** 朝長 [秀誠 (Shusei Tomonaga)](https://blogs.jpcert.or.jp/ja/shu_tom/) 2017/04/03 [RedLeaves](https://blogs.jpcert.or.jp/ja/tags/redleaves/) [メール](http://10.10.0.46/mailto:?subject=%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%82%BD%E3%83%BC%E3%82%B9%E3%81%AERAT%E3%82%92%E6%94%B9%E8%89%AF%E3%81%97%E3%81%9F%E3%83%9E%E3%83%AB%E3%82%A6%E3%82%A8%E3%82%A2RedLeaves%282017-04-03%29&body=https%3A%2F%2Fblogs.jpcert.or.jp%2Fja%2F2017%2F04%2Fredleaves.html) オープンソースのRATを改良したマルウエアRedLeaves ----- JPCERT/CCでは2016年10月頃から、RedLeavesと呼ばれるマルウエアに感染したことによ る情報漏えいなどの被害事例を複数確認しています。RedLeavesは2016年以降、新たに確 認されるようになったマルウエアで、標的型攻撃メールで送信されています。 今回は、RedLeavesの詳細や分析の結果判明したRedLeavesとPlugXとの関連性、 RedLeavesが作成されるベースとなったツールについて紹介します。 **RedLeavesが動作するまでの流れ** RedLeavesが動作するまでの流れを、図1に示しています。 図 1:RedLeavesが動作するまでの 流れ JPCERT/CCで確認している検体は、実行されると以下の3つのファイルを%TEMP%フォル ダに作成し、正規アプリケーションを実行します。 正規アプリケーション(EXEファイル): 同じフォルダに存在するDLLファイルを読み 込む署名された実行ファイル ローダー(DLLファイル): 正規ファイルにより読み込まれる不正なDLLファイル エンコードされたRedLeaves(DATAファイル): ローダーに読み込まれるエンコード されたデータ 実行された正規アプリケーションは、DLL Hijacking(DLLプリローディング)によって同じ フォルダ内に存在するローダーをロードします。DLL Hijackingについて詳しくは[1]を参照 してください。 正規アプリケーションにロードされたローダーは、エンコードされたRedLeavesを読み込 み、デコードし、実行します。実行されたRedLeavesは設定内容に応じてプロセス (Internet Explorer)を起動し、自身をインジェクションします。その後、RedLeavesはイ ンジェクションされたプロセスの中で動作するようになります。以降では、インジェクショ ンされたRedLeavesの詳細な挙動を解説します。 ----- **RedLeavesの挙動の詳細** RedLeavesは、特定のサイトとHTTPまたは独自プロトコルで通信を行い、受信した命令を 実行するマルウエアです。図2はインジェクションされたRedLeavesのPEヘッダ部分で す。”MZ”や”PE”などの文字列が”0xFF 0xFF”で削除されています。 図 2: インジェクションされた RedLeaves インジェクションされたRedLeavesは、HTTP POSTリクエストまたは独自プロトコルで C&Cサーバに接続します。通信先や通信方式については、設定情報に含まれています。設定 情報の詳細に関しては、Appendix Aをご覧ください。 以下は、HTTP POSTリクエストの例です。送信するデータのフォーマットについては、 Appendix B表B-1、表B-2をご覧ください。 POST /YJCk8Di/index.php Connection: Keep-Alive Accept: */* Content-Length: 140 Host: 67.205.132.17:443 [データ] データはRC4で暗号化(キーは設定情報に含まれている)されており、以下のような内容が 含まれています。 ``` __msgid=23.__serial=0.clientid=A58D72524B51AA4DBBB70431BD3DBBE9 ``` C&Cサーバから受信するデータには、コマンドなどが含まれており、受信したコマンドに応 じて、以下の機能を実行します。(受信するデータについてはAppendix B表B-3をご覧くだ さい) ファイル関連の操作 任意のシェルコマンド実行 通信方式の設定 ドライブ情報の送信 ----- システム情報の送信 ファイルアップロード・ダウンロード スクリーンキャプチャ プロキシ機能の実行 **RedLeavesのベースとなったコード** 以上のような機能を持つRedLeavesですが、分析した結果Github上で公開されている Trochilus[2]と呼ばれるRAT(Remote Administration Tool)のソースコードと類似する部分 が多数あることを確認しました。図3は、送受信するデータを処理するコードの一部です。 Appendix B表B-3で記載した内容と同じデータを処理していることが分かります。 図 3: Trochilusのソースコードの一 部 RedLeavesは、一から作成されたわけではなくTrochilusのソースコードを改良して作成され たと考えられます。 **PlugXとの関連性** JPCERT/CCで確認しているRedLeavesと、過去に特定の攻撃グループが使用していた PlugXを比較すると、一部の処理に類似のコード使われていることが分かりました。以下 は、本体が3つのファイル(正規アプリケーション、ローダー、エンコードされた RedLeavesまたはPlugX)を作成する際の処理です。 ----- 図 4: ファイル作成処理の比較 さらに、ローダーがエンコードされたデータ(エンコードされたRedLeavesまたはPlugX) をデコードする処理も類似しています。 図 5: ファイルデコード処理の比較 また、上記の類似のコードを持つRedLeavesとPlugXの検体の中には同じ通信先を使用する ものが存在することを確認しています。このことから、RedLeavesを使用している攻撃グル ープは、RedLeavesを使用する以前はPlugXを使って攻撃を行っていたと考えられます。 ----- おわりに RedLeavesは、2016年から確認されるようになった新しいマルウエアです。現在も標的型 攻撃メールとして送信されており、今後もRedLeavesを悪用した攻撃は続く可能性があるた め、注意が必要です。 今回解説した検体のハッシュ値に関しては、Appendix Cに記載しています。また、これま でJPCERT/CCで確認しているRedLeavesの通信先の一部はAppendix Dに記載していますの で、このような通信先にアクセスしている端末がないかご確認ください。 分析センター 朝長 秀誠 参考情報 [1] JPCERT/CC分析センターだより: 巧妙化するDLL hijacking ~ CVE2011-1991を悪用する 攻撃 ~(2013-01-31) [https://blogs.jpcert.or.jp/ja/2013/01/vol1.html](https://blogs.jpcert.or.jp/ja/2013/01/vol1.html) [2] Trochilus: A fast&free windows remote administration Tool [https://github.com/5loyd/trochilus](https://github.com/5loyd/trochilus) **Appendix A 設定情報** 表 A: 設定情報の一覧 オフセット 説明 備考 0x000 通信先1 0x040 通信先2 0x080 通信先3 0x0C0 ポート番号 0x1D0 通信モード 1=TCP, 2=HTTP, 3=HTTPS, 4=TCP and HTTP 0x1E4 ID 0x500 Mutex 0x726 インジェクションプロセス 0x82A RC4キー 通信の暗号化に使用 RC4キーの例 Lucky123 problems ----- 20161213 john1234 minasawa **Appendix B 送受信データの内容** 表 B-1: HTTP POSTリクエストで送信されるデータフォーマット オフセット 長さ 内容 0x00 4 RC4暗号化されたデータ長 (RC4キーの先頭の4バイトでXOR) 0x04 4 Server id (RC4キーの先頭の4バイトでXOR) 0x08 4 固定値 0x0C - RC4暗号化されたデータ 表 B-2: 独自プロトコルで送信されるデータフォーマット オフセット 長さ 内容 0x00 4 ランダムな数値 0x04 4 固定値 0x08 4 長さ 0x0C 4 RC4暗号化されたデータ長 (RC4キーの先頭の4バイトでXOR) 0x10 4 Server id (RC4キーの先頭の4バイトでXOR) 0x14 4 固定値 0x18 - RC4暗号化されたデータ 表 B-3: 受信データに含まれる内容 文字列 種類 内容 __msgid 数値 コマンド __serial 数値 __upt true など コマンドをスレッド実行するか ----- __data データ コマンドパラメータなど **Appendix C 検体のSHA-256ハッシュ値** RedLeaves ・5262cb9791df50fafcb2fbd5f93226050b51efe400c2924eecba97b7ce437481 PlugX ・fcccc611730474775ff1cfd4c60481deef586f01191348b07d7a143d174a07b0 **Appendix D 通信先一覧** ・mailowl.jkub.com ・windowsupdates.itemdb.com ・microsoftstores.itemdb.com ・67.205.132.17 ・144.168.45.116 [メール](http://10.10.0.46/mailto:?subject=%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%82%BD%E3%83%BC%E3%82%B9%E3%81%AERAT%E3%82%92%E6%94%B9%E8%89%AF%E3%81%97%E3%81%9F%E3%83%9E%E3%83%AB%E3%82%A6%E3%82%A8%E3%82%A2RedLeaves%282017-04-03%29&body=https%3A%2F%2Fblogs.jpcert.or.jp%2Fja%2F2017%2F04%2Fredleaves.html) この記事の筆者 朝長 [秀誠 (Shusei Tomonaga)](https://blogs.jpcert.or.jp/ja/shu_tom/) 外資系ITベンダーでのセキュリティ監視・分析業務を経て、2012年12月から現職。現在 は、マルウェア分析・フォレンジック調査に従事。主に、標的型攻撃に関するインシデント 分析を行っている。CODE BLUE、BsidesLV、BlackHat USA Arsenal、Botconf、PacSec、 FIRSTなどで講演。JSACオーガナイザー。 このページは役に立ちましたか? 0人が「このページが役に立った」と言っています。 その他、ご意見・ご感想などございましたら、ご記入ください。 こちらはご意見・ご感想用のフォームです。各社製品については、各社へお問い合わせくだ さい。 ----- javascriptを有効にすると、ご回答いただけます。 ありがとうございました。 ## 関連記事 HUI Loaderの分析 Anti-UPX Unpackingテクニック モバイル端末を狙うマルウェアへの対応FAQ 攻撃グループLuoYuが使用するマルウェアWinDealer ----- 攻撃グループBlackTechが使用するマルウェアGh0stTimes ≪ [前へ](https://blogs.jpcert.or.jp/ja/2017/03/impfuzzy_neo4.html) [トップに戻る](https://www.jpcert.or.jp/ja/) [次へ](https://blogs.jpcert.or.jp/ja/2017/05/redleaves2.html) ≫ ## ライター 関 口 恵田 汰洞 河 野 一 之 ----- 岩 崎 照 寺 本 健 -----