マルウェア
攻撃者集団「Iron Tiger」が使用ツールを更新、新たな攻撃手法を解説
攻撃者集団「Iron Tiger」による東南アジアのギャンブル企業を標的とした攻撃キャンペーン「Operation DRBControl」が確認されてから1年以上が経過しましたが、この度「Iron Tiger」が引き続きギャンブル業界を狙っている証拠が新たに確認されました。このブログ記事では、Iron Tigerが攻撃に使用するツールキットが更新され、従来3つのファイルを使用して感染させるマルウェアであった「SysUpdate」が5つのファイルを使用するものへ変更された点について解説します。
攻撃者集団「Iron Tiger」による東南アジアのギャンブル企業を標的とした攻撃キャンペーン「Operation DRBControl」が確認されてから1年以上が経過しましたが、この度「Iron Tiger」が引き続きギャンブル業界を狙っている証拠が新たに確認されました。
このブログ記事では、Iron Tigerが攻撃に使用するツールキットが更新され、従来3つのファイルを使用して感染させるマルウェアであった「SysUpdate」が5つのファイルを使用するものへ変更された点について解説します。また、これまでに確認されている類似の「TTPs(=Tactics, Techniques and Procedures:戦術、技術、手順)」から考察される他の攻撃者グループとの関連性について説明します。最後に、Iron Tigerが使用するルートキットについて解説します。中でもカーネルレベルでファイルを隠蔽するために使用されるルートキットは、これまでIron Tigerによる使用が確認されていなかったものです。
■攻撃者集団「Iron Tiger」とは
「Iron Tiger」(別名:「APT27」、「LuckyMouse」、「EmissaryPanda」など)は少なくとも2010年から活動していると見られる攻撃者集団です。2019年、セキュリティサービス会社「Talent-Jump Technologies, Inc」(以下Talent-Jump)は、あるギャンブル企業のインシデント対応で複数のマルウェアを確認しました。さらに詳しい調査と分析を進めるため、トレンドマイクロが協力することとなりました。調査の結果、ギャンブル企業で確認されたマルウェアはIron Tigerが使用するものであると判断されました。この調査協力をきっかけに、トレンドマイクロではレポート「Uncovering DRBControl: Inside the Cyberespionage Campaign Targeting Gambling Operations(英語)」をまとめました。
その後も2020年と2021年には、Iron Tigerが使用するマルウェアの新しいサンプルがいくつかTalent-Jumpによって確認されました。
一方トレンドマイクロは、2019年の「Operation DRBControl」の調査中、複数の攻撃者集団に関連がみられることを確認しました。
- Iron Tiger :マルウェア「HyperBro」および複数のインフラストラクチャのリンクを使用する
- Winnti :IronTigerと同じインフラストラクチャとコード共有リンクを使用する(詳細はリ
- サーチペーパー「Uncovering DRBControl: Inside the Cyberespionage Campaign Targeting Gambling Operations」(英語)を参照)
- Bronze President:非政府組織(NGO)を標的とするサイバー犯罪者集団。弊社では2019年当時新種と判断されたマルウェアファミリを 「Type 2」と命名
しかし、リサーチペーパーの公開後、「Type 2」と名付けたマルウェアは、Dell Secureworks社が2019年12月にブログで解説したマルウェア「RCSession」と同一のものであったことが確認されました。
現在ではIron Tigerが使用するツールが複数確認されており、Operation DRBControlの調査中に新しく確認されたマルウェアはIron Tigerに帰属するものであった可能性が高いと考えられます。なお、Iron Tigerは現在「Earth Smilodon」として追跡されています。
■「SysUpdate」マルウェアの新たな感染手法
図1:旧「SysUpdate」と新「SysUpdate」の感染チェーン
トレンドマイクロは2020年12月、「SysUpdate」(別名:「Soldier」、「FOCUSFJORD」、「HyperSSL」)に属するとみられるサンプルを確認しました。SysUpdateは、2018年に最初にNCC Groupによって報告されているマルウェアです。
従来、マルウェア「SysUpdate」は、以下の「3つのファイル」を利用する方法でメモリにロードされていました。
- 正規の実行ファイル:署名されている場合もある。ダイナミックリンクライブラリ(DLL)のサイドローディングに脆弱なファイル
- 不正DLLファイル:正規の実行ファイルがロードするファイル
- バイナリファイル:通常難読化されたコードが含まれる。不正DLLによってメモリ内にアンパックされたファイル
今回調査したサンプルでは、従来の3つではなく、以下の5つのファイルが使用されていました。追加されたランチャーとして機能する実行ファイルがメモリにロードされ、次に最終的なペイロードであるSysUpdateがロードされます。
- dlpumgr32.exe:データ暗号化ソフト「DESlock」+製品に含まれる正規の署名入り実行ファイル
- DLPPREM32.DLL:dlpumgr32.exeによってサイドローディングされた不正DLL。
- LPPREM32.binの読み込みとデコードを行う
- DLPPREM32.bin:ランチャーを解凍してメモリ内に読み込むシェルコード
- data.res:ランチャーによってデコードされた暗号化ファイルで、2つのバージョンの
- SysUpdate(32ビットアーキテクチャ用と64ビットアーキテクチャ用)が含まれる
- config.res:ランチャーによってデコードされた暗号化ファイルで、コマンドアンドコントロール(C&C)アドレスなどSysUpdateの設定が含まれる
■更新されたツール:ランチャー
簡潔に言えば、ランチャーはインストーラの役割を果たします。マルウェアを固定の場所にコピーし、感染コンピュータの次回起動時に実行されるようにします。具体的には、このプロセスには複数の段階があります。
ランチャーは、以下の構造を持つCLoadInfoオブジェクトをインスタンス化することから開始します。
オフセット | 内容 | 解析サンプルに確認されたハードコードされた値 |
0 | CLoadInfoクラスのVTable | |
4 | 全てのファイルのコピー先ディレクトリ | %PROGRAMDATA%\Test\ |
8 | 正規の実行ファイルの名前 | dlpumgr32.exe |
12 | サイドローディングされるDLLの名前 | DLPPREM32.DLL |
16 | シェルコードの名前 | DLPPREM32.bin |
20 | 暗号化されたペイロードの名前 | data.res |
24 | 暗号化されたペイロードのMD5 | e43e40416520dab5b4c44ac8af907078 |
28 | 暗号化された設定ファイルの名前 | config.res |
32 | レジストリキー値の名前 | servTest |
36 | サービスディスプレイ名 | Servdisplay |
表1:CLoadInfoオブジェクトの構造
ランチャーの動作は、実行ファイルに渡される引数の数に応じて変化します。注目する点として、動作の変化は引数の数にのみ依存し、コンテンツには依存しません。
- 引数なし:引数がない場合は、ハードコードされたディレクトリが作成され、そこにすべてのファイルがコピーされる。「CreationTime」、「LastWriteTime」、「LastAccessTime」は、C:Windows\system32\kernel32.dllファイルに従って更新され、ファイル属性は「hidden」と「system」に設定される。Windows Management Instrumentation(WMI)を使用して、dlpumgr32.exeを引数「-up -run -x」で実行し、現在のプロセスを終了させる
- 引数が1つの場合:環境設定ファイルのデコードと活動持続化の設定をスキップし、3つの引数を持つ場合と同一の動作を行う
- 引数が3つの場合:
- ランチャーは最初にハードコードされたDES(Data Encryption Standard)キーでconfig.resファイルを復号。別のキーで暗号化し、レジストリキー「SoftwareClasses\scConfig」(プロセスの権限に応じて、HKEY_LOCAL_MACHINEまたはHKEY_CURRENT_USERハイブ)に書き込む
- 設定の復号後、config.resファイルが削除される
- プロセスの権限に応じて、マルウェアは 「Software\Windows\CurrentVersion\Run」キーに値を追加するか、起動時にマルウェアを実行するサービスを作成する
- The launcher decrypts the data.res file with a different hardcoded DES key. The result is a file with the following structure:
- ランチャーは別のハードコードされたDESキーでdata.resファイルを復号する。結果、以下のような構造のファイルが出来上がる
32ビット シェルコードのサイズ |
32ビット シェルコード |
64ビット シェルコードのサイズ |
64ビット シェルコード |
表2:復号されたdata.resファイルの構造
- ランチャーは、最後にコマンドライン「C:Windows\system32\svchost.exe -k LocalServices」で停止中のプロセスを起動し、そこに32ビットまたは64ビットいずれかの適切なシェルコードを注入する。
- その後、新たに作成されたプロセスを再開し、現在のプロセスを終了する
以下は、起動の手順をまとめたものです。
図2:更新されたツールの起動手順
■ペイロードの解析
更新されたSysUpdateのペイロードは、旧バージョンと類似の特徴を持っています。C++のコードは、クラスを中心に構成されており、その多くが自身の役割を説明した分かりやすい名称がつけられていることを確認しました。CCompress、CIOStreamIF、CTcpSocketなど、クラスのいくつかは旧バージョンのSysUpdateにも存在しており、2015年の終わり近くにコンパイルされています。
その他、TPacket、SCM Client、SystemInfo、CMD5、CIOStream、CInfoなども長年存在しているものです。一方で、ConfigReg、CWorkQueue、WindowsEvent、CEncoderやcudpのように、2020年に開発された比較的新しいものもあります。
トレンドマイクロが解析したサンプルには、特定の命名規則を特徴とする多くの新しいユニークなクラスが含まれていました。クラスの名前はほとんどが自身の役割を説明した分かりやすい名称がつけられていて、クラスの整理方法はおそらく攻撃者が開発したフレームワークの結果であると考えられます。
実際に、いくつかのクラスの名前は以下のいずれかになっていました。
- 「H」で始まるもの(HControl、HSleep、HTrans)
- 「I」で始まるもの(IAgent、ITcpAgent、IAgentListener)
- 「T」で始まるもの(TCommon、TFileInfo、TFileRename、TFileUpload, TServicesInfo、TListUser、TTransmit)
- 「C」で始まるもの(CSSLAgent、CSocks5、CTcpAgent)
- 「CM」で始まるもの(CMCapture、CMFile、CMPipeClient、CMPipeServer、CMProcess、CMServices、およびCMShell)のいずれかです。
通信は、名前つきパイプ(ここでは「\.pipe\testPipe」)を介して行われます。このサンプルには、諜報活動用のバックドアと考えられる複数の機能が存在します。スクリーンショット機能、ファイル管理機能(検索、削除、移動、アップロード、ダウンロードなど)、プロセスやサービスの管理、コマンドの実行などです。
なお、最近のSysUpdateのバックドアのサンプルには、上述した「新しいクラス」を実装していないものも見つかっています。これは、Iron Tigerの下位集団か、または別の集団がこのマルウェアを使用している可能性を示唆しています。
■バックドア「Pandora」
トレンドマイクロは2020年3月と10月の2度にわたり、デプロイされたカーネルルートキットを確認しました。解析の結果、このルートキットの動作は、過去に確認されているNDISProxyドライバによって実行されたRAT(遠隔操作ツール)と非常によく似ていました。トレンドマイクロで確認したバージョンはわずかに異なり、ドライバはデジタル署名されておらず、既知の脆弱性攻撃を利用してWindows Driver Signature Enforcement(DSE)保護を回避し、ドライバをシステムに直接ロードします。
トレンドマイクロでこのルートキットを「Pandora」と名付けたのは、ステージ2をアンパックした際のプログラムデータベース(PDB)のパスが「F:\Pandora\x\drv(32-64)\bin\src\drvx64.pdb」であったことに由来します。
このルートキットには、最終ペイロードに到達するまでに複数の段階があります。
ステージ1
- Windowsサービスを利用してシステム権限を付与する
- セキュリティソリューション回避のためにDLLのサイドローディングを利用する
- 新しいsvchostプロセスを起動しコードを注入することで追跡を防ぐ
ステージ2
- CPUID CPU-Zの既知の脆弱性「CVE-2017-15303」を利用して、物理メモリへの読み取り及び書き込み、また、CPU制御レジスタの読み取りを行い、DSEをオフにすることができる。これは、Process Monitor driver(procxp152.sys)と連動して行われる。
- どちらのドライバも、感染コンピュータに元々インストールされていなくても、ルートキットのロード時に作成される
- 細工されたWindows Presentation Foundation(WPF)ドライバ「drvx64.sys」をロードする
ステージ2 - ドライバ
- WPFコールバックを登録し、事前に定義されたトークンで受信トラフィックをフィルタリングする
- 最終ペイロードを "lsass.exe "にインジェクションする
ステージ3 - 最終ペイロード
- Windowsサービスとして自身をインストールする
- 通信のため、特定のキーワードを設定する
- カーネルドライバとメッセージやコマンドを交換する
- バックドア機能を実行する
各バックドアは、レジストリで暗号化された異なるトークンを持っています。受信するトラフィックにトークンが含まれ、かつHTTP形式であれば、バックドアはそのトラフィックを傍受し、コマンドを処理します。今回解析したバージョンでは、インストーラがレジストリキーにトークンを書き込みます。現在のトークンがなければバックドアを起動できないため、バックドアの発見と解析は困難になります。
サンプル | トークン | ミューテックス(Mutex) | セマフォ(Semaphore) |
Pandora 20200310 | FHHqw@nF4Jo0vPAU180IP5h9umnd4KFi | ENDnetfilter | 234netfilter |
Pandora 20201010 | Qp$zo&FgPBjGhm(.LGi_&j~tmhMO08) | ENDdsfsfs | xwwadsfsfs |
表3:サンプルによってトークンが異なるバックドア「Pandora」
弊社の解析によると、Pandoraには以前のバージョンと比較して、パブリックリポジトリがさらに多数含まれています。
機能 | 名前 | リポジトリ |
Driver memory injection | Blackbone | https://github.com/DarthTon/Blackbone |
NDIS network filtering driver | WFP Sample | "WDK\Windows Filtering Platform Stream Edit Sample/C++/sys/stream_callout.c” |
Parse HTTP packets | HTTP Parser | https://github.com/nodejs/http-parser |
Turn off DSE | StryKer | https://github.com/hfiref0x/Stryker |
Encrypted Communication | D3DES | https://gitlab.gnome.org/GNOME/gtk-vnc/-/blob/v0.1.0/src/d3des.c |
Compression | QuickLZ | https://github.com/robottwo/quicklz |
表4:Pandoraのパブリックリポジトリ
■パブリックリポジトリのルートキット
トレンドマイクロは、プロセス、ファイル、サービスを隠蔽する2つのルートキットを確認しました。どちらもGithubのパブリックリポジトリから取得されたもので、開発者は攻撃者グループとは無関係です。
- Hidden.sys - https://github.com/JKornev/hidden/tree/master/
1つ目のサンプルは、2020年4月に発見されました。このドライバは署名されておらず、バックドア「Pandora」がロードする時に利用するのと同じDSEエクスプロイトを利用していました。
2つ目のサンプルは2020年10月に発見されたもので、中国のセキュリティソフト会社「Beijing Kingsoft Security Software Co., Ltd.」の正規の証明書で署名されていました。この証明書は、2020年2月から有効です。トレンドマイクロはこの問題についてキングソフト株式会社に連絡し、記事執筆時点ではすでに証明書が無効であることを確認しています。
図3:Hidden.sys のプロパティとデジタル署名
このツールは、攻撃者のツールやサービスを隠蔽するために使用されます。ツールの設定は、感染コンピュータのレジストリ実行キーに追加されています。
Hiddenレジストリ/フォルダ/ファイル
タイプ | 値 |
REG | HKLM\SYSTEM\CurrentControlSet\services\HiddenService |
REG | HKLM\SYSTEM\CurrentControlSet\services\servTest |
REG | HKLM\SYSTEM\CurrentControlSet\services\TrkWkss |
Folder | C:\programdata\vlc |
File | C:\programdata\vlc\vlc.exe |
Folder | C:\programdata\test |
File | C:\programdata\test\dlpumgr32.exe |
File | C:\windows\system32\drivers\Hidden.sys |
File | C:\windows\system32\HiddenService.exe |
表5:ツールの設定
「Hidden」への参照は、ルートキットに関連しています。「dlpumgr32.exe」と「servTest」は、上述の新しいSysUpdateに関連しています。
vlc.exeがどのマルウェアをサイドローディングするのかはわかっていません。おそらく、"TrkWkss "という名前のサービスとしてインストールされていると推察されます。2020年11月にコンパイルされたSysUpdateのサンプルで、VLCのDLLのサイドローディングの脆弱性を悪用したものが確認されています(IoCを参照)。 これにより攻撃者が正規のプログラムをバックドアのサイドローディングに利用していることが確認できました。
■マルウェア「HyperBro」
Iron Tigerは、2017年からマルウェア「HyperBro」を使用していることが確認されています。HyperBroは、Iron Tigerが少なくとも2015年から使用していた「HttpBrowser」の更新版です。
トレンドマイクロは、不正DLLファイルにサイドローディングされる初期バージョンのHyperBroでは、「thumb.db」という名前のバイナリファイルをアンパックしてメモリにロードすることを確認しました。すべてのリクエストはポート443でC&Cサーバに送信され、ユニフォームリソース識別子(URI)として「/ajax」が使用されていました。
Operation DRBControlの調査においては、いくつかの新しいクラスを実装したHyperBroの更新版を確認しました。更新版HyperBroについては、リサーチペーパーに詳説されています。
また、不正DLLファイルによってアンパックされ、メモリ内にロードされるバイナリファイルが "thumb.dat "と名付けられていることが確認されました。C&Cサーバに送信されるすべてのリクエストが、ポート443のURI「/api/v2/ajax」に送信されていることも確認されました。
このサンプルを解析して以来、トレンドマイクロでは、更新された動作に一致する新しいサンプルを複数確認しています。そのうちのいくつかはギャンブル企業から検出されたものです。
とはいえ、旧型の動作を特徴とするサンプルも引き続き確認されていることから、このマルウェアの背後に別の攻撃者が存在するか、もしくはIron Tigerの下位集団である可能性があります。これらのサンプルには、ESETが報告しているサンプルと標的および動作が一致するものも含まれています。
■Fast Reverse Proxyツールを悪用
トレンドマイクロは、Linuxコンピュータへの攻撃にFRPツールが使用されているのを確認しました。FRPはFast Reverse Proxyの略で、ローカルエリアネットワーク内のコンピュータを外部公開するためのリバースプロキシツールです。なお、これはセキュリティ企業「Avast」がIron Tigerについて報告した内容と類似しています。解析したFRPツールは、Githubからコピーされた可能性のあるツールの修正版でした。
■マルウェア「Type 1」のアップデート
トレンドマイクロは、二次的なC&CチャネルとしてDropboxを悪用するマルウェア「Type 1」の新しいサンプルを3つ確認しています。詳細はリサーチペーパー「Operation DRBControl」に記載されています。
設定が変更されている点(リサーチペーパーの発行後に変更された)を除けば、2019年に解析したバージョンとの違いはわずかなものです。弊社で2019年8月には9.0であったサンプルのバージョン番号は、11.0になっていました。つまり、まだ活発に開発が行われていることを示しています。
インフラストラクチャの面では、Google Cloud Platform(GCP)にホストされたIPアドレスの使用から、Microsoft AzureにホストされたIPアドレスに切り替えられたことを確認しました。
なお、2020年2月にブログ記事を公開した後、攻撃者は新しい設定を持つ新たなType1のマルウェアを作成したため、その運用状況を詳細に監視することができませんでした。これは攻撃者の直接的な反応であると考えられ、トレンドマイクロによる調査報告を読んでいることを示唆しています。
また、サイドローディングされたDLLのコンパイル日のタイムスタンプが数カ月前に設定されていたことも重要です。例えば、2020年3月と4月に発見されたバイナリは、コンパイル日が2020年8月26日となっていました。これは、Operation DRBControlの際に確認された動作と一致しており、2019年半ばに発見された一部のバイナリのコンパイル日は2020年3月4日となっていました。これは、攻撃者が間違ったタイムスタンプによってフォレンジック調査を混乱させることを意図したものであり、タイムスタンプの慎重な分析が調査において重要である理由です。
■感染経路
主要な感染経路について確認することができませんでしたが、Microsoft Exchange Serverの脆弱性「CVE-2020-0688」を悪用した痕跡が見つかりました。
IronTigerは過去に、以下のような複数の感染経路を利用していると考えられています。
- 水飲み場攻撃
- DDE(Dynamic Data Exchange)を悪用した不正なドキュメント
- Equation Editorの脆弱性「CVE-2018-0798」を悪用した不正なドキュメント
- Sharepointの脆弱性「CVE-2019-0604」を悪用した攻撃
- チャットソフトウェアのインストーラ「Able Desktop」を悪用したサプライチェーン攻撃
- 最近確認されたMicrosoft Exchange Server の脆弱性(CVE-2021-26855、CVE-2021-26857、CVE-2021-26858、CVE-2021-27065)を悪用した攻撃
今回の調査では、上記の手口のいずれかを利用するが報告されていない、古いサンプルがいくつか見つかりました。今回のキャンペーンとは無関係のものについても侵入の痕跡(Indicator of Compromise、IoC)に掲載されています。
■標的
きっかけとなったのは、Iron Tigerが標的としていたフィリピンのギャンブル企業におけるインシデン対応調査でした。Iron Tigerは、1年半前から同じ会社を標的にしていました。
Iron Tigerは、同企業だけでなく、他の国や業界も標的にしていました。調査対象の1年半の間に、中東や東南アジアの政府、銀行、通信事業者、さらにはエネルギー部門を標的にしていたことが確認されています。
図3:調査対象の1年半の間にIron Tigerが標的とした国
■調査の経緯
以下のタイムラインは、Talent-Jumpとトレンドマイクロが調査した、同ギャンブル企業で確認されたサンプルの経緯を示しています。
- 2019年7月:Operation DRBControlが開始される
- 2019年10月:マルウェアHyperBroのサンプルが1つ確認される
- 2020年3月: Type 1マルウェアの亜種とルートキットPandoraの新しいサンプルが確認される
- 2020年4月:Pandora ファイルのプロセス、ファイル、サービスを隠蔽するためのルートキットのサンプルが1つ確認される
- 2020年10月:「HyperBro」と「Pandora」の新しいサンプルが確認される
- 2020年12月:SysUpdate亜種のサンプルが1つ確認される
- 2021年1月: Fast Reverse Proxy(FRP)Linuxツールが発見される
■結論
この調査では、更新されたマルウェア「SysUpdate」と、18カ月にわたって持続的に同じ企業を標的にしていたと同時に中東および東南アジア各国の他の企業や業界にも攻撃範囲を拡大していたIron Tigerについて解説しました。
また、攻撃ツールを更新して新機能を追加したIron TigerがTTPsを変更している点を詳しく説明しました。同じツールキットのバージョン違いを使用する異なるキャンペーンが同時に確認されていることから、Iron Tigerの下位集団の存在、またはツールの開発にアクセスできる複数の攻撃者が存在する可能性があると考えられます。
今後は、従来の3つのファイルを使用するマルウェアではなく、4つあるいは5つのファイルを使用した攻撃例の増加が予想されます。
■侵入の痕跡(Indicator of Compromise、IoC)
今回の記事に関する侵入の痕跡はこちらを参照してください。
参考記事:
- 「Iron Tiger APT Updates Toolkit With Evolved SysUpdate Malware」
By Daniel Lunghi, Kenney Lu
翻訳: 室賀 美和(Core Technology Marketing, Trend Micro™ Research)