サイバーセキュリティ・サービス業界のグローバル リーダーであるSecureworks® (NASDAQ:SCWX) のリサーチチーム、カウンター・スレット・ユニット:Counter Threat Unit™ (以下、CTU) は、攻撃者グループ 「BRONZE RIVERSIDE」 (別名:APT10、Stone Panda、POTASSIUM、Red Apollo、CVNX) が、中国が関与しているとされるグループであり、バックドア タイプのマルウェア 「ANEL (エーネル)」 を用いて、2017年9月から日本を標的とした攻撃活動を行っていることを確認しました。また、同攻撃者グループは、定期的にANEL のバージョンアップを実施しており、機能を拡張しながら現在も攻撃に利用しています。
CTUのリサーチャーは、BRONZE RIVERSIDEが利用するANELの新しいバージョンの解析を実施しました。BRONZE RIVERSIDEに関与したとされる2人の人物が2018年12月、米司法省によって起訴されましたが、CTU のリサーチャーは、今後も引き続き、同攻撃者グループが日本国内に対して脅威をもたらす可能性が高いと考えています。
BRONZE RIVERSIDE は、産学官を問わず様々な組織に対して攻撃を行っており、とりわけ、マネージド・サービス・プロバイダーへの攻撃が散見されています。ANELを利用した日本国内への標的型攻撃の対象としては主に、政府関連組織や政治団体などが確認されています。ANELに感染すると、感染端末の情報やデスクトップのスクリーンショットが収集され、機密情報の収集や他の端末への横展開を行うためのツールがダウンロードされた後、実行されます。ANELが最初に確認されたのは2017年9月、バージョン5.0.0 beta1で、現在までに少なくとも11バージョンが存在しています。公開情報では、2018年9月中旬にANELバージョン5.4.1に関する情報が発表されています。
本レポートでは、新しいバージョンである5.5.0 rev1に関して、感染時の動作、前のバージョンからアップデートされた点などについて解説を行います。
図 1. ANELにハードコードされているバージョン情報。左は最初に確認されたバージョン5.0.0 beta1、右は最近確認されたバージョン5.5.0 rev1 (出典: Secureworks)
CTUのリサーチャーが解析したバージョン5.5.0 rev1のANELは、パスワード保護されたWord文書に含まれるマクロコードの中に仕込まれています。ユーザーがWord文書を開いてマクロを有効にすることで、マクロコードが実行されて最終的に3つのファイル (EXEファイル、DLLファイル、バイナリファイル) が 、%AllUsersProfile% 配下に生成され、EXEファイルが実行されます。EXEファイルは正規ファイルを悪用しており、DLLハイジャッキングの手法を用いて不正なDLLをロードします。続いて、DLLファイルがバイナリファイルをロードし、その中に含まれているANELを復号してEXEファイルのプロセス上に展開して実行します。(図2)
また、ANELは、端末が再起動された際に自身を再感染させるために、以下のレジストリキーにEXEファイルを登録します。
HKCU\Software\Microsoft\Windows\CurrentVersion\Run
図 2. ANEL 5.5.0 rev1による攻撃の流れ (出典: Secureworks)
ANELバージョン5.5.0 rev1のバックドア機能は、バージョン5.4.1から変更されていません。表1は、攻撃者が入力するコマンド文字列を元に計算されたハッシュ値 (xxhash) と、それに対応するバックドア機能です。
入力コマンドから計算されたハッシュ値(xxhash) | 機能 |
0x97A168D9697D40DD | ファイルのダウンロード |
0x7CF812296CCC68D5 | ファイルのアップロード |
0x652CB1CEFF1C0A00 | PEファイルのロード |
0x27595F1F74B55278 | ファイルのダウンロード及び実行 |
0xD290626C85FB1CE3 | タイムゾーン情報の取得 |
0x409C7A89CFF0A727 | PNG形式のスクリーンショット取得 |
上記以外 | cmd.exeによるコマンドの実行 |
表 1. ANELバージョン5.0.0 rev1のコマンドリスト. (出典: Secureworks)
バージョン5.4.1から更新された点として、窃取した感染端末の情報をC2サーバーに送信する際に利用する暗号化アルゴリズムがBlowfishからChaCha20に変更されていることが挙げられます。図 3では、バージョン毎の暗号化アルゴリズムおよび暗号化に利用される鍵の情報を示しています。
バージョン |
暗号化 アルゴリズム |
暗号鍵 |
5.0.0 beta1 | Blowfish | "this is the encrypt key" |
5.1.1 rc0 | ||
5.1.2 rc1 | ||
5.2.0 rev1 | ||
5.2.2 rev2 | C2 URLを元に計算したMD5ハッシュ値に紐づく値 | |
5.3.0 | ||
5.3.1 | ||
5.3.2 | ||
5.4.1 | ||
5.5.0 rev1 | ChaCha20 |
図 3. ANELが用いる暗号化アルゴリズムと暗号鍵の変化 (出典: Secureworks)
ANELバージョン5.5.0 rev1は、HTTP GETおよびPOSTリクエストを利用してC2サーバーと通信を行います。
その際に利用されるフォーマットは、以下の通りです。
GET or POST /<hard-coded string>/?<Random String>=<item 1>&<Random String>=<item 2>&... &<Random String>=<item n>
C2サーバーとの最初の通信でANELは、表2に示す1から9のアイテムを暗号化して送信します。その際のHTTP POSTリクエストの例は図 4で、POSTリクエストの場合は、データ部にデスクトップのスクリーンショットであるPNG画像ファイルを暗号化して追加します。
アイテム | 内容 |
N/A | ハードコードされた C2 URL |
1 | 16進数表記のANELプロセスID、PC名とGUIDから計算したMD5ハッシュ値、PC名 |
2 | タイムスタンプ |
3 | OSバージョン |
4 | ユーザー名 |
5 | タイムゾーン |
6 | カレントディレクトリ |
7 | ANELバージョン |
8 | プロキシ情報 |
9+ | パラメータ情報 |
表 2. ANEL HTTP GET/POSTリクエストでC2サーバーに送信される情報 (出典: Secureworks)
図 4. ANEL POSTリクエストの例。赤字で示されているのが暗号化されたアイテム (出典: Secureworks)
図 5では、表2で示すアイテム4のユーザー名が暗号化される流れを示しています。
図 5. ANEL 5.5.0 rev1により窃取したデータの暗号化の流れ (出典: Secureworks)
ANELはまず始めに、接続するC2 URL情報を元に計算したMD5ハッシュ値に紐づく、ハードコードされた暗号鍵を選択します。(図 6および 7)
図 6. 暗号鍵の選定手順 (出典: Secureworks)
図 7. 暗号鍵の選定手順の疑似コード (出典: Secureworks)
次に、選定した暗号鍵の末尾16バイトの内、8バイトずつを入れ替えます (図 8)。
図 8. 選定した暗号鍵の部分的な入れ替え処理 (出典: Secureworks)
その後、編集した暗号鍵を用いてChaCha20で暗号化を行います。暗号化した後のデータに対し、さらにXORとBase64によるエンコードを行い、HTTPリクエストに追加します。そして、同様の処理をアイテム毎に実施します。
CTUのリサーチャーは、ANELの脅威を軽減するために、表3に示すインディケータを検知およびブロックすることを推奨しています。URLには不正なコンテンツが含まれている可能性があるため、取り扱いには十分ご注意ください。
インディケータ | タイプ | 備考 |
9f52a3fa4d8268cb2236bf2aac27ce06073b3dd82 e4bddd58fe9e3dd60e67deb |
SHA256 hash | 不正なDLLファイルをサイドロードするための正規のEXEファイル |
f333358850d641653ea2d6b58b921870125af1fe7 7268a6fdfeda3e7e0fb636d |
SHA256 hash | ANELバックドアのバイナリファイルをロードするためのDLLファイル |
619B293D3561FB9740AB2F2036488076C3AE7 E1EEEE5EB5D6C7722815BCB9A03 |
SHA256 hash | 暗号化されたANELバックドアが含まれたバイナリファイル |
b7052d964943d38b6445836594a075060636f170 f5ab812941d5add720fc9178 |
SHA256 hash | 復号後のANELバックドア |
http://220 . 158 . 216 . 108/FtV8 | URL | ANEL C2 server |
http://www . skilllm0dr . com/YDVmq5C | URL | ANEL C2 server |
http://vitalikvasuluk . jetos . com/XGjk | URL | ANEL C2 server |
表3. インディケータ情報 (出典: Secureworks)
■ 本レポートの内容については、2019年1月18日東京・御茶ノ水ソラシティカンファレンスセンターで開催されたJapan Security Analyst Conference 2019 (JPCERTコーディネーションセンター主催) にて、CTUのメンバーとして日本で調査活動を行う
玉田 清貴 が 「APT10による ANEL を利用した攻撃手法とその詳細解析」 と題して発表を行いました。同イベントの開催レポートを下記リンクよりご覧頂けます。また当日、玉田が使用した資料もダウンロードが可能となっております。
- Japan Security Analyst Conference 2019開催レポート ~後編~ https://blogs.jpcert.or.jp/ja/2019/02/jsac2019report2.html