日本を狙う標的型サイバー攻撃キャンペーン「ChessMaster」、4月に確認された最新攻撃手法を解説

トレンドマイクロでは、ユーザを保護するためにサイバー攻撃の監視を行っています。その監視の中で、日本を狙う標的型サイバー攻撃キャンペーン「ChessMaster」の新たな活動をこの 2018年 4月に確認しました。ChessMaster は 2017年 7月から確認されている攻撃キャンペーンであり、当初は学術界、メディア、政府機関のような日本の組織を標的としてさまざまな攻撃ツールと手法を駆使した攻撃を行っていました。

利用する手口の巧妙さから当初推測された通り、ChessMaster はその後もツールおよび手法を変化させながら活動を続けてきました。以前の活動では、「ChChes」のような「Remote AccessTool(RAT)」を利用していましたが、2017年9月以降は新しいバックドア型マルウェア「ANEL(エイネル)」の利用を確認しています。今回も、複数の脆弱性を利用するANELの新たな亜種(「BKDR_ANEL.ZKEI」として検出)の利用が確認されました。

本記事では、ANEL の変遷とその利用手法を中心に、今回確認された ChessMaster の活動およびツールについて解説します。

活動時期 2017 年 7 月 2017 年 9 月 2018 年 4 月
侵入経路 おとり文書を添付した標的型メール

  • 不正なショートカットファイル(拡張子:LNK)および 「PowerShell」を利用
  • 自己解凍型ファイル(拡張子:SFX)を利用
  • ランタイムパッカーの利用
おとり文書を添付した標的型メール

  • 脆弱性「CVE-2017-8759」を利用
おとり文書を添付した標的型メール

  • 脆弱性「CVE-2017-11882」を利用
  • 「DDEAUTO」を利用
  • Microsoft Office のフレーム機能、リンクの自動更新機能を利用
特筆すべきツールや手法
  • パスワード窃取ツール等のハッキングツール
  • 感染 PC に第二段階のマルウェアを作成
  • RAT「Koadic」
  • パスワード復旧ツール等のハッキングツール
  • 感染 PC に第二段階のマルウェアを作成
  • RAT「Koadic」
  • パスワード復旧ツール等のハッキングツール
  • 感染 PC に第二段階のマルウェアを作成
バックドア型マルウェア
  • 「ChChes」
  • 「ANEL」
  • 「ANEL」

表 1:ChessMaster が利用する手法とツールの変遷

■技術的な解析

今回確認された活動における感染の流れ

図 1:今回確認された攻撃における感染の流れ

今回確認された ChessMaster の攻撃も、以前と同様に「.doc」、「.docx」、「.rtf」、「.csv」、「.msg」形式の不正なファイルが添付されたメールから始まります。メールの件名と添付ファイルのファイル名は日本語で書かれており、ビジネスや政治経済に関する以下のような一般的な用語が含まれています。

  • 世界経済
  • 経済政策
  • 予算概算要求
  • 日米対話
  • 安倍再任
  • 連絡網
  • 職員採用案
  • 会議

しかし、添付ファイルが利用する脆弱性や正規機能には変化が見られます。2017 年 9 月の活動では、第二段階のマルウェアをダウンロードするために、Microsoft .NET フレームワークにおける SOAP WSDL パーサーの脆弱性「CVE-2017-8759」が利用されました。引き続き利用が確認されているこの脆弱性に加え、今回の活動では、脆弱性「CVE-2017-11882」が利用されています。この脆弱性は、改変されたバージョンの情報窃取型マルウェア「Loki」を送り込む際にも利用されていることが確認されています。CVE-2017-8759 は 2017 年 9 月に、CVE-2017-11882 は 2017 年 11 月に更新プログラムが既に公開されています。

脆弱性「CVE-2017-11882」の利用

図 2:脆弱性「CVE-2017-11882」の利用

他に、Microsoft Office の 3 つの正規機能も悪用します。

機能 目的 実際の攻撃で確認された Microsoft Office 文書のファイル形式
Automatic Dynamic Data Exchange(DDEAUTO) 別の Office ファイルからデータを取得する 「.doc」、「.rtf」、「.msg」
リンクの自動更新 ファイルを開いた際に、ユーザの操作無しで自動的にリンクを更新する 「.csv」
Microsoft Word の フレーム機能 HTML またはテキストページを Microsoft Word のフレーム内に読み込む機能 「.docx」

表 2:ChessMaster が利用する Microsoft Office の正規機能

DDEAUTO 機能の利用

図 3:DDEAUTO 機能の利用

Microsoft Word のフレーム機能の利用

図 4:Microsoft Word のフレーム機能の利用

リンクの自動更新機能の利用

図 5:リンクの自動更新機能の利用

ChessMaster は上述のいずれかの方法で、侵入後の不正活動に利用するツール「Koadic」をダウンロードします。Koadic はオープンソースの RAT です。以前の活動でも、特に環境情報のような感染 PC の情報を窃取するために Koadic が利用されていました。

Koadic は以下の形式でコマンドを実行します。

%comspec% /q /c <コマンド> 1> <出力先> 2>&1

図6 と図7 は異なるバージョンの ANEL に感染した端末で確認された攻撃者からのコマンド実行結果です。それぞれ実行されているコマンドの順序が異なっており、感染端末の情報収集の手順が統一化されていないことが分かります。「ANEL 5.1.2 rc1」を利用する場合、ダウンロードするデータを暗号化するために HTTPS が使用されています。

ANEL 5.1.1 rc を利用する場合のKoadic のコマンドおよび出力先

図 6:ANEL 5.1.1 rc を利用する場合のKoadic のコマンドおよび出力先

ANEL 5.1.2 rc1 を利用する場合のKoadic のコマンドおよび出力先

図 7:ANEL 5.1.2 rc1 を利用する場合のKoadic のコマンドおよび出力先

以下は Koadic の関数の一覧です。

<変数>.user ユーザに関連する関数
<変数>.user.isElevated 権限の確認
<変数>.user.OS OS バージョンの取得
<変数>.user.DC レジストリからドメインコントローラ(DC)名を取得
<変数>.user.Arch アーキテクチャ情報を取得
<変数>.user.info ユーザ情報を取得
<変数>.work 主な機能を担う関数
<変数>.work.report サーバに報告を送信
<変数>.work.error エラーを返す
<変数>.work.make_url URL(C&C)を変更/修正
<変数>.work.get POST リクエストの応答を取得
<変数>.work.fork “rundll32.exe” プロセスを作成
<変数>.http HTTP 接続関連の関数
<変数>.http.create 初期のHTTPオブジェクトを作成
<変数>.http.post POST ヘッダ
<変数>.http.addHeaders HTTP ヘッダを追加
<変数>.http.get GET ヘッダ
<変数>.http.upload バイナリファイル/データのアップロード
<変数>.http.bin2str 文字列操作
<変数>.http.downloadEx レスポンスをダウンロード
<変数>.http.download 追加のダウンロード関数
<変数>.process プロセス関連の関数
<変数>.process.currentPID 現在のプロセスIDを取得
<変数>.process.list プロセスの列挙
<変数>.process.kill プロセスの終了
<変数>.registry レジストリ関連の関数
<変数>.registry.HKCR 「HKEY_CLASSES_ROOT」を設定
<変数>.registry.HKCU 「HKEY_CURRENT_USER」を設定
<変数>.registry.HKLM 「HKEY_LOCAL_MACHINE」を設定
<変数>.registry.STRING 文字列を設定
<変数>.registry.BINARY バイナリ値を設定
<変数>.registry.DWORD DWORD 値を設定
<変数>.registry.QWORD QWORD 値を設定
<変数>.registry.write レジストリ値の書き込み/追加
<変数>.registry.provider レジストリハンドルの作成
<変数>.registry.destroy レジストリキーの削除
<変数>.registry.read レジストリ値の取得/読み取り
<変数>.WMI WMI 関連の関数
<変数>.WMI.createProcess 指定したプロセスを作成
<変数>.shell ファイル/プロセス実行に関連した関数
<変数>.shell.run コマンドの実行
<変数>.shell.exec プロセスの実行
<変数>.file ファイル関連の関数
<変数>.file.getPath ファイルパスの取得
<変数>.file.readText 指定したテキストファイルの読み込み
<変数>.file.get32BitFolder システムフォルダの取得(32/64ビット)
<変数>.file.writol 指定したファイルへの書き込み
<変数>.file.deleteFile 指定したファイルの削除
<変数>.file.readBinary 指定したバイナリファイルの読み込み

表 3:Koadic の関数の一覧

ダウンロードされた Koadic が実行するコマンド

図 8:ダウンロードされた Koadic が実行するコマンド(<変数>.shell.exec の形式で利用)

Koadic が収集した情報に基づき、感染 PC を攻撃対象として判別した場合、Koadic はコマンド&コントロール(C&C)サーバから Base64 方式で暗号化された ANEL をダウンロードし、実行します。次に、暗号化された ANEL を「certutil -decode」コマンドによって復号します。ANEL が実行されると、“lena_http_dll.dll”というファイル名の復号された「ダイナミック・リンク・ライブラリ(Dynamic Link Library、DLL)」がメモリに展開されます。この DLL は、「crt_main」または「lena_main」のいずれかのエクスポート関数を含んでいます。

Koadic が Base64 方式で暗号化された ANEL をダウンロード

図 9:Koadic が Base64 方式で暗号化された ANEL をダウンロード

ANEL は感染 PC の環境情報を C&C サーバに送信します。この時、ANEL は、「Blowfish」、XOR、および Base64 の暗号化方式を使用して送信する情報を暗号化します。この手法は、ChChes に似ていますが、ANEL の暗号化方式はより単純化されています。

「blowfish」による暗号化に使用する暗号化鍵

図 10:「blowfish」による暗号化に使用する暗号鍵 “this is the encrypt key”

トレンドマイクロが ANEL を初めて確認したのは 2017 年 9 月です。PC に侵入した ANEL はまず正規システムプロセス ”svchost.exe” にコードを注入します。このコードによって自身に埋め込まれているバックドア型マルウェアを復号し実行します。この初期バージョンの ANEL には「5.0.0 beta1」というバージョンがハードコードされており、不完全なコードも含まれていました。そのため、将来的に新しいバージョンが出現することが当時から予測されていました。

弊社が確認している ANEL のバージョンは以下の 4 種類です。

  • 5.0.0 beta1
  • 5.1.1 rc
  • 5.1.2 rc1
  • 5.2.0 rev1

各バージョンの違いは、ローダとメインの DLL です。各バージョンの違いは図 11 の通りです。

ANEL の各バージョンの違い

図 11:ANEL の各バージョンの違い

表 4 は、ANEL のバックドアコマンドをバージョンごとに整理した一覧です。

コマンド(CMD)ID 5.0.0 beta1/5.1.1 rc/5.1.2 rc1 5.2.0 rev1
0x97A168D9697D40DD ファイルの保存
0x7CF812296CCC68D5 ファイルのアップロード
0x652CB1CEFF1C0A00 無し 新しい PE ファイルの読み込み
0x27595F1F74B55278 ファイルの保存と実行
上記のいずれにも一致しない場合 コマンドまたはファイルの実行

表 4:ANEL の各バージョンにおけるバックドアコマンドの違い

各バージョンで小さな変更が加えられていることが分かります。例えば、1 番目の「5.0.0 beta1」の C&C サーバは以降のバージョンとは異なります。2 番目の「5.1.1 rc」ではローダのファイル形式が DLL からEXE に変わり、C&C サーバも変更されています。その後、3 番目の「5.1.2 rc1」ではローダのファイル形式が DLL に戻り、C&C サーバには変更がありませんでした。4 番目の「5.2.0 rev1」では、メインの DLL のエクスポート関数と C&C サーバの両方が変更されています。以上より、ChessMaster の攻撃者は、段階的な変更を繰り返しながら ANEL を巧妙化させてきたことが分かります。

ANEL のバックドア機能の違い

図 12:ANEL のバックドア機能の違い
ANEL 5.0.0 beta1、5.1.1 rc、5.1.2 rc1(左)
ANEL 5.2.0 rev1(右)

PC に侵入した ANEL は、不正活動のためにさまざまなツールをダウンロードします。“Getpass.exe” は Protected Storage やブラウザの情報を、”Mail.exe” はメールクライアントの情報を窃取するためのツールです。また、「DLLサイドローディング攻撃」または「DLLハイジャッキング」と呼ばれる良く知られた攻撃手法を利用して異なるバージョンの ANEL を実行するために、以下の 3つのファイルをダウンロードします。

  • “accevent.exe” :「DLL サイドローディング攻撃」に利用するための正規ファイル。イベントを記録する Windows のツール「Microsoft Accessible Event Watcher 7.2.0.0」
  • “event.dll”:”ssssss.ddd” のローダ(「TROJ_ANELLDR」として検出)
  • “ssssss.ddd(lena_http.bin)”: 暗号化された「BKDR_ANEL」(「BKDR_ANELENC」として検出)

これら 3 つのファイルの中で、メインとなる実行ファイルは ”accevent.exe” です。通常は正規のファイルがそのまま利用されます。“accevent.exe” が実行されると、優先的に読み込ませるために同一フォルダ内に配置された ”event.dll” を読み込みます。次に、”event.dll” が暗号化されたバックドア型マルウェア ”ssssss.ddd” を復号し読み込みます。この “ssssss.ddd” は「BKDR_ANEL」でした。「ANEL 5.1.1 rc」を解析した際には、暗号化された「ANEL 5.1.2 rc1」がダウンロードおよび実行されました。

■被害に遭わないためには(短期的対策)

ユーザが DDEAUTO や リンクの自動更新を利用しているオフィス文書を開くと、下のようなメッセージが表示されます。この時、「いいえ(N)」や「無効にする(D)」をクリックすることで不正活動を防ぐことが可能です。

DDEAUTO 機能を利用したファイルを開いた際に表示されるメッセージ

図 13:DDEAUTO 機能を利用したファイルを開いた際に表示されるメッセージ

リンクの自動更新機能を利用したファイルを開いた際に表示されるメッセージ

図 14:リンクの自動更新機能を利用したファイルを開いた際に表示されるメッセージ

Koadic は JScript のコードを平文で送信するため、トラフィックを検出することが可能です。

Koadic の通信トラフィック

図 15:Koadic の通信トラフィック

■被害に遭わないためには(中長期的対策)

一見すると、過去数カ月間の ChessMaster の変化は微妙な違いのように思われます。しかし、機能や侵入経路の変更が繰り返されてきたことを考えると、このキャンペーンの背後にいる攻撃者は今後もツールや手法を変化させ続けていくことが予想されます。企業や法人は、さまざまな対策技術を利用し、ベストプラクティスに従うことによって、今回のような標的型攻撃から自身を守る必要があります。脆弱性を利用した攻撃を防ぐためには、定期的に更新プログラムを適用し、さまざまなレベルにわたってネットワークを防御することのできるツールを利用してください。挙動監視、アプリケーションコントロールメールゲートウェイの監視、そして侵入検知システムのような機能を持ったセキュリティ対策製品の採用を検討してください。

サイバー攻撃に利用されるツール、戦術、手法が日々変化していることを考慮すると、企業や法人は基本的なセキュリティ業務を越えて、先取りして攻撃を検知する方法を見つける必要があります。つまり、プロアクティブなインシデント対応戦略による脅威の検出と対処が求められます。このようなインシデント対応戦略には、効果的に脅威に対処するための復旧計画の立案や24 時間体制の侵入検知および脅威の解析などが含まれます。通常、標的型攻撃は容易に検出されないように設計されているため、プロアクティブな戦略が有効です。また、そのようなセキュリティ対策をより効果的に実施するためには、企業や法人において意志決定者と技術者が互いに情報を共有し、共通認識を持つ必要があります。

■トレンドマイクロの対策

トレンドマイクロの総合サーバセキュリティ製品「Trend Micro Deep Security™」や「Trend Micro Virtual Patch for Endpoint™」、ネットワーク脅威防御ソリューション「TippingPoint」は脆弱性を悪用する脅威からエンドポイントを保護します。

エンドポイントセキュリティ対策製品「ウイルスバスター™ コーポレートエディション XG」や中小企業向けのクラウド型エンドポイントセキュリティサービス「ウイルスバスター™ ビジネスセキュリティサービス」は、不正なファイルや関連した不正なURLをブロックし、個人ユーザおよび企業を脅威から守ります。

ウイルスバスター™ コーポレートエディション XG」はクロスジェネレーション(XGen)セキュリティアプローチにより、グローバルスレットインテリジェンスに基づくさまざまな高度なセキュリティ技術に加えて、次世代の AI技術のひとつである高度な機械学習型検索を活用し、実行前・実行後両方に対応する独自のアプローチで、未知のファイルが脅威かどうか判別します。

ANELが通信するC&Cサーバの詳細な解析結果はこちらを参照してください。

■侵入の痕跡(Indicators of Compromise、IoC)

ChessMaster に関連するハッシュ値は以下の通りです。

  • 76b1f75ee15273d1226392db3d8f1b2aed467c2875e11d9c14fd18120afc223a
  • 4edcff56f586bd69585e0c9d1d7ff4bfb1a2dac6e2a9588f155015ececbe1275
  • 1b5a1751960b2c08631601b07e3294e4c84dfd71896453b65a45e4396a6377cc

「BKDR_ANEL ファミリ」として検出されたマルウェアのハッシュ値は以下の通りです。

5.0.0 beta1

  • af1b2cd8580650d826f48ad824deef3749a7db6fde1c7e1dc115c6b0a7dfa0dd

5.1.1 rc

  • 2371f5b63b1e44ca52ce8140840f3a8b01b7e3002f0a7f0d61aecf539566e6a1

5.1.2 rc1

  • 05dd407018bd316090adaea0855bd7f7c72d9ce4380dd4bc0feadc6566a36170

5.2.0 rev1

  • 00030ec8cce1f21120ebf5b90ec408b59166bbc3fba17ebae0fc23b3ca27bf4f

lena_http.bin

  • 303f9c00edb4c6082542e456a30a2446a259b8bb9fb6b0f76ff318d5905e429c

ChessMaster で利用されたツールのハッシュ値は以下の通りです。

Getpass.exe

  • 52a8557c8cdd5d925453383934cb10a85b117522b95c6d28ca097632ac8bc10d

event.dll

  • 6c3224dbf6bbabe058b0ab46233c9d35c970aa83e8c4bdffb85d78e31159d489

mail.exe

  • 2f76c9242d5ad2b1f941fb47c94c80c1ce647df4d2d37ca2351864286b0bb3d8

ChessMaster に関連する URL および IP アドレスは以下の通りです。

  • www[.]nasnnones[.]com
  • trems[.]rvenee[.]com
  • contacts[.]rvenee[.]com
  • 91[.]207[.]7[.]91
  • 89[.]18[.]27[.]159
  • 89[.]37[.]226[.]108
  • 185[.]25[.]51[.]116
  • 185[.]81[.]113[.]95
  • 185[.]144[.]83[.]82
  • 185[.]153[.]198[.]58
  • 185[.]159[.]129[.]226

参考記事:

翻訳: 澤山 高士(Core Technology Marketing, TrendLabs)