Emotetのメール攻撃手法「スレッドハイジャック」のケーススタディ

By

Category: Unit 42

Tags: , , , , ,

This illustration represents the concept of malicious email, such as those involved in Emotet thread hijacking.

This post is also available in: English (英語)

概要

Emotetマルウェアをプッシュする悪意のあるスパム(マルスパム)は最も一般的な電子メールベース脅威で、若干数、これを追い上げる脅威は存在するものの、その数は他のマルウェアファミリを凌駕しています。

ここ数週間、私たちは感染コンピュータのメールクライアントから盗んだ正規のメッセージを利用する「スレッドハイジャック」手法を使うEmotetマルスパムが大幅に増えている様子を観測しています。このマルスパムは盗んだメッセージを使い、あたかも正当なユーザーからの返信であるかのように見せかけるテクニックを使います。スレッドハイジャックされたマルスパムは、元のメッセージから得たアドレス宛に送られます。

このテクニックは、それまでのあまり洗練されているとはいいがたい方法と比べるとはるかに効果的です。というのも、今では大多数の方々が、そうした洗練されていない手法を見抜けるようになっているからです。またこのテクニックであれば、潜在的被害者にメールの添付ファイルやリンクをクリックさせやすく、そこからEmotet感染用に設計されたマクロを含む悪意のあるWord文書をダウンロードさせやすくなります。

本稿では、こうしたテクニックへの認識や理解を深めるため、Emotetによるスレッドハイジャックプロセスをケーススタディとして確認していくことにします。

パロアルトネットワークス製品をご利用のお客様はこの脅威から保護されています。脅威防御セキュリティサブスクリプションが同脅威を検出し、この種のEmotet感染を阻止します。AutoFocus をお使いのお客様は次のタグを使用してこれらの活動を追跡できます: Emotet

ステップ1: WindowsホストがEmotetに感染。ステップ2: Emotetに感染したホストがメールクライアントから収集したデータをC2トラフィック経由で送信。ステップ3: Emotetボットネットに加わったホストは盗んだデータで電子メールのスレッドを偽装する。
図 1 Emotetのスレッドハイジャックプロセスのワークフローを表す概念図。ステップ1: WindowsホストがEmotetに感染。ステップ2: Emotetに感染したホストがメールクライアントから収集したデータをC2トラフィック経由で送信。ステップ3: Emotetボットネットに加わったホストは盗んだデータで電子メールのスレッドを偽装

ケーススタディのタイムライン

Emotetのスレッドハイジャックプロセス説明にあたり、このケーススタディでは2020年9月3日に発生した感染にフォーカスしたいと思います。この例では、Emotetが感染ホストのOutlook受信トレイにある一番新しいメールをハイジャックします。

タイムラインは次のとおりです。

  • 15:35 UTC ホスト上のメールクライアントが正規のメッセージを受信
  • 16:31 UTC ホストがEmotetに感染
  • 16:34 UTC 感染ホストから収集した正規のメッセージがEmotetのコマンド&コントロール(C2)トラフィック経由で送信される
  • 18:22 UTC Emotetボットネットが感染ホストの正規メッセージになりすまして電子メールを送信

このプロセスでは、感染からスレッドハイジャックされたメールの着信までに1時間51分かかっています。

感染ホストからの正規のメール

この例では、脆弱なWindows 10ホスト上でMicrosoft Outlookをメールクライアントとして使用していました。OutlookはMicrosoftアカウントk*********.r*******@outlook.com に同期されています(ケーススタディにあたり、メールアドレス情報は編集しました)。感染ホストのメールクライアントにある最新メッセージを図2に示します。この正規メールの編集済みコピーはGitHubに保存しています。

ここに示すようにスレッドハイジャックは正規のメールから始まります。
図 2 感染ホストのOutlookクライアント内で一番新しいメール

図2に示すように最新のメールはホストのEmotet感染の約1時間前となる15:35 UTCに受信されています。このメールはk*********.r*******@outlook.comから送信された以前のメッセージに対するt****.h******@yahoo.comからの返信です。

C2トラフィック経由のデータ漏出

EmotetはC2トラフィック経由のHTTP POSTリクエストを使い、感染ホストから収集したデータを送信します。このデータは、HTTP経由で送信する前にエンコードないし暗号化されます。

POSTリクエストの大多数には、感染ホストからのエンコード済みデータがごくわずかだけ含まれています。それらは1,000バイトにすら満たない小さなものも多数あります。これらのリクエストには、パディングとフォームヘッダデータ用に追加で4kB分のデータが含まれています。図3は私たちのケーススタディのEmotet C2トラフィックの典型例を示しています。

このWiresharkのスクリーンショットは、C2トラフィック経由のHTTP Postリクエストのどこにどれだけデータが含まれているかの内訳を示しています。ポストされた4,772バイトには、フォームヘッダ情報、675バイト分のエンコード済みデータ、3,875バイト分のパディングが含まれていることがわかります。
図 3 本ケーススタディにおけるEmotet C2トラフィックのHTTP POSTデータの例。C2トラフィック経由のHTTP Postリクエストのどこにどれだけデータが含まれているかの内訳を示している。ポストされた4,772バイトには、フォームヘッダ情報、675バイト分のエンコード済みデータ、3,875バイト分のパディングが含まれていることがわかる

エンコードされたデータ量はごくわずかで、ここには感染ユーザーのメールクライアントから収集したメールスレッドのデータは含まれていません。ただしUTC 16:34には、EmotetのHTTP C2トラフィックを介して送信された13.9 kB分のエンコード済みデータが確認できます(図4参照)。

これらの画像は、送信データ量がかなり多いことを示しています。HTTPポストは、約13.9 kB分のエンコード済みデータを送信します。このサイズは感染Windowsホストから収集したメールスレッドデータの格納には十分な大きさがあり、これでスレッド乗っ取りを続行できます。
図 4 16:34 UTCのEmotet C2トラフィックに含まれる約13.9 kB分のエンコード済みデータ。送信データ量がかなり多いことがわかる。HTTPポストは約13.9 kB分のエンコード済みデータを送信しており、このサイズは感染Windowsホストから収集したメールスレッドデータの格納には十分な大きさがある。これによりスレッド乗っ取りを続行できる

このサイズは感染Windowsホストから収集したメールスレッドデータの格納には十分な大きさです。この後、18:22 UTCにスレッドハイジャックされたメールが確認されますが、それ以前でEmotet感染ホストからHTTP POSTリクエストで送信されたもののなかでは、これが唯一ボリュームのあるデータです。

ハイジャックされたメールから作成されたなりすましメッセージ

UTC 18:22にt****.h******@yahoo.comがなりすましメールを受信しました。このYahooアカウントが感染ホスト上の最新メッセージの送信元アカウントです。このメッセージにはEmotet用マクロが添付されたWord文書が含まれています。このメッセージを図5に示します。このなりすましメールのコピーはGitHubにも保存済みです。

この画像はスレッド乗っ取り後のなりすましメールを示しています。Emotet用マクロを含む.doc添付ファイルがある点に注意してください。
図 5 Emotetボットネットから送信されたハイジャックされたメール。Emotet用マクロを含む.doc添付ファイルがある点に注意

このメッセージはt****.h******@yahoo.comへの返信で、感染ホストのk*********.r*******@outlook.comになりすましています。

これらのスレッドハイジャックされたメッセージにはファイルが添付されているか、脆弱なホストをEmotetに感染させるよう設計されたマクロを含む悪意のあるWord文書をダウンロードするリンクが含まれていいます。

このケーススタディでEmotetにスレッドハイジャックされたメッセージには、感染ホストから得た送信アドレス行の名前になりすましていました。偽装されたメッセージのヘッダは、実際の送信者がブラジルにあるボットネットのホストから送信したか、ブラジルをベースとするホストがメッセージの中継に使用された可能性があることを示唆しています。Emotetによる感染後、スレッドハイジャックしたメッセージを送信するのには、世界中のボットネットホストが使われています。

これはこのケーススタディに使ったサンプルで送信された、スレッドハイジャックされたメッセージのヘッダ行を示しています。ヘッダ情報を調べると、実際の送信者がブラジルのボットネットホストから送信したか、ブラジルをベースとするホストがメッセージの中継に使用された可能性があることがわかります。
図 6 t****.h******@yahoo.com宛に送信されたスレッドハイジャックされたメッセージのヘッダ行。ヘッダ情報を調べると、実際の送信者がブラジルのボットネットホストから送信したか、ブラジルをベースとするホストがメッセージの中継に使用された可能性があることがわかる

これらなりすましメッセージは、被害者のメールクライアント内にある一番新しいメッセージが使われる傾向があります。これは新しいメールほど相手を騙しやすいからです。

なお、ここで注目しておきたいのが、この偽装に使われる送信元アドレスは毎回感染者のものとは言い切れない点です。感染者からの元のメッセージに複数の受信者がいる場合は、ハイジャックされたメールが他の受信者の1人になりすます可能性もあります。

結論

このケーススタディでハイジャックされた正規メールのサンプルはこちらに保管しています

またEmotetボットネットから送信されたなりすましメッセージのサンプルはこちらに保管してあります

本ケーススタディで用いた感染トラフィックのpcapファイルも用意しています。

このケーススタディでは、Emotetによるスレッドハイジャックの例を示すことで、Emotetマルウェアがこうしたテクニックをどのように利用しているかを理解できるようにしました。Emotetは検出回避をねらい、マルウェアを常に更新しつづけている非常にアクティブな脅威です。そしてこの感染ベクトルは多数の潜在的被害者に到達する可能性があります。

しかしながら、セキュリティのベストプラクティスに従った効果的なスパムフィルタリングを行っている組織は、同感染ベクトルからのリスクがはるかに低くなります。パロアルトネットワークス製品をご利用のお客様はこの脅威から保護されています。脅威防御セキュリティサブスクリプションが同脅威を検出し、この種のEmotet感染を阻止します。AutoFocus をお使いのお客様は次のタグを使用してこれらの活動を追跡できます: Emotet


Secure Today,
for a Better
Tomorrow
Join us at IGNITE’20