「Trickbot」の新しい亜種を確認、難読化されたJavaScriptを利用

トレンドマイクロは、マクロを含むWord文書が添付されたスパムメールがオンライン銀行詐欺ツール(バンキングトロジャン)「Trickbot」の新しい亜種(「TrojanSpy.Win32.TRICKBOT.TIGOCDC」として検出)を拡散していることを確認しました。この文書ファイルをクリックすると、ペイロードとしてTrickbotをダウンロードする重度に難読化されたJavaScriptファイルが作成されます。このスクリプトは感染PCで実行中のプロセス数をチェックし、少ない場合、仮想環境で実行されていると判断して活動を停止します。

このスクリプトは、情報窃取機能に加え、外付けディスクおよびネットワークディスク内の特定の拡張子を持つファイルを削除し、自身のコピーに置き換える機能を備えています。トレンドマイクロのデータによると、今回の活動は米国で最も多く確認されています。問題のスパムメールは、中国、カナダ、そしてインドでも拡散されていました。

■感染の流れ

図1は今回確認されたTrickbotの感染の流れです。

図1:感染の流れ

図1:感染の流れ

スパムメールにより拡散

あるスパムメールの検体は、広告プロバイダに関する購読の通知を装っており、3年間の購読申込と決済された合計金額に言及していました。このスパムメールは、次回決済時にいくらかの金額がユーザのカードに課金されると説明し、決済と購読に関する詳細を確認するために添付ファイルを参照するように促しています。この添付ファイルには不正なJavaScriptが含まれていました。

マクロとJavaScriptを含む文書ファイル

スパムメールを通して拡散されたWord文書は、内容を閲覧するにはマクロを有効化する必要があるとユーザに通知します。問題のJavaScriptは、マクロではなく文書ファイル自体に含まれており、背景と同じ色の文字を使うことによって隠ぺいされていました。

図2:マクロを有効化するように促す文書ファイル

図2:マクロを有効化するように促す文書ファイル

このスクリプトは難読化されており、複数の関数を含んでいました。関数の難読化を解除する際は、また別の関数を使用し、対象の関数を単一の文字に変換します。

図3:難読化を解除する関数

図3:難読化を解除する関数

解析を回避するために実行中プロセスをチェック

難読化を解除して解析したところ、興味深い挙動が見つかりました。このスクリプトはユーザを騙すために、マクロが有効化された後、偽のMicrosoftエラーをポップアップ表示します。しかし実際はすでにバックグラウンドでスクリプトが実行されています。

図4:偽のMicrosoftエラー(上)偽のエラーを表示するコード(下)

図4:偽のMicrosoftエラー(上)偽のエラーを表示するコード(下)

このスクリプトは、活動を持続するために自身のコピーを「Shell.jse」としてスタートアップフォルダに作成します。

また、特筆すべき挙動として、解析を逃れ検出を回避するために実行中プロセスの数をチェックします。もし、実行中プロセスの合計文字数が1,400字より少ない場合、仮想環境またはサンドボックスで実行されていると判断してスクリプトは実行を停止します。加えて、通常解析に使用されるプロセスの有無と特定のユーザ名も確認します。

図5:チェックするプロセスとユーザ名

図5:チェックするプロセスとユーザ名

図6:一致するプロセスまたはユーザ名が見つかった際に表示するエラーメッセージ

図6:一致するプロセスまたはユーザ名が見つかった際に表示するエラーメッセージ

以下は、このスクリプトがチェックするプロセスまたはデバッグツールの一覧です。

  • AgentSimulator.exe
  • B.exe
  • BehaviorDumper
  • BennyDB.exe
  • ctfmon.exe
  • DFLocker64
  • FrzState2k
  • gemu – ga.exe
  • iexplore.exe
  • ImmunityDebugger
  • LOGSystem.Agent.Service.exe
  • lordPE.exe
  • ProcessHacker
  • procexp
  • Procmon
  • PROCMON
  • Proxifier.exe
  • tcpdump
  • VBoxService
  • VBoxTray.exe
  • vmtoolsd
  • vmware
  • VzService.exe
  • windanr.exe
  • Wireshark

以下は、チェックするユーザ名の一覧です。

  • Emily
  • HAPUBWS
  • Hong Lee
  • Johnson
  • milozs
  • Peter Wilson
  • SystemIT | admin
  • VmRemoteGuest
  • WIN7 – TRAPS

ペイロードとして「Trickbot」をダウンロード

ペイロードをダウンロードするために、このスクリプトは「hxxps://<省略>/hollyhole/c644[.]php」に接続し、ダウンロードするファイルの形式を確認します。もしファイルの形式が実行ファイルであれば、「<ランダムな文字列>.exe」というファイル名で一時フォルダ「%Temp%」に保存します。実行ファイルでない場合、同じフォルダに「<ランダムな文字列>.cro」というファイル名で保存します。この「.cro」ファイルは「certutil.exe」を使用してデコードした後、「<ランダムな文字列>.exe」として同じフォルダに保存され、実行されます。調査の結果、ダウンロードされる実行ファイルはTrickbotの亜種であることが判明しました。

図7:ペイロードを実行ファイルとして保存するコード

図7:ペイロードを実行ファイルとして保存するコード

TrickbotはOS、CPU、メモリ、ユーザアカウント、インストールされたプログラムとサービス、IP設定、ネットワーク情報(構成、ユーザ、ドメイン設定)のようなシステム情報を窃取する他に、アプリケーションやブラウザから認証情報などの情報を収集します。

以下はTrickbotが認証情報を収集するアプリケーションの一覧です。

  • Filezilla
  • Microsoft Outlook
  • PuTTy
  • Remote Desktop (RDP)
  • VNC
  • WinSCP

以下はTrickbotが、「Google Chrome」、「Internet Explorer」、「Microsoft Edge」、「Mozilla Firefox」から収集する情報の一覧です。

  • 自動入力
  • 請求情報
  • 閲覧履歴
  • クレジットカード情報
  • HTTP POSTレスポンス
  • クッキー
  • ユーザ名とパスワード 

Trickbotは、「販売時点情報管理(Point of Sales、POS)」の情報を窃取する「psfin32」というモジュールも備えています。このモジュールは、ネットワークドメイン内でPOSに関連した文字列を識別します。具体的には、LDAPクエリを使用し、以下のようなPOSに関連した文字列を含むコンピュータを検索します。

  • *ALOHA*
  • *BOH*
  • *CASH*
  • *LANE*
  • *MICROS*
  • *POS*
  • *REG*
  • *RETAIL*
  • *STORE*
  • *TERM*

今回確認された亜種は、偽の銀行取引を作成するために感染PCのWebトラフィックを捕捉して変更するプロキシモジュール「shadnewdll」もドロップするようです。さらに、セキュリティリサーチャBrad Duncan氏によると、このモジュールはバンキングトロジャン「IcedID」と類似しているとのことです。IcedIDは、ユーザの偽のオンライン銀行サイトにリダイレクトするか、あるいは正規サイトにフィッシングのための偽のコンテンツを注入します。

「Trickbot」のダウンロードに失敗した場合

不正なJavaScriptは、ペイロードのダウンロードURLに接続できなかった場合、外付けドライブおよびネットワークドライブから以下の拡張子を持つファイルを検索し、自身のコピーに置き換えます。これらはMicrosoft Officeやオフィス文書のためのファイル形式「OpenDocument」が使用する拡張子です。

  • .doc
  • .xls
  • .pdf
  • .rtf
  • .txt
  • .pub
  • .odt
  • .ods
  • .odp
  • .odm
  • .odc
  • .odb

見つかったファイルは「%Temp%」フォルダに「ascii.txt」として保存されます。その後、元のファイルは削除され、自身のコピー(拡張子:.jse)に置き換えられます。

図8:ファイルを検索し自身のコピーに置き換えるコード

図8:ファイルを検索し自身のコピーに置き換えるコード

■被害に遭わないためには

Trickbotは感染PCから情報を窃取し、メールを侵害します。報告によると、これまでに2億5千万件以上のアカウントがTrickbotによって窃取されたと言われています。今回確認されたTrickbotの変化は、背後にいるサイバー犯罪者が既存のバンキングトロジャンに新しい機能を追加するために微調整を繰り返していることを示しています。しかし、ユーザは、メールを利用した脅威に対処するためのベストプラクティスに従うことでこのような脅威を防ぐことが可能です。不審な送信元アドレスや文法上の誤りのようなスパムメールの特徴に注意し、検証されていない送信元からの添付ファイルは開かないようにしてください。

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

XGen™セキュリティ」が組み込まれたエンドポイント製品や「Network Defense」は、関連する不正なファイルやURLを検出することでユーザを保護します。法人向けエンドポイント製品「Trend Micro Apex One™」や中小企業向けのクラウド型エンドポイントセキュリティサービス「ウイルスバスター™ ビジネスセキュリティ」は、不正なファイルを検出し、関連する不正な URL をブロックすることによって、強固な保護を提供します。

Trend Micro Cloud App Security™」 と「Trend Micro Email Security™」は本記事で解説したスパムメールからお客様を保護します。

Deep Discovery™ Inspector」は、以下のDDIルールによってC&C通信や情報送出を行う脅威からお客様を保護します。

  • 1645: Possible Self-Signed SSL certificate detected
  • 2780: TRICKBOT – HTTP (Request)

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

侵入の痕跡はこちらを参照してください。

※「Check Point Research」も今回の活動について2019年7月にツイートしています。

参考記事:

翻訳: 澤山 高士(Core Technology Marketing, Trend Micro™ Research)