# 日本を狙う新たな攻撃キャンペーン Campo の全体像 **[mal-eats.net/2021/05/10/campo_new_attack_campaign_targeting_japan/](https://mal-eats.net/2021/05/10/campo_new_attack_campaign_targeting_japan/)** @mal_eats 2021年5月10日 最終更新日:2021年5月11日 2021年3月頃より、campo/Openfieldと呼ばれるインフラを利用した日本への攻撃が複数回 確認されています。この攻撃キャンペーンは、感染組織によっては後続のマルウェアが配信 される可能性があり、その中には最終的にランサムウェアが使用されるケースが海外で観測 されています。 我々は、現在この攻撃キャンペーンを継続調査しており、認識している限り、少なくとも 2020年10月頃には観測され始めています。今後も攻撃者による継続的な活動は予測され、 最悪の場合、ランサムウェアによる暗号化をはじめとした様々な被害に発展してしまう可能 性があることを危惧しています。そこで、このような脅威に備えて、現時点で判明している 日本向けキャンペーンの特徴とマルウェアの実行痕跡の確認方法等について本稿で共有しま す。 ## 更新履歴 本稿の更新による変更点は次の通りです。 日付 内容 2021年5月10日 本稿を公開しました。 2021年5月11日 一部誤字を修正しました。 ## 日本向けのキャンペーンの報告状況 ----- 日本におけるメールの報告は、SNS上で行われています。以下に報告を時系列順に示しま す。 2020年10月14日 [https://twitter.com/bomccss/status/1316163808319041536](https://twitter.com/bomccss/status/1316163808319041536) 2021年3月10日 [https://twitter.com/bomccss/status/1369612781209591813](https://twitter.com/bomccss/status/1369612781209591813) 2021年3月24日 [https://twitter.com/bomccss/status/1374526482890944515](https://twitter.com/bomccss/status/1374526482890944515) 2021年3月31日 [https://twitter.com/bomccss/status/1377280535710494729](https://twitter.com/bomccss/status/1377280535710494729) 2021年4月6日 [https://twitter.com/bomccss/status/1379240664362143744](https://twitter.com/bomccss/status/1379240664362143744) 2021年4月7日 [https://twitter.com/bomccss/status/1379602541495738371](https://twitter.com/bomccss/status/1379602541495738371) 2021年4月8日 [https://twitter.com/bomccss/status/1379970130642235392](https://twitter.com/bomccss/status/1379970130642235392) 2021年4月9日 [https://twitter.com/bomccss/status/1380327966765314050](https://twitter.com/bomccss/status/1380327966765314050) ## 攻撃の全体像 攻撃の全体像は、図1の通りです。攻撃は日本語メールの接到から始まります。メール本文 にはURLリンクとパスワードが記載されており、ユーザがURLリンクにアクセスするとパス ワード付きZIPファイルをダウンロードすることができます。このZIPファイルを展開し、文 書ファイルを開いてコンテンツを有効にすると、Campo Loaderと呼ばれるダウンローダが ドロップ・実行され、通信が発生します。そして、別のダウンローダであるDFDownloader に感染し、サーバと通信することで追加のペイロードをダウンロード・実行できる状態とな ります。 図 1 攻撃の全体像 ----- なお、URLリンクの通信先とCampo Loaderの通信先は「BlackTDS」と呼ばれるアンチボッ トサービスを利用している可能性が高く、通信時にリサーチャの調査活動が妨害され正規サ イトへリダイレクトされることがあります。このサービスの動作の詳細は後述します。 今回の日本向け攻撃キャンペーンで使用されているDFDownloaderは、追加のマルウェアを ダウンロードして実行する機能があるものの、現時点で我々は後続のペイロードの観測に至 っていません。DFDownloaderに関しては、海外の文献においても報告されていない状況で す。このため、DFDownloaderを経由して最終的に感染するマルウェアは不明です。 その一方で、海外ではCampo Loaderから下記のマルウェアに感染する類似事例が報告され ています。 Trickbot Ursnif BazarLoader→CobaltStrike, AnchorDNS Phobos Ransomware また、同攻撃者グループによると思われる日本での過去事例では、Zloaderに感染させよう とする事例も確認されています。 これらの内容に関しては、我々の考察を含め、本稿の最後に記載しています。 ## メールの特徴 メールの例を下図に示します。日本向けの攻撃キャンペーンでは、図2の通りメール本文に 日本語が使用されており、実在する企業の担当者を騙り、請求書の形式でリンク先のパスワ ード付きZIPファイルのダウンロードに誘導します。 送信元は多数の企業を騙っており、正規の企業メールアドレスとは異なります。メール本文 に記載されているリンク先ファイルのパスワードは、現在観測している限り、すべて同一で あることを確認しています。さらに、メールヘッダの情報から攻撃者はオープンソースの Webメールである「Roundcube Webmail」を使用して配信していると推定しています。 ----- 図 2 日本向け攻撃メールの例 ## リンク先のサーバの特徴 リンク先サーバへのアクセスは、HTTPSで行われることが確認されています。また、接続 先ドメイン名に紐づいているIPアドレスが共通であることが多いという特徴があります。 調査の結果、このサーバは「BlackTDS」と呼ばれるアンチボットサービスを利用している 可能性があることがわかりました。このサービスは、公式サイトによると”トラフィックの クリーニングとボットの保護に最適なソリューション”(図3)とされていますが、実際は Drive-by as a serviceとして攻撃者が悪用しているとProofpoint社によって報告されています [1]。 ----- 図 3 BlackTDS [1]「Drive-by as a service: BlackTDS」, Proofpoint, 2018/3/13 [https://www.proofpoint.com/us/threat-insight/post/drive-service-blacktds](https://www.proofpoint.com/us/threat-insight/post/drive-service-blacktds) 今回の日本向けキャンペーンでは、このサービスが提供すると言われている以下のフィルタ リングが利用されている可能性があります。 IPv6に完全対応したIPアドレスによるフィルタリング ISPによるフィルタリング リファラーによるフィルタリング ハードウェアIDによるフィルタリング、 44万以上のIPアンチウイルス、モデレーター、検索エンジン、チェッカーボットが登 録されているアンチボットデータベースによるフィルタリング そのため、BlackTDSによりセキュリティリサーチャやサンドボックスによるファイルの取 得が難しく調査の難易度が高くなってしまいます。 ## 文書ファイルの特徴 主に日本向けのキャンペーンでは、メールのリンク先からダウンロードされたパスワード付 きZIPファイルを展開し文書ファイルを開くと、図4のように日本語が使用された画像が表示 されます。 ----- 図 4 日本向けの攻撃で確認された文書ファイルの例 表示される画像は、他の攻撃においても共通のものが使用されることもあるため、見た目だ けで本攻撃に関連するものであるかを判断することは困難な場合があります。また、画像が 変更される場合もあるため、図4のデザインに限らない点にご注意ください。 以降では、動作の概要と、執筆時点(2021年4月)における最新の文書ファイルの動作につ いて解説します。 ### 動作の概要 Office製品がデフォルト設定の場合、ユーザが文書ファイルを開いて「コンテンツの有効 化」をクリックすると、Excel 4.0 マクロ(以降、マクロと記載)が実行され、文書ファイ ルに埋め込まれている文字列がファイルとしてドロップされます。 一連の攻撃で確認している文書ファイルでは、マクロが設定されているシートが非表示状態 となっており、シート内にはマクロを実行するために必要な文字列が細分化されて記述され ています。 また、文書ファイルのブックに「Auto_Open」が設定されていることで、文書ファイルを開 くと悪意あるマクロが自動的に実行されます。自動的に実行されるマクロの一部を図5、6に 示します。 ----- 5 2021年4月9日に観測した文書ファイルから実行される一部のマクロ関数 図 図 6 2021年4月9日に観測した文書ファイルから実行される一部のマクロ関数 SAVE.AS関数で保存された文字列はcertutil.exeを用いてデコードされ、別のファイル名で保 存されます。その後、CALL関数などでrundll32.exeを用いて、デコードされたCampo Loaderが実行されます(図7)。 図 7 2021年4月9日に観測した文書ファイルから実行されるマクロ関数 これら一連の挙動は、マクロに加えWindowsに標準で搭載されているモジュール群(DLL) の関数を直接呼び出すことで実装されています。 ### 4月9日の攻撃で使用された文書ファイル 以下に4月9日の攻撃で確認された文書ファイルからCampo Loaderが実行されるまでのフロ ーを示します(図8、9)。 ----- 8 文書ファイルを開いた際のフロー 9 文書ファイルを開いた際のプロセスツリー 動作の流れは以下の通りです。 図 図 1. 文書ファイルを開きコンテンツが有効化されると、悪意あるマクロが動作します。 2. 文書ファイルのシート内に埋め込まれている文字列がC:\Users\Public\14118.doyとし て保存されます(※1)。 3. 文書ファイルのシート内に埋め込まれている文字列がC:\Users\Public\14118.xlsbとし て保存されます(※2)。 4. cmd.exe経由でcertutil.exeが呼び出され、%PUBLIC%\14118.doyの中身がBASE64デコ ードされて、結果が%PUBLIC%\14118.biyとして保存されます。 5. ここで偽の入力フォームが表示されます(図10)。 6. rundll32.exeでCampo Loader(%PUBLIC%\14118.biy)が実行されます。このとき、 引数としてDF1が指定されておりDF1関数が呼び出されます。 ※1 ファイル名(例えば、14118.doy)に含まれている数値は、疑似乱数を生成する関数で 9999 ~ 19999まで値が生成されますが、実際には攻撃者が保存した際の数値がそのまま保存 されており、固定値になっています。 ※2 当該ファイルは作成されるだけで、実際には攻撃を成立させるためには不要なファイル であると考えられます。 ----- 図 10 偽の入力フォーム ## Campo Loader マルウェアの特徴 Campo Loader(別名:NLoader)は、文書ファイルからドロップされた後に実行されるマ ルウェアです。このマルウェアの役割はダウンローダであり、HTTP通信を行って追加のペ イロードを取得・実行する機能を有しています。通信時に「/campo/」を含むパスにアクセ スすることから、Orange Cyberdefense社が「Campo Loader」という名称を使用し[2]、 SNS上で定着しました。 Campo Loaderは、3月上旬に変更が加えられ、HTTP通信の特徴が変化しました。本稿では 執筆時点(2021年4月)で最新のものを解説します。 [2] 「In the eye of our CyberSOC: Campo Loader, analysis and detection perspectives」, Orange Cyberdefense, 2021/03/23 https://orangecyberdefense.com/global/blog/cybersoc/in-the-eye-of-our-cybersoccampo-loader-analysis-and-detection-perspectives/ Campo Loaderが実行されると、まずはディレクトリを作成します。下図に示す通り、作成 するディレクトリ名はハードコーディングされています。 ----- 図 11 ディレクトリの作成 続いて、POSTメソッドで文字列”ping”をサーバへ送信します(図12)。このときに通信す るサーバを以降では「Openfieldサーバ」と呼びます。 図 12 Campo Loaderが発生させるリクエストの例 この段階の通信では、OpenfieldサーバはレスポンスとしてURLを返します(詳細は後 述)。このため、Campo Loaderはレスポンスが「h」で始まるかをチェックし、「h」で始 まらない場合はプロセスを終了します(図13)。 図 13 ‘h’のチェック 「h」である場合は、そのURLに対して、POSTメソッドで2回目の”ping”メッセージを送信 します。これにより、追加のペイロードがダウンロードされ、ファイルとして保存されま す。保存されるファイルの名前に関してもハードコーディングされています(図14)。 ----- 図14 ハードコーディングされている保存ファイル名の例 その後、rundll32.exeを使用して、ダウンロードしたDLLファイルの関数を呼び出します。 呼び出す関数名は通常「DF」関数です(※)。この呼び出し引数もハードコーディングさ れています。 なお、Campo Loaderにはexeファイルをダウンロードして実行するタイプも存在します。 日本における過去の事例では、Campo LoaderがUrsnifやZloaderなどのマルウェアを直接実 行したことがあります。ただし、最近の日本向けのキャンペーンではDLL版が多く、後述の DFDownloaderへのダウンロード・実行に移行している傾向にあります。 ※ Campo Loaderはエクスポート関数として「DF」や「DF1」などの関数名が使用されてい ますが、後述のマルウェアであるDFDownloaderも同名の「DF」が関数名として使用されて いるため、この部分でCampo LoaderとDFDownloaderを混同しないようご注意ください。 ## Openfieldの特徴 Openfieldサーバは、Campo Loaderが取得するペイロードがホストされたサーバです。ペイ ロード取得時の通信先URLとして「/campo/」を含む特徴があります。ここでは、レスポン スの内容とサーバの調査結果について解説します。 ### サーバのレスポンス POSTメソッドを用いてHTTPボディに “ping “を指定し「/campo/」配下に接続すると、URL が返却されます(下図)。過去事例として、リダイレクトを示すレスポンスが行われるケー スも確認していますが、最近のものはレスポンスにURLが含む形式が一般的です。 図 15 レスポンスの例1 ----- 図 16 レスポンスの例2 なお、Openfieldサーバに関しても「5 リンク先のサーバの特徴」と同様にBlackTDSを用い たアンチボットが設定されている可能性があります。このため、BlackTDSサービスによっ てリサーチャの調査活動が妨害され、YahooやGNU等の正規のサイトへリダイレクトが行わ れる可能性があります。 レスポンスとしてCampo Loaderに通知するURLは、以下の2種類のケースがあります。 同サーバの別ディレクトリ(/uploads/files/配下など)を示すURL 他のOpenfieldサーバのURL なお、過去の日本向けのキャンペーンや海外向けのキャンペーンでは、侵害済みの正規サー バにマルウェアを配置したと考えられる事例も確認しています。 ### IPアドレスとドメイン名の特徴 通信先のURLには、IPアドレスとドメイン名が使用されたことがありますが、最近はドメイ ン名を使用する傾向があります。ドメイン名は、Namecheap社のサービスで登録されてお り、「単語+数字+xyzドメイン」という規則性があります。また、ドメイン名に紐づくIP アドレスのレンジは、176.111.174.0/24であることも調査より判明しています(表1)。 表1 Openfieldに使用されたドメイン名とIPアドレスの例 対象 ドメイン名 **IPアドレス** 海外 bfdnews[.]xyz 176.111.174[.]72 海外 groupeu[.]xyz 176.111.174[.]72 海外 allcafe[.]xyz 176.111.174[.]72 海外 gainme[.]xyz 176.111.174[.]53 ----- 日本 ship4[.]xyz 176.111.174[.]53 日本 gopigs[.]xyz 176.111.174[.]53 海外 beauty1[.]xyz 176.111.174[.]53 海外 about2[.]xyz 176.111.174[.]57 日本 board3[.]xyz 176.111.174[.]57 日本 cake3[.]xyz 176.111.174[.]58 日本 dance4[.]xyz 176.111.174[.]61 海外 hall4[.]xyz 176.111.174[.]62 海外 keep2[.]xyz 176.111.174[.]62 海外 lie3[.]xyz 176.111.174[.]59 海外 out2[.]xyz 176.111.174[.]60 海外 noise1[.]xyz 176.111.174[.]60 ### Openfieldサーバの由来と機能 「Openfield」は、このサーバを識別するために、海外のセキュリティリサーチャチーム Cryptolaemus Team(@Cryptolaemus1)が名付けた名称です。 [#Trickbot gtag mon88](https://twitter.com/hashtag/Trickbot?src=hash&ref_src=twsrc%5Etfw) [https://t.co/D3U5S10zJQ](https://t.co/D3U5S10zJQ) This /campo/x/x actor is some sort of distro as a service group that loves to do these 1 or 2 letter subdirectories like that. We have started to call them [#openfield or](https://twitter.com/hashtag/openfield?src=hash&ref_src=twsrc%5Etfw) [#campoloader because they always have the same structure.](https://twitter.com/hashtag/campoloader?src=hash&ref_src=twsrc%5Etfw) [— Cryptolaemus (@Cryptolaemus1) 2021年2月27日](https://twitter.com/Cryptolaemus1/status/1365494339883958272?ref_src=twsrc%5Etfw) Webサーバのディレクトリリスティング機能が有効になっており、コンテンツの一覧を見る ことができる状態(一般的に”open directory”と呼ばれる)であったことが由来と考えられま す。我々の調査でも、Openfieldサーバのコンテンツの一覧を見られる状態であったことを 確認しています。ただし、この設定は現在は修正されています。 ----- 図 17 Openfieldサーバ(当時)のディレクトリリスト また、Openfieldサーバには、ログインパネルも存在しています。図17(左)に示す通り、 ディレクトリに「smtp」「mails」といった名称が使用されていることから、Openfieldサー バはメールの送信に関連した機能を持つ可能性があります。 図 18 Openfieldサーバのログインパネル ## DFDownloader マルウェアの特徴 DFDownloaderは、Campo Loaderによってダウンロード・実行される、2段階目のマルウェ アです。このマルウェアはダウンローダであり、次の段階のマルウェアをダウンロードして 実行する役割を担っています。ダウンロード・実行のほかにも永続化や自身を更新する機能 などを備えており、Campo Loaderよりも機能が豊富です。また、DFDownloaderには、バ ----- ージョン情報が埋め込まれており、頻繁にバージョンアップが行われていることから、今後 も継続して使用されるものと予想されます。以降では、DFDownloaderの動作について解説 します。 後述しますが、海外の事例ではDFDownloaderを使用しないケースも確認されています。 ### アンチサンドボックス機能 DFDownloaderには、アンチサンドボックス機能があります。DFDownloaderは最初にシス テムのメモリ総量をチェックし、4GiBに満たない場合はプロセスを終了します。また、 sleep関数が複数存在しており、これら妨害機能によって、サンドボックス環境での実行で 正確な結果を得られない可能性があります。 図 19 メモリチェック ### 文字列の暗号化 下図の通り、DFDownloaderは使用する文字列をXORで暗号化した状態で保持しています。 この文字列には、通信先情報や使用する関数の情報などが含まれています。また、これらの 文字列を復号するXORのルーチンは、サーバからのレスポンスを復号する際にも使用されま す。 ----- 図 20 XOR文字列の例 ### 通信の流れ DFDownloaderによる通信の流れは下図の通りです。通信先として、通常は4種類のドメイ ン名を保持しています。DFDownloaderがサーバと通信する際に使用するデータフォーマッ トは4種類存在します。 ----- 図 21 DFDownloaderの通信の流れ ①SYS識別子の通信 DFDownloaderは最初に感染したホストで収集した情報をPOSTメソッドで送信します(下 図)。このとき送信される情報はBase64でエンコードされており、識別子などを含んでい ることがわかります。 図 22 最初の通信例(SYS識別子) サーバへ送信される情報の詳細は下表の通りです。これらのリクエストに対し、サーバは通 常、HTTPステータスコード「200 OK」のレスポンスを返します。 表2 送信データの詳細 値の例 意味 SYS 識別子 10 OSのメジャーバージョン番号 17763 OSのビルド番号 DESKTOPAABSVH71760622929 コンピュータ名とボリュームシリアル番号から生成し た値 ----- test ユーザ名 64 OSのビット数 1.28r DFDownloaderのバージョン 0 0 または 1 7545391 不明 ②BIN識別子の通信 2番目にBIN識別子を使用した通信が発生します(下図)。 図 23 2番目の通信例(BIN識別子) ここで、サーバからレスポンスがあった場合、DFDownloaderはレスポンスをXORで復号 し、先頭バイトが「MZ」(PEファイルのマジックナンバー)で始まるかチェックします。 PEファイルである場合、受信したデータをファイルとして保存します。 その後、作成したファイルのパスを使用して、レジストリに値を登録します(下図)。この レジストリへの登録によって、ユーザが端末にログオンした際にDFDownloaderが実行され るようになります(感染の永続化)。 ----- 図 24 レジストリに登録される値の例 なお、我々は当該通信によってDFDownloaderの更新が行われる動作を確認しました。更新 が行われる際は、新しくファイルを保存し、レジストリの値を書き換え、古いファイルとデ ィレクトリを削除します。 ③PNG識別子の通信 3番目にPNG識別子を使用した通信が発生します。 図 25 3番目の通信例(PNG識別子) この通信でサーバから受け取った値に応じて、以降の処理が下表の通り分岐します。分岐処 理には実装途中と考えられる部分があり、今後のバージョンアップによって機能が追加され ると予想されます。 表3 コマンド 値 説明 0x31 後続の通信で取得するファイル(DLLまたはEXE)を保存して実行する。DLLの場 合は関数名を指定することができる。 0x32 後続の通信で取得するファイル(DLL)を保存して実行する。この場合、実行後に DFDownloaderのプロセスは終了する。 ----- 0x33 未実装。 0x34 未実装。 ④BN識別子の通信 最後にBN識別子を使用した通信が発生します(下図)。この通信では、③PNG識別子を使 用した通信でサーバから返ってきた値に合わせて、それぞれの分岐で実行するペイロードを サーバから取得します。前述の通り、取得するペイロードはDLLファイルまたはEXEファイ ルです。 図 26 4番目の通信例(BN識別子) そして、CreateProcessA関数を使用して新しいプロセスを生成します。EXEファイルの場 合はそのまま実行し、DLLファイルの場合はrundll32.exeを使用します。 なお、ループ処理があるため、サーバから期待されるレスポンスがない場合でも、③と④の 通信が何度も発生します。ただし、通信の間隔は一定ではありません。 ## その後のペイロードの考察 執筆時点(2021年4月)では、後続のペイロードを確認できていません。しかし、海外では 類似事例が報告されており、日本においても今後これらの事例のように感染が進行する可能 性があると考えます。また、以前から同攻撃者グループによると考えられる攻撃キャンペー ンも確認されており、その内容からも狙いの傾向を推測することが可能です。そこで、ここ では海外事例と過去事例をもとに、最終的に感染すると考えられるマルウェアを考察しま す。 これまでの類似事例から、その後感染する可能性のあるマルウェアは次の図の通りです。 Campo Loaderから、下図の青枠に示すマルウェアに感染する事例があり、DFDownloader からも同様に感染が進行する可能性があります。 ----- 図 27 感染フローの考察 このように情報窃取やリモートアクセス、ランサムウェアなど様々な被害が想定されます。 あくまで推測であり、上記以外のマルウェアに感染することもあり得る点にご注意くださ い。 ### 日本における類似事例 日本においては、以前にOpenfieldサーバやCampo Loaderを利用してUrsnifやZloaderへの感 染を狙う事例[3]が確認されています。この事例では、メールに添付された悪性の文書ファイ ルからドロップされたCampo Loaderが、UrsnifやZloaderをダウンロードして実行するとい う流れでした。そのため、DFDownloaderからUrsnifやZloaderに感染する可能性も考えられ ます。 [3] 「2020/10/14(火) 添付ファイル付不審メール「【お振込口座変更のご連絡】」 (ZLoader)の調査」, bomb_blog, 2020/10/28 [https://bomccss.hatenablog.jp/entry/2020/10/28/125630](https://bomccss.hatenablog.jp/entry/2020/10/28/125630) ### 海外における類似事例 海外においても、OpenfieldサーバとCampo Loaderを使用する事例が複数報告されていま す。これらの事例も、Campo Loaderが他のマルウェアをダウンロードして実行するケース です。 海外の活発なキャンペーンのひとつに「BazarCall」と呼ばれる攻撃キャンペーンがありま す。このキャンペーンでは、ユーザがメールに記載の連絡先に電話することで文書ファイル のリンク先に誘導され、実行することで感染に至ります[4]。 このキャンペーンでもCampo Loaderが使用されており、本攻撃キャンペーンと同様に文書 ファイルからドロップされたCampo Loaderが実行されOpenfieldサーバへアクセスし、 BazarLoaderをダウンロードして実行します(図28)。 ----- 図 28 BazarCall キャンペーンにおけるのBazarLoaderを取得する通信の例 (出典:https://www.malware-traffic-analysis.net/2021/04/16/index2.html) [4] 「BazarCall malware uses malicious call centers to infect victims」, Bleeping Computer, 2021/3/31 https://www.bleepingcomputer.com/news/security/bazarcall-malware-uses-maliciouscall-centers-to-infect-victims/ また、他の事例として、古いタイプのCampo LoaderからTrickbotやPhobos Ransomwareに 感染した事例の報告があります。2020年9月~10月頃の事例ですが、現在も活動を続けるマ ルウェアですので注意が必要です。 [5]「Deep Analysis – The EKING Variant of Phobos Ransomware」, Fortinet, 2020/10/13 https://www.fortinet.com/blog/threat-research/deep-analysis-the-eking-variant-ofphobos-ransomware [6] 「TRICKBOT AND EMOTET DELIVERY THROUGH WORD MACRO」, Morphisec, 2020/9/16 [https://blog.morphisec.com/trickbot-emotet-delivery-through-word-macro](https://blog.morphisec.com/trickbot-emotet-delivery-through-word-macro) ## 他のキャンペーンとの関連性 調査の過程で判明した他のキャンペーンとの関連性について解説します。 ### BazarCallとの関連性 4月9日の日本向けの攻撃に使用された文書ファイルを開いた際に表示される偽の入力フォー ムが、4月15日にSophos社が公開したレポート[7]にて言及されている偽の入力フォームと ほぼ一致しています(図29、図30)。 [7]「BazarLoader deploys a pair of novel spam vectors」, Sophos, 2021/04/15 [https://news.sophos.com/en-us/2021/04/15/bazarloader/](https://news.sophos.com/en-us/2021/04/15/bazarloader/) ----- 図 29 4月9日の日本向け攻撃キャンペーンで表示される偽の入力フォーム ----- 図 30 Sophos社のレポートで言及されている偽の入力フォーム (出典 : https://news.sophos.com/en-us/2021/04/15/bazarloader/) また、同様に日本向けの一連の攻撃で使用された文書ファイルの挙動についてもほぼ一致し ています(図31、図32)。 図 31 4月9日の日本向け攻撃キャンペーンで使用された文書ファイルのプロセスツリー ----- 図 32 Sophos社のレポートで言及されているプロセスツリー (出典 : https://news.sophos.com/en-us/2021/04/15/bazarloader/) ### パッカーの類似性 Campo LoaderとDFDownloaderに使用されているパッカーには複数のバリエーションがあ りますが、一部のパッカーがTrickbotやBazarLoaderで使用されていたものと類似していま す。 下図は、Campo LoaderとDFDownloader(1.28r)で使用されているパッカーのコードの一 部です。このパッカーは、CryptoAPIを使用してマルウェア本体を暗号化しており、 CryptImportKey関数によるRSA2キーのインポートと、CryptEncryptを使用してRC4暗号で データを処理する動きが特徴的です。 図 33 Campo Loaderのパッカーの例 ----- 図 34 DFDownloaderのパッカーの例 これらのコードは、Cybereason社のブログ[8]で紹介されているBazarLoaderのパッカーや VIPRE Labsのブログ[9]で紹介されているTrickbotが使用しているパッカーにも同様の特徴が 見られます。このような類似点からも、TrickbotとBazarLoaderが本攻撃キャンペーンに関 連する可能性があることがわかります。 [8] 「A Bazar of Tricks: Following Team9’s Development Cycles」, Cybereason, 2020/7/16 https://www.cybereason.com/blog/a-bazar-of-tricks-following-team9s-developmentcycles [9] 「Trickbot’s Tricks」, VIPRE Labs, 2018/12/5 [https://labs.vipre.com/trickbots-tricks/](https://labs.vipre.com/trickbots-tricks/) ## 実行痕跡の確認方法 実行痕跡の確認方法を以下に示します。 ### 端末の自動起動設定の確認 レジストリ DFDownloaderは、永続化のためにレジストリにDLLファイルを登録します。 ユーザが端末にログオンした際にDFDownloaderが実行されるようになります。 ----- 表4 レジストリに登録される値の例 項目 値 レジストリキー HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon 値 Shell データ型 REG_SZ データ (例)explorer.exe, regsvr32.exe C:\ProgramData\nmvhg\nmvhg.dll 35 レジストリに登録される値の例 ### ネットワークトラフィックやプロキシログの確認 図 感染時のネットワークトラフィックやプロキシログが残っている場合は、次に示す通信が記 録されていないかをご確認ください。 **Campo Loaderの通信** POSTメソッドを使用します。このときHTTPヘッダにはUser-Agentがありません。 通信先のドメイン名は、xyzドメインを使用する傾向があります。 URLは正規表現で「\/campo\/([a-z0-9]{1,2})\/([a-z0-9]{1,3})」と表現できます。 ----- 図 36 Campo Loaderの通信例 **DFDownloaderの通信** POSTメソッドを使用します。このときHTTPヘッダにはUser-Agentがありません。 通信先のドメイン名は、xyzドメインを使用する傾向があります。 リクエストのContent-Lengthは、40~100バイト程度です。 サーバレスポンスは、XORで暗号化されています。XORキーは感染した端末ごとに異 なる値です。 例:「DESKTOP-AABSVH71760622929」 図 37 DFDownloaderの通信例1 図 38 DFDownloaderの通信例2 ### 生成ファイルの確認 以下に示すようなファイルが生成されていないかをご確認ください。 ファイルの名前や保存先などは攻撃者が容易に変更できる部分であるため、未掲載のものが 存在する可能性がある点にご注意ください。 文書ファイル 保存先のフォルダパスは一貫して「C:\Users\Public\」が使用されており、攻撃キャン ペーンによってファイル名が変化します。 文書ファイルの生成ファイルの例は下表の通りです。 ----- 表5 文書ファイルによる生成ファイル例 ファイル 説明 C:\Users\Public\14118.doy 文書ファイルがドロップしたファイル。 2021年4月9日の日本向けキャンペーンで使用。 C:\Users\Public\14118.xlsb 文書ファイルがドロップしたファイル。 2021年4月9日の日本向けキャンペーンで使用。 C:\Users\Public\14118.biy 「C:\Users\Public\14118.doy」の中身をBase64デコードして 生成されたファイル(Campo Loader)。 2021年4月9日の日本向けキャンペーンで使用。 **Campo Loader** 保存先のパス、ファイル名は、文書ファイルからドロップされるCampo Loaderにハー ドコーディングされています。 「C:\ProgramData\」配下を使用する傾向にあります。 Campo Loaderの生成ファイルは下表の通りです。 表6 Campo Loaderによる生成ファイル例 ファイル 説明 C:\ProgramData\jyqwkf\jyqwkf.dll Campo LoaderがダウンロードしたDLLファイル。 2021年4月9日の日本向けキャンペーンで使用。 C:\ProgramData\yosgu\yosgu.dll Campo LoaderがダウンロードしたDLLファイル。 2021年4月8日、2日の日本向けキャンペーンで使用。 **DFDownloader** DFDownloaderの保存先のパス、ファイル名は、ランダムに生成されます。 「C:\ProgramData\」配下を使用する傾向にあります。 通信の状況によっては、フォルダとファイルを削除することもあります。 DFDownloaderの生成ファイルは下表の通りです。 表7 DFDownloaderによる生成ファイル例 ファイル 説明 ----- C:\ProgramData\<ランダム>\<ランダム >.dll 例:「C:\ProgramData\nmvhg\nmvhg.dll」 C:\ProgramData\<ランダム>\<ランダム >.exe 例: 「C:\ProgramData\nmvhg\nmvhg.exe」 DFDownloaderがダウンロードしたDLLファ イル。 DFDownloaderがダウンロードしたEXEファ イル。 ## 感染の判断が難しい場合・専門企業による調査が必要な場合 下記リンクにて、セキュリティインシデント発生時に緊急対応を請け負ってくれる企業の一 覧があります。初期相談が無料の企業もあります。 JNSA サイバーインシデント緊急対応企業一覧 [https://www.jnsa.org/emergency_response/](https://www.jnsa.org/emergency_response/) ## 謝辞 本稿の執筆にあたり、下記のセキュリティリサーチャ(順不同)による情報共有を活用させ ていただきました。お礼を申し上げます。 Cryptolaemus Team (@Cryptolaemus1) ExecuteMalware (@executemalware) bom (@bomccss) わが (@waga_tw) moto_sato (@58_158_177_102) Malware Traffic Analysis [https://www.malware-traffic-analysis.net/](https://www.malware-traffic-analysis.net/) ## IoC(5月10日時点) ### 文書ファイルのハッシュ 7d1ff39fc6daab153ad6477554415336578256257aa81fd796a48b89c7a8b2e8 ### Campo Loaderのハッシュ b8212f866c5cdf1a823031e24fe10444aab103d8fb55a25821e1c7c7366e580f ### DFDownloaderのハッシュ 8589e2d840c3ed5adbdc160724bdb3c2e703adeec1ec1e29983960c9c00c4469 ----- ### Campo Loaderの通信先 Openfieldサーバは、Campo Loader以外のマルウェアでも使用されるため、下記には BazarCall等で使用される通信先が含まれる可能性があります。 [また、他のOpenfieldのURL情報は、URLhausにも登録されています。](https://urlhaus.abuse.ch/browse/tag/openfield/) hxxp://nightsalmon[.]xyz/campo/b/b hxxp://foreverbold[.]xyz/campo/b/b hxxp://superstartart[.]xyz/campo/b/b hxxp://steeltits[.]xyz/campo/z/z hxxp://steeltits[.]xyz/campo/LHq/cD hxxp://139.162.150[.]121/campo/b/j hxxp://185.14.31[.]147/campo/j1/j2 hxxp://ship4[.]xyz/campo/i/i hxxp://gopigs[.]xyz/campo/k/k hxxp://board3[.]xyz/campo/h/h2 hxxp://cake3[.]xyz/campo/c4/c4 hxxp://dance4[.]xyz/campo/c5/c5 hxxp://cake3[.]xyz/uploads/files/120.dll hxxp://chance5[.]xyz/uploads/files/1.dll hxxp://dance4[.]xyz/uploads/files/120-cr.dll ### DFDownloaderの通信先 showstoreonline[.]com moviesmenia[.]com avydabiz[.]com kingdomcoffee[.]com domaindnsresolver[.]xyz domainutility[.]xyz domainservicing[.]xyz domainsupply[.]xyz -----