TrickBotの攻撃チェーン:分析と軽減

マルウェアイメージ

“TrickBot Attack Chain: Deconstructed & Mitigated” September 30, 2021 by James Maude より

TrickBot(トリックボット)は今、いちばん世間に出回っていて、効果を見せているマルウェア脅威です。このブログではTrickBotの攻撃チェーンを分析し、利用されているMITRE ATT&CK技術を特定し、こうした攻撃をいかに軽減するかについて解説します。

TrickBotの概要

Trickbot(TrickLoader、Tricksterともいう)は金融系のトロイの木馬で、最初に登場したのは2016年終わりごろ、当社の研究所で確認されたのが2017年初めです。TrickBotは初めのうち、Dyreという、Zeusマルウェアシリーズとの結びつきが強い初期のマルウェアにとても似ていました。そういうわけで、Trickbotは10年以上にわたって進化を続けているたくさんの金融系トロイの木馬の最新のものです。

TrickBotの初期のバージョンは技術的には優れていましたが、攻撃範囲は限られており、米国の地方銀行の一部にのみ集中していました。ほかの大半の金融系トロイの木馬と同じく、TrickBotにも標的とするウェブサイトのリストがあり、それを使ってウェブサイトを遮断し、操作して情報を取得したり取引を改ざんしたりするのです。

時間が経つにつれ、TrickBotはしだいに進化を続け、常に変化し続けるオンラインバンクのリストを標的にするようになりました。このマルウェアはまた、次のような新しい機能も持っています。

  • 電子メールとブラウザデータの窃取
  • coinbase.comを狙った暗号通貨の窃取
  • 水平移動のためのEternalBlue
  • Active Directoryデータベースの窃取モジュール「ADII」
  • コマンド&コントロール(C2)を介したリアルタイム構成
  • セキュリティ制御の無効化
  • データの暗号化(Ryukマルウェア)

TrickBotは非常に性能の高い金融系トロイの木馬となったのみならず、人目につかないモジュラーコンポーネントのおかげで、偵察、データ侵入、水平方向への移動、ランサムウェアの仕込みなどにも使われるようになっています。そのため、脅威の実行者は幅広くネットワークに侵入し、その後、最も高い値段をつけた買い手にバックドアのアクセスを売り渡す傾向が強くなってきました。

TrickBotを配信するのに最もよくある方法は、電子メールを介してMicrosoft Officeのファイル(ほとんどが、悪意のマクロの入ったWord文書)を送ることです。この方法を使うには、ユーザとやり取りをして文書の中身を実行させなければなりません。ユーザに中身を実行させるため、さまざまなソーシャルエンジニアリングの手法が使われます。この段階でTrickBotが用いる最も一般的なソーシャルエンジニアリング手法は、Officeがアップグレードされたこと、あるいはアップデートが必要なことを告げ、ユーザがアップデートを完了するために編集やコンテンツを有効にしなければならなくすることです。そうでなければ、侵入者は偽のインボイスやUPSデリバリーノートを使います。

図1 TrickBotの「UPSインボイス」の例

(図1)TrickBotの「UPSインボイス」の例 (MD5: 6699fdf727451b58e3071957364fb5c4)

図2 TrickBotのドイツ語作戦の例

(図2)TrickBotのドイツ語作戦の例(MD5: 4faf7bbebcbceb84a20d23c76a000bfb)

攻撃チェーンのステップは大まかにいって次のようになります。下図3も参照してください。

  1. 資産リースに関するフィッシングメール(ドイツ語表記)にリース契約書のWord文書を添付する
  2. ユーザがWord文書を開く
  3. 文書の内容によってユーザをソーシャルエンジニアを使ってだまし、Wordを立ち上げるにはマクロを有効にする必要がある告げる
  4. マクロが有効になったらスクリプトファイル(.cmd)がディスクに入り、Windows Command Processorが立ち上がってこのスクリプトを実行する
  5. 次にこのWindows Command Processorを使って、メインのマルウェアペイロードをウェブサーバから開始する

図3 TrickBotの攻撃チェーンの例

(図3)TrickBotの攻撃チェーンの例 2020年1月(MD5: 4faf7bbebcbceb84a20d23c76a000bfb)

BeyondTrustのEndpoint Privilege Managementは、テストで一般的な攻撃チェーン150のうちすべてを分析しました。レポートはこちら(英文)。

TrickBotは管理者アカウントをどう悪用しているか

TrickBotは管理者特権を利用して、オペレーティングシステムにもぐりこみ、アンチウイルス制御を無効化し、資格情報を盗み、その他不正な行為を行ないます。TrickBotは、ユーザに管理者権限がなければ成功しません。

これまでに、Trickbotが複数の異なるUACバイパステクニックを使って秘かにマルウェア特権を昇格させ、しかも使用状況をそのままにしている例がありました。UACバイパス技術は通常、信頼されているMicrosoftアプリケーションを利用して、エンドユーザにUAC承認を開始させることなく特権を昇格できるようにします。

では、TrickBotがどのようにして、Windows固有のアプリケーションとユーザの管理者特権を組み合わせて、こっそりシステム内の特権プロセスを再開できるようにするのか見てみましょう。

テクニック1:Features On-Demand Helper (Fodhelper.exe) UAC バイパス

MITREテクニック: T1548.002-昇格制御メカニズムの悪用:ユーザのアカウント制御を迂回

Features On Demand Helper (Fodhelper.exe)とは、Windows OSに入っているアプリケーションです。ユーザがFodhelper.exeを開始すると、このアプリケーションが、下記のレジストリエントリに保管されているコマンドをチェックして実行します。

HKCU:\Software\Classes\ms-settings\shell\open\command
HKCU:\Software\Classes\ms-settings\shell\open\command\DelegateExecute
HKCU:\Software\Classes\ms-settings\shell\open\command\(default)

デフォルトの状態では、こうしたレジストリエントリは、レジストリ内のユーザ書き込み可能な部分にはどんな形でも存在しません。つまり、TrickBotはコマンドを書いてこうしたレジストリエントリの中で自らを起動することができるのです。その後、TrickBotが承認済みのMicrosoftアプリケーションとして起動したFodhelper.exeが、昇格してもっと高度なレベルの特権で動作することが可能となり、しかもユーザにはUACプロンプトが知らされません。そのため、レジストリエントリ内のコマンドが実行され、ユーザに警告が発せられないまま同レベルの特権でTrickbotが起動できるようになってしまうのです。

図4 Trickbot Fodhelper UACのバイパスの例

(図4)Trickbot Fodhelper UACのバイパスの例

テクニック2:Windows Store cache (Wsreset.exe) UACバイパス

MITRE Technique: T1548.002-昇格制御メカニズムの悪用:ユーザアカウント制御のバイパス

2020年初め、Trickbotは最近発見されたWsreset.exeバイパスを用いて、第2のUACバイパスを悪用し始めました。これは、デフォルトでWindowsにインストールされており、信頼されているためにユーザにプロンプトを送らずに昇格ができるという点で、Fodhelper.exeに似ています。Wsreset.exeも前のテクニックと同様に、開始されるとユーザ書き込み可能のレジストリキーからコマンドを読み込んで実行し、そのために攻撃者はこっそりペイロードを昇格させることができるのです。この場合、キーは下記に保管されます。

HKCU\Software\Classes\AppX82a6gwre4fdg3bt635tn5ctqjf8msdd2\Shell\open\command

図5 Trickbot Wsreset UACバイパスの例

(図5)Trickbot Wsreset UACバイパスの例

TrickBotがUACバイパスを使って昇格すると、システムに重大な変更を行なうために必要な管理者特権を手にすることになります。これを使ってITセキュリティの設定やツールを無効にして、甚大な被害を与えることができるのです。何が、どのように行なわれているのかを見てみましょう。

テクニック3:セキュリティを無効化する
MITRE Technique: T1562.001-ツールの無効化または改ざん

2019年以降、TrickbotにはAVのような一般的なサイバーセキュリティツールと関連したサービスやプロセスを無効にする機能が備わっています。ごく一般的な防御回避の手法で、見つかりにくく、将来のペイロードを仕込むための土台を作ってしまいます。TrickBotのいちばんの標的はWindows Defenderと、Windowsのオペレーティングシステムで使用できる多くの固有の防御策です。

  • DisableBehaviorMonitoring:Windows Defender内で、振る舞い監視機能を無効化
  • DisableOnAccessProtection:アプリやファイルを開いたときのスキャンを無効化
  • DisableScanOnRealtimeEnable:プロセススキャン保護を無効化
  • DisableIntrusionPreventionSystem:既知のエクスプロイトに対するネットワーク保護を無効化
  • DisableScriptScanning:スクリプトのスキャンを無効化
  • DisableIOAVProtection:ダウンロードファイルと添付ファイルのスキャンを無効化

こうした制御が無効化されると、攻撃者はシステム上で足場をさらに広げ、検出されずに新たなペイロードを仕込むことができるようになります。

TrickBotはまた、Image File Execution Optionsのレジストリキーを使って、偽のデバッガを多くのAVやITセキュリティツールに付与します。Windowsがセキュリティツールを起動しようとすると、偽のデバッガアプリケーションのほうが先に起動し、存在しない偽物であるため、セキュリティツールは起動に失敗します。こうしてセキュリティツールをアンインストールしたり削除したりしなくても、みごとに無効にすることができるのです。

この時点で、TrickBotは最初のアクセスとシステムの実行が可能になっています。その後、セキュリティ制御とツールを無効にすることで、UACバイパスと防御回避を介して特権昇格を行ないます。こうしてマルウェアはシステムを支配し、多くのモジュールの1つを起動してデータを盗み、資格情報を奪い、悪意のコードを銀行のウェブサイトに入れこみ、ランサムウェアのペイロードを起動することができるようになります。

特権がなければトリックもなし

TrickBotのほとんどの機能は、マルウェアが利用できる管理者特権をユーザが持っている必要があります。これは、どれほど多くの企業がエンドポイントセキュリティツールへの投資を無駄にしてしまうかといういい例です。ユーザにローカル管理者のアカウントを与えてしまえば、攻撃者がそれを利用して、ほぼどんなエンドポイントの制御も無効にしてしまうことができるからです。

UACバイパスはローカル管理者特権を持つユーザを悪用しますが、これはエンドポイントの特権管理ソリューションを使ってユーザのローカル管理者特権を剥奪し、もっと細かい特権を与えて必要なタスクとツールのみを昇格させることで、軽減することができます。MITREは、Privileged Account Managementを使って、システム上のローカルの管理者グループからユーザを削除することにより、T1548.002を軽減することを求めています。

上記のUACバイパスは、子プロセスの特権を制御できるような堅牢なエンドポイント特権管理ソリューションを使って簡単に防ぐことができるでしょう。またこのソリューションによって、正規のWindowsのアプリケーションがマルウェアのペイロードをつけずに実行でき昇格できるようになります。この特権管理機能によって、マルウェアが簡単に特権昇格を行なうのを阻止し、その結果として、セキュリティ制御を無効にしようという企ても阻止することができるのです。

管理者特権が剥奪されると攻撃面は非常に小さくなり、アプリケーション制御を重ねることができるので、そもそもマルウェアのペイロードなど未知のアプリケーションが実行するのを防げるようになります。マルウェアが簡単にエンドポイントで実行したり昇格したり回避したりできなければ、安全性はずっと高まります。

BeyondTrustのEndpoint Privilege Managementがどのように正確な特権アクセス制御を行なっているか、そして内外の脅威の実行者を途中で止めることができるか、デモビデオをご覧になるか、当社のサイトをご覧ください。

関連記事 (各資料ともBeyondTrust社サイト、英語)

How to Protect against EMOTET – “The World’s Most Dangerous Malware” (ブログ)

Malware Threat Report 2021(調査レポート)

A Guide to Endpoint Privilege Management(白書)


James Maude, サイバーセキュリティ上級調査員

James Maudeは英国にあるBeyondTrust Manchesterオフィスのサイバーセキュリティの上級調査員です。Jamesはセキュリティ調査の幅広い経験を持ち、マルウェアやサイバー脅威の詳細な分析を行い攻撃ベクトルや進化を続けるセキュリティ状況を把握することができます。フォレンジック(調査用)・コンピューティングの経験と、セキュリティ調査団体での活躍により、サイバーセキュリティの分野ではその発言が重視されています。定期的に国際イベントに出席し、ウェビナーを主催して脅威や防御戦略について討論しています。

オススメ Emotetの解説はこちら

シェアする

  • このエントリーをはてなブックマークに追加

フォローする