主要記事
■マルウェアEmotetに関する記事
・マルウェアEmotetについて
・Emotet感染時の対応
・マルウェアEmotetの活動再開(2020/07/17-)
・マルウェアEmotetの活動再開(2020/12/21-)と変更点
■カンファレンス発表資料
Japan Security Analyst Conference (JSAC) 2020
日本を狙うばらまきメールキャンペーンの脅威動向分析と対策
https://jsac.jpcert.or.jp/archive/2020/pdf/JSAC2020_5_sajo-takeda-niwa_jp.pdf
[EN ver.] Battle Against Ursnif Malspam Campaign targeting Japan
https://jsac.jpcert.or.jp/archive/2020/pdf/JSAC2020_5_sajo-takeda-niwa_en.pdf
※2017年-2019年の2つのUrsnifキャンペーンの分析の発表
Japan Security Analyst Conference 2021
とあるEmotetの観測結果
https://jsac.jpcert.or.jp/archive/2021/pdf/JSAC2021_104_sajo-sasada_jp.pdf
[EN ver.] A Certain Emotet Campaign -Impact in Japan-
https://jsac.jpcert.or.jp/archive/2021/pdf/JSAC2021_104_sajo-sasada_en.pdf
※2019年-2021年の日本におけるEmotetキャンペーンの分析の発表
■取材記事
・[日経XTECH][2020.07.30] ばらまき型メールから日本を守る、知られざる善意の50人
・[NHKニュース][2021.4.13] ガーディアンズ・オブ・サイバースペース ~知られざる戦い~
・[NHK事件記者取材note][2021.6.23] “最恐ウイルス”に立ち向かった 8人の日本人ハッカー
■寄稿
・Emotetのテイクダウンにみる日本のマルウェア対策
https://tokiocyberport.tokiomarine-nichido.co.jp/cybersecurity/s/column-detail95
■Twitter
@bomccss
Emotetテイクダウン作戦 Operation LadyBird の成功への感謝
2021/01/27、マルウェアEmotetのボットネットに対するテイクダウン作戦「Operation LadyBird」が成功しました!
Emotetがどのようなものでどれだけ日本に被害を及ぼしていたかは周知の事実だと思いますが、詳しく知りたい方はJSAC2021発表資料を参照ください 。
※テイクダウン作戦には直接的に関与していないため、公開されている情報や観測内容から記載しています。
「Operation LadyBird」
Emotetをテイクダウンするための作戦「Operation LadyBird」。
EuropolとEurojustが調整し、アメリカ、ドイツ、イギリス、オランダ、カナダ、フランス、ウクライナ、リトアニアの8カ国の法執行機関と司法当局が参加している。
Opration LadyBirdのロゴがこちら(左)。
ロゴから判断するに、Europolと6カ国が主導してリトアニアとウクライナは現地での捜査協力なのかと思われます。
作戦名がなぜLadyBirdなのか?公的には名言はされていませんが、答えは明白だと思います。
これまで対Emotetで活動していた、そしてこのLdayBirdにも深く協力していた、Cryptolaemusへの敬意、だと思われます。
LadyBirdとはてんとう虫のことです。Cryptolaemusもてんとう虫の一種です。上記ロゴの右の画像はCryptolaemusのアイコンです。
この作戦が実施されたということにも感動したのですが、この作戦名を見た時にもまた感動しました。
当然他にも理解している人もいて、Cryptolaemusも作戦に協力したと答えています。
Yes it is :) We were quite honored to learn this :)
— Cryptolaemus (@Cryptolaemus1) 2021年1月27日
ありがとう、Operation LadyBird、Cryptolaemus!
さて、本記事の主題のうち一つは上記ですが、もう一つ、この作戦の効果について。
”この作戦は成功したのか、今後Emotetの活動はなくなるのか?”
作戦が実施・公表されてから、私も既に幾度となく聞かれています。
私は冒頭に記載したように、「Operation LadyBirdは成功した!Emotetはテイクダウンされた!」と考えています。
その成功について、考えていきます。
Emotet インフラの仕組み
まずは、Emotetインフラの仕組みについて、今回の各国の捜査機関等の発表により分かっていることをまとめます。
特にアメリカ司法省の宣誓供述書にはインフラの構成について記述があります。それを表すと以下のようになります。
Emotetのインフラは、数百台のサーバーで大規模で複雑なネットワークで構築されています。マルウェアの配布サーバやC2サーバ、防弾用の正規サイトの改ざんサイトなどです。Tier1は正規サイトを改ざんしたもので、Tier2,3を隠すための層として使われています。
発表により用語が統一されていないため憶測も含みますが、オランダ警察の発表ではメインサーバーが3つあり、うち2つはオランダにあったとなっています。恐らくはこのメインサーバーがTier3のことかと思われます。3つというのはEpochごとに1つずつと考えられ、配布用のTier3とC2のTier3も同じサーバーが使われているということかと思われます。
追記修正するとこうでしょうか。
配布サイトやC2などのサーバー(恐らくはTier2)がドイツで最初に特定され、その分析により、更にヨーロッパの幾つかの国でサーバーが特定されました。
その後、オランダ警察がEmotetインフラに対してハッキングで侵入して調査しインフラの全体像が把握されました。(日本では法的に実行不可。)
Emotetoインフラのテイクダウン
この作戦で世界中で63台のC2サーバが押収され、うちアメリカは3台のTier2配布サーバー、ドイツは17台、カナダは13台。オランダは2つのメインサーバー。他にリトアニア、ウクライナにあったものも押収しているようです。
これらの停止されたサーバはTier1-3が含まれると思われますが、全てのサーバーを押収したわけではないようです。
押収していないTier1 C2に対しては、TeamCymruの調整によって、ネットワーク事業者が協力してTier1 C2宛の通信を遮断することで、無効化しました。
これにより、Emotet感染端末は押収されたC2とのみ通信を行います。
Emotet感染端末の隔離
更に、オランダ警察はメインサーバーを押収し、Emotetの更新ファイルを隔離用ファイルへと置き換えました。
Emotetに感染している端末はEmotetが持っている更新の仕組みに乗っ取り、押収されたC2を経由してオランダ警察が管理するメインサーバーへ接続することで、Emotetが隔離用ファイルへと自動的に置き換えられます。
この隔離用ファイルは既存のEmotetのC2とは通信をせず、ドイツが管理するシンクホールサーバーのみと通信を行います。
Emotetの感染端末は既存のC2と通信を隔離され、攻撃者は感染端末を操作できなくなります。
感染端末がシンクホールサーバーへ接続したログは保存され、被害者への通知のために使用されます。
テイクダウンの対応をまとめると図のようになります。
隔離用ファイル (law enforcement file)
隔離用ファイルは日本時間で2021/1/26 18:00以降に更新されるようになっているのを確認しています。
これらはEpoch1-3全てで同じものが与えられます。
DLL版
MD5: 9a062ead5b2d55af0a5a4b39c5b5eadc
SHA256: a9c68d527223db40014d067cf4fdae5be46cca67387e9cfdff118276085f23ef
https://tria.ge/210126-13k64pez2a
EXE版
MD5: 13b9d586bb973ac14bfa24e4ae7b24f1
SHA256: 90e4f02ab9157f389d785c3dcddfa432085b237f2a4c3befb4a093d0f2711b5b
https://tria.ge/210126-avsn5j8x5a
隔離用ファイルは12月以降に使用されるようになったDLL版だけでなく、10月まで使用されていたEXE版にも対応しており、それぞれ以前に動いていたものに応じて更新版が与えられます。
隔離用ファイルは既存のEmotetを流用し設定を書き換えて作られていますが、追加機能として、感染端末の設定時刻が2021/4//25 12:00になると永続化を削除し、プロセスを消去します。なお、隔離用ファイル自体は残存します(挙動は実際に確認済)
これにより、感染端末はEmotetからクリーンになります。
様々な環境で確認を行いましたが、全てでこの隔離用ファイルが与えられており、全てのEmotet感染端末はこの隔離用ファイルを与えられると結論付けて良さそうです。
Operation LadyBirdの成功
まとめると、以下をもって、成功したと考えています。
・ 全てのEmotetのインフラが押収されたか通信がブロックされたこと
・ 全てのEmotetの感染端末のEmotetは隔離用ファイルに更新されているであろうということ
・Emotetのインフラを運営していた攻撃者グループの一部が実際に逮捕されていること。
逮捕者については中枢の人物ではないのではないかと思われますが、逮捕に伴う捜査により、Emotetの攻撃グループだけでなく、Emotetを利用していた他の攻撃グループも特定されていると発表されていますので、更なる関係者の逮捕者が出るであろうと考えられます。
また、Emotetは他の多くのマルウェアと異なり、単一の攻撃グループが運用するマルウェアです。そのため、今回のテイクダウンでは全てのEmotetが対象となっており、一部の攻撃グループが使うEmotetはテイクダウンされていない、という事象は発生しません。
テイクダウン後の対応
ただし、Emotetはテイクダウンされましたが、これで終わりではありません。
世界中に存在する感染端末があります。
今は無害化されましたが、EmotetはEmotetの対処をしてお終いではありません。Emotetにより二次感染した別のマルウェアへの対応が必要になります。
この二次感染に対処しなければいけない、というのがこのOperation LadyBirdでの特徴だと思います。
他のマルウェアであれば、C2からマルウェアをアンインストールするコマンドを送って終わり、ということもあります。
しかし、それでは他のマルウェアの感染には対処出来ません。
そのため、隔離用ファイルを作ってシンクホールへの通信を続けされる、という特殊な対応が行われたのだと考えられます。
(こういった無害なマルウェアに感染させてその後の対処に活用する、というのは世界的にも実施が難しいケースで、一部の国であれば法執行機関でのみ実施可能、というもののようです。)
Emotetは、カナダの6,000台、米国45,000台を含む226か国で170万台以上のコンピューターに感染したと報告されています。
Emotetボットネットから押収したデータからはパスワード付きのメールアドレスが60万件見つかっています。
隔離用ファイルによりシンクホールへ通信があったIPや押収されたデータから見つかったメールアドレスについてはISPや各国CERTへと情報が送られ、通知に使われることになります。
通知をして、感染端末を二次感染したマルウェア含めて対処を行う、そのための期間が4/25までの約3ヶ月間ということだと思われます。
通知が中々届かない、などのケースも多分に考えられます。3ヶ月実施して通知が届かない、対応されない、というのはその先待っても難しいでしょう。
そのため、3ヶ月という区切りを付けて、最後は自動的に消去するのだと考えられます。
今後の攻撃グループの動向
ここは何も根拠となるものはありません。
しばらくは、EmotetやEmotetを利用していた攻撃グループは逮捕に怯えておとなしくなるのではないでしょうか。
しかし、しばらくすれば他の攻撃グループがEmotetの代わりとなるマルウェアを探して様々な他のマルウェアの使用率があがるのではないかと考えられます。
Emotetの攻撃グループはEmotetのインフラを再構築しようとすると考えられます。しかし、例えバックアップファイル等があったとしても、インフラは1からの再構築になると考えられます。同じ手法で構築したら、すぐにオランダ警察にハックバックされるでしょう。
その手間をしてまで構築したとしても、それは再び出てくるまで、長い時間がかかるのではないでしょうか。その場合はまた別のマルウェアと呼んでも良い気がします。
それよりは、他のマルウェアを利用するグループへ合流するのではないかと思われます。
攻撃グループ同士が近いと言われているTrickbotを使っている攻撃グループなどに。
その場合考えられるのは、Emotetが使用していたモジュールを他のモジュール型マルウェア、例えばTrickbotの後継と言われるBazzarマルウェアに移植される可能性などが考えられます。これは嫌なケースです。
また、Emotetを真似て同様にメールを送信するQbotなどのマルウェアも既に出ています。
これからもマルウェア付きメールには注意する必要があります。
しかし、過去最高に危険度の高い、被害を出してきたEmotetはテイクダウンされました。
世界が今回の経験を活かし、イタチごっこではありますが、新たな脅威が出たとしても、今後もテイクダウンに向けて動いていくのではないかと思われます。
終わりに
この記事は多分に感情的です。
私はCryptolaemusのファンであり、彼らの協力者です。
Cryptolaemusに言われたこの言葉はとても嬉しかったです。
At Cryptolaemus we have always appreciated the tweets/IoCs/info that you & your colleagues share @bomccss, @abel1ma @gorimpthon @sugimu_sec @papa_anniekey @waga_tw @wato_dn @58_158_177_102 have shared!!! Team power! 💪💪Often you had data that no one else saw/had! Thank you!!
— Cryptolaemus (@Cryptolaemus1) 2021年1月28日
今回のテイクダウンに、日本の公的機関の協力はありませんでしたが、私達日本のコミュニティはCryptolaemusに協力することで、間接的にテイクダウンに貢献できていた、と信じています。
Kill all the Mealybugs!
なお、冒頭にも記載しましたが、マルウェアEmotetの詳細と日本への影響 については以下のJSAC2021資料を参照ください 。[宣伝]
とあるEmotetの観測結果
[日本語] https://jsac.jpcert.or.jp/archive/2021/pdf/JSAC2021_104_sajo-sasada_jp.pdf
[English] https://jsac.jpcert.or.jp/archive/2021/pdf/JSAC2021_104_sajo-sasada_en.pdf
参考文献
Emotet - Epochとは
EmotetにはEpochと呼ばれる3つのグループが存在します。
Epoch1, Epoch2, Epoch3と命名されていますが、通常E1, E2, E3のように略されます。
本記事では、このEpochについて解説します。
■エポック1、エポック2、エポック3とは何ですか?
Epochについての詳しい説明は以下の「What is Epoch 1, Epoch 2 and Epoch 3?」に記載されています。(英語)
以下は上記に記載されている内容の日本語訳です。(一部意訳、補記含む)
エポック1、エポック2、エポック3とは何ですか?
(20/10/25更新)
エポック1〜3とその本当の意味について多くの質問があります。
これらはEmotetの異なるボットネットであり、異なるインフラがそれらをサポートしています。
それらはEmotetの更新が異なるタイムラインとタイムスケールに従っているようにみえたので、エポックと命名しました。
これらはC2インフラを共有せず、独立して動作します。
以下は一般にEmotetのボットネット/エポックに適用されるルールです。
1. 全てのC2リストは、Emotetのそれぞれのエポックには最大127個のC2リストがexeにハードコードされています。
これらのC2が異なるエポック間で共に使用されることはありません。
E1-E2-E3にはすべて、エポックごとのIP /ポートの一意のリストがあります。
(通常は1日1回更新されます)
2. Emotetのモジュール(追加機能)が使用するC2もエポックごとに一意であり(EmotetのC2とは異なる)、以前はexeの昔のC2リストから使っていましたが、現在はそのエポックのモジュールのために別のC2が使用されています。
(通常は週に1回更新されます)
3. 全てのエポックには、C2インフラとの通信に使用されるエポックごとに異なるRSA公開鍵があります。
エポックごとのRSA公開鍵はpaste.cryptolaemus.com のdairy reportに記載されています。
CAPEなどのEmotetの設定情報を取得するツールを使用すると、Emotetのexeからエポックを簡単に識別することができます。
4. 全てのエポックは、配布のダウンロードURLにユニークなURLを使用します。
同じ配布用サイト(不正に利用されている)の同じディレクトリが別のエポックに使用されることはありません。
例えばホストAは、ディレクトリ/wp-fail/X/にあるEmotetE1のexeの配布に使用します。また、同じホストの別ディレクトリ/wp-sucks/Y/にE2のdocが設置される場合もあります。
E1-E3が配布用URLとしてXまたはYを再使用して、別のエポックのexeやdocを設置することはありません。
(注:特定の配布用URLは通常、開始から48〜72時間後に使用されなくなります。それまではハッシュバスティング(同じ機能で異なるハッシュ値のファイルが定期的に設置し直される)が行われます。)
5. 各エポックからのメール送信は、そのエポックに新しい感染端末を追加するために使用されます。
非常にまれな例外やおそらく配布側の間違いもありますが、エポック1からのメールはより多くのエポック1の感染端末を作成するために使用され、エポック2からのメールはより多くのエポック2の感染端末を作成するために使用され、エポック3からのメールはより多くのエポック3の感染端末を作成するために使用されます。
6. 特定のエポックのマクロ付きdocには、同じエポックのexeをダウンロードする常に5〜8個(20/10/25の時点)のURLセットが含まれます。
(このルールには非常にまれな例外がありますが、これは彼らの一般的な手法です。)
7. 特定のエポックのマクロ付きdocは、同じ5つのURLセットに対して通信する場合、同じ作成時間を持ちます。
これにより、docがどのエポックかをすばやく特定できます。
docの作成時メタデータが変更されると、ほとんどの場合、exeのダウンロード用URLは新しい5つのURLセットが存在します。
8. 送信されるメールの件名、本文、添付ファイル名のテンプレートは通常、特定のエポックに固有です。
これらは後で他のエポックと共有される可能性がありますが、初登場時には通常、単一のエポックで使用されます。
例としては、E3のみにあった2020年1月17日金曜日の日本向けのセクストーションのようなメールテンプレートがあります。
9. ボットはエポックからエポックに転送できますが、これは長い間見てきました。
通常、Emotetは定期的に感染しているexeをアップデートしますが、その際に意図的に別のエポックのexeに感染させることによって行われます。
10. マクロ付きdocの作成時間は通常、最初にエポック2で変更され、その後すぐにE1とE3で変更されます。 E2は本当にEmotetの主要なボットネットであり、このボットネットに最初に変更を加えると信じられています。
まとめると、EmotetにはEpochと呼ばれるボットネットのグループがあり、各Epochは同じEpochの感染端末を増やす行為を行います。
Emotetが使う メール文面のテンプレート、docファイルがexeをダウンロードする通信先セット、docファイルの作成時間、exeに含まれるC2リスト、exeに含まれるRSAキー、はそれぞれのEpochで固有で、他のEpochのものが使用されるケースは(攻撃者のミスを除き)ありません。
図にすると、この様な形でしょうか。
■ paste.cryptolaemus.com とは?
さて、上記にて説明を行ったEpochですが、そもそも、このEpochについて記載されている paste.cryptolaemus.com とはどういうサイトなのでしょうか?
これは、チーム Cryptolaemus がEmotetに関する情報をまとめているサイトです。主にEmotetの日々の動向(Daily Emotet IoCs and Notes)とEmotetのC2の変化(Emotet C2 Deltas)が記載されています。
チーム Cryptolaemus はEmotetに関して調査している20名を超える世界中のトップレベルのセキュリティ専門家の集まりです。Emotetに関する情報は世界中で彼らが一番詳しいと思われます。
彼らは以下のtwitterアカウントで情報発信を行っています。
今回テーマとしたEpochについても、チーム Cryptolaemusが分析をした結果判明したものとなります。
■追加情報
Epochごとに、主に標的とする国が決まっていると推測されます。
これはメールの宛先となっているアドレスであったり、メールテンプレートの言語であったりで推測されます。
Cryptolaemus が分析したターゲットとしている国とEpochの関係性です。
Volumes were off from yesterday but we saw E1 target AU, BR, ES, IT, MX and USA today in the native languages of the countries. E2 targeted CN, ES, IT, JP, NZ, QA, SG, TR, UK and USA with some of those reply chain spams in native languages or English. E3 was on JP, KR and USA.
— Cryptolaemus (@Cryptolaemus1) 2020年7月31日
日本語訳
標的となっている国は以下のようです。
— bom (@bomccss) 2020年7月31日
E1: AU, BR, ES, IT, MX, USA
E2: CN, ES, IT, JP, NZ, QA, SG, TR, UK, DE, USA
E3: JP, KR, USA.
日本はE2とE3に含まれています。 https://t.co/q5lKA0zhma
我々日本側の観測でも、日本はEpoch2およびEpoch3からのメールが多く確認されおり、特にEpoch3から様々なメールテンプレートが確認されています。
なお、かつては日本はEpoch1、Epoch2のメールが主に確認されていました。2019/11/27 に日本語の凝ったメールテンプレートが出てから、E3のメールへと切り替わりました。このタイミング以降、E1,E2からE3へ感染端末も移されたものと思われます。
その後Epoch3は主にアジア圏をターゲットとしていると考えられますが、中でもEpoch3の主要なターゲットは日本であると考えています。
マルウェアEmotetの活動再開(2020/12/21-)と変更点
2020/10/31でメール送信が見られなかったEmotetですが、2020/12/21からメール送信が再開されました。
更に、実行プロセスにおいて幾つか変更点が見られますので、その点について記載していきます。
■Emotetのメール配信日
以下は2019年9月から2020年12月までのEmotetのメール配信があった日を色付けしたものです。
赤色が日本向けが確認された日、黄色は日本以外の全世界のどこかへメールが配信された日です。
■日本向けに配信されているメール
12/22時点で、12/21,22と日本語件名、本文、添付ファイルのメールを確認しています。
また、添付ファイルのデコイ画像が日本語のものも12/22には確認しています。
日本語以外では、英語本文の返信型のメールが送信されていることも確認しています。
・メールサンプル: クリスマス系
件名:[宛先表示名] メリークリスマス
添付ファイル名:メリークリスマス.doc
本文:
[宛先表示名] メリークリスマス
いつも大変お世話になっております。
以上、よろしくお願い致します。
・メールサンプル:賞与系
件名:
払
届
払届
賞与
賞与支
賞与支払
賞与支払届
賞与支給に際しての社長メッセージ
2020冬・業績賞与支給
■添付ファイル
添付ファイルの見た目は様々で2020年10月までのものと変化はありません。
中でも、日本語のデコイ画像が一つあり、これは明確に日本を狙っていると言えます。
<サンプル>
メールがクリスマス系で添付のデコイが「すこし黄色」のオンラインサンドボックスでの実行結果のサンプルはこちらです。
https://app.any.run/tasks/3adbfb21-eb06-4907-b962-b6410368c1bb/
https://tria.ge/201222-m5r9v71np6
■変更点
今回の活動再開で、一番変化したと言えるのが、感染プロセスです。
この変更により、現時点のEmoCheck (https://github.com/JPCERTCC/EmoCheck)では検知は不可能です。
下の図はanyrunでdocファイルを実行した時のプロセスツリーです。
1. マクロを有効化(実行)すると、WMIからcmdを実行します。
2. cmdは一つはメッセージウィンドウを表示します。メッセージ内容はエラー内容に見せかけたものですが、エラーウィンドウではなく単なるメッセージウィンドウです。
3. その裏でpowershellで外部サイトへアクセスし、Emotetの本体ファイルをダウンロードします。この時アクセスするURLはこれまで通り7つ候補があり、どれかから落とされるまで試行します。
このEmotetの本体ファイルはこれまでのexe形式ではなく、dll形式となっています。
4. ファイルはユーザフォルダ(C:\Users\ユーザ名\)配下のランダムなパスへ配置され、それをrundll32.exeで実行します。
5. 実行されると自身のコピーをC:\Users\ユーザ名\AppData\Local\配下のランダムなパスへ設置します。
この時、フォルダ名、ファイル名、拡張子は全てランダムな文字列となっています。規則性があるかもしれませんが、静的解析しているわけではないので現時点では不明です。
6. この拡張子ランダムで実態がdllファイルに引数RunDLL (2020/12/29以降は Control_RunDLL)をつけて再びrundll32.exeで実行します。
7. その後、C2と通信が確立すると、永続化としてレジストリRunキー(HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run)に設定されます。
設定されている名前はファイル名と同じとなります。
現時点の最新のEmotetの感染有無の確認は、
・ プロセス一覧の中にrundll32.exeが動いている
・ その引数のファイルの拡張子がdllでない
・ 実行のエクスポート関数がRunDLL (2020/12/29以降は Control_RunDLL) である
・ それがレジストリRunキーに設定されている
という点を確認する必要があると思われます。
ただ、これはすぐに変更可能な点ですので、確認ポイントとして今後しばらく使えるか、という点は不明です。
・その他変更点
C2との通信方式やEmotet内の設定情報の持ち方が変わったようです。
■変わっていない点
これまでのところ、上記以外では目立った変化は確認出来ていません。
感染後にメール送信や別のマルウェアに感染させるなど、機能は変わっていないと考えられます。
<参考>
本blogの過去のEmotet関連の記事
以上