** 本記事は、Malware campaign attempts abuse of defender binaries の翻訳です。最新の情報は英語記事をご覧ください。**
ソフォスの正規の実行ファイルと DLL を悪用して元のコンテンツを改変し、侵入口のコードを上書きして、復号したペイロードをリソースとして挿入する攻撃、つまり正規のファイルになりすましてシステムに侵入しようとするランサムウェア攻撃を現在調査しています。予備調査の結果、影響を受けたソフォスのファイルはすべて Windows 向けエンドポイント製品のバージョン 2022.4.3 に搭載されているものだとされています。
この種の悪意のある活動は情報セキュリティ業界にとって、あるいはソフトウェア開発者にとって (残念ながら) 目新しいものではありません。長年にわたり、私たちはインストーラーになりすました数多くの情報窃盗ツールや、正規のソフォス保護製品を装ったアンチマルウェア製品などの偽ユーティリティ、 クローズドソースとオープンソース双方のコードを狙った攻撃を目の当たりにしてきました。本記事の後半では、攻撃者がこれらの攻撃から何を得ようとしているのか、防御者はどのように対応すべきかについて詳細に説明します。
ソフォスが調査を通じて確認した最終的なペイロードは、Cobalt Strike、Brute Ratel、Qakbot、Latrodectus などさまざまです。複数の犯罪グループによって使用されていることを示す証拠も存在しますが、攻撃元の特定や上記の危険なシグネチャ、偽のインストーラーについての追加調査については、本記事では扱いません。
とはいえ、この種の発見はいつでも興味深いものです。本記事では、この種の発見のうちの 1 つと、詳細な調査を通じて何が確認されたかを紹介します。
最初の発見
今回の攻撃にソフォスが注目したきっかけは、ソフォスの新しい緩和策である C2 Interceptor が、2 月上旬にお客様のシステムから Brute Ratel による C2 接続の試みを検出したことでした。
図 1: ソフォスの名を騙って C2 接続を試みるコンポーネント
最も驚いたのは、悪意のある HealthApi.dll ファイルがそのバージョン情報 (図 1 参照) で、同名の正規のソフォスコンポーネントを名乗っていたことです。同じ特徴を示すサンプルを探索したところ、同じ攻撃者によって作成されたと思われるものが複数見つかり、中には 1 月に作成されたバージョン (上述の侵害された可能性のあるデジタル署名を使用していました) も含まれていました。上述の通り、さまざまなペイロードが使用されていることが確認されました。本記事では、主に Cobalt Strike または Brute Ratel を展開するサンプルを解凍し、確認されたことに焦点を当てます。
少なくともいくつかの事例では、侵害されたファイルをシステムに侵入させるのに偽のインストーラーが用いられたようです。初期アクセスに関しては、電子メール経由で被害者に送られたと思われる JavaScript ローダーが確認された事例もあります。
一般的な特徴
本記事のために調査した事例では、侵入口のコードは悪意のあるローダーコードによって上書きされ、暗号化されたペイロードはリソースセクション内のリソースとして格納されていました。つまり、悪意のあるリソースを追加するために元の PE ファイルの構造を変更する必要があったということです (図 2 参照)。
図 2: 悪意を持って改変された PE ファイル
PE ファイルの改変は部分的なものです。たとえば、エクスポートテーブルは修正されていません。このような場合、DLL サンプルのコードは悪意のあるローダーコードによって上書きされているため、理解不能な (壊れた) コードが出力されることになります。
図 3: 上書きされたコード
一方、実行ファイルを適切にロードするために必要なヘッダー領域 (イメージサイズなど) は機能しました。最も注目すべき点は、セクションテーブルにおいてリソースセクションのサイズが変更されており、元のクリーンなファイル内のすべてのリソースが暗号化されたペイロードを保持するリソースファイルに置き換えられたように装っていることです。
図 4 は、オリジナルの SophosFS.exe とトロイの木馬化された同ファイルの比較です。
図 4: 左側がソフォス製の本物、右側が攻撃者により改変されたもの
DllRegisterServer
サンプル 25e24385719aede7f4e0359b389a9597cc26df20e1b3a6367bbc04d5d4982fe6 では、上述のファイルは DllRegisterServer のエクスポート関数のコードが上書きされた DLL ファイルでした。スタック上にキーが構築されていることが確認できます。さらに分析を進めると、このキーは攻撃者によって難読化された PE リソースを解読するための XOR キーとして使用されていることがわかります。
図 5: 攻撃者が変更を加えた DllRegisterServer。キーは右下で確認できます。
このファイルをデコードしたところ、最終的に別のレイヤを解読してメモリに注入し、実行するシェルコードが見つかりました。このサンプルはその後、DOS ヘッダーのない実行ファイル (今回は Brute Ratel) であることが明らかになりました。
図 6: 2022 が呼び出され、Brute Ratel のコピーが送信されます。
一方、Cobalt Strike のサンプルでは、ペイロードは通常の 64 ビット http シェルコードでした。
図 7: 通常の 64 ビット http シェルコード
あるいは、Cobalt Strike ビーコンの実行ファイルが用いられる事例もありました。
図 8: Cobalt Strike ビーコンファイルの痕跡。左が最終ペイロードのための復号ツール、右が抽出された Cobalt Strike の構成
Cobalt Strike が用いられたいくつかの事例では、かなり複雑な多機能シェルコードである TitanLdr ローダーが Cobalt Strike ペイロードをロードしていました。他の事例では、より単純なシェルコードが Cobalt Strike のロードプロセスを処理していました。また、上述の通り、電子メール経由でお客様のシステムに侵入したと思われる JavaScript ローダーが、MSIinstaller をロードし、その MSIinstaller が偽の EXE/DLL をロードした事例もありました。
その後の発見
ソフォスの調査は続いており、本記事公開時点で IoC ファイル (下記リンク) には 400 件以上のエントリがあります。他にも、さらに興味深い発見がありました。たとえば、少なくとも 1 件の事例で、(失効した) 証明書によって署名された、侵害されたバイナリを発見しました。用いられたペイロードは Qakbot でした。VirusTotal で確認したところ、この署名が用いられたファイルは 1 件だけであり、攻撃者自身が自らの利益のために登録したことを示唆しています。
攻撃者の行動の理由
これらの行動は何の為なのか、というのは当然の疑問です。結局のところ、この「変更」はファイルのデジタル署名を大きく破壊しており、大半のツールでは署名されたファイルであることを識別できないほどです。これらの署名に依存するプロセスを欺くことはできません。また、ソフォスの保護機能が標的マシンで実行されている場合、このような偽装は容易に識別できるため、ソフォスはこのファイルをシャットダウンします (さらに、この発見を他の防御者と共有します)。
では、この操作を行うのは何故でしょうか?基本的に、この種の仕掛けは、ファイルをざっと確認する人を混乱させることを目的としています。攻撃者は自分たちに注意を向けたくないため、「joke」や「133t」といった名前を使用するのは不適切です。それらしく見えるファイル、特に有名な情報セキュリティ会社のものは、アナリストを混乱させたり、注意を引かなかったりする場合が多くあります。特に、改変されたファイル内の残りの部分が正規のもの (文字列、ソース参照など) である場合にはなおさらです。
これらの事実は、ソフトウェアに脆弱性があることを意味するのでしょうか。そうではありません。この事実は良いこと (脆弱性は存在しない) でもあり、悪いこと (防ぐ手段がない) でもあります。次の項目で説明するように、今回の事例で影響を受けたファイルは、特定のパッケージの特定のバージョンに由来します。それは、そのパッケージに脆弱性が多数存在したからではなく、攻撃者がそのパッケージのコピーを入手できたからです。
サンプル
今回の調査では、ソフォスの実行ファイルまたは DLL に影響を及ぼすサンプルが複数発見されています。これら 2 件のファイルは幾度か発見されていますが、影響を受けるファイルのバージョンは 1 つしか見つかっていません。現在までのところ、影響を受けたファイルはすべて、ソフォスの Windows エンドポイント保護製品のバージョン 2022.4.3 に含まれていました。(現在ロールアウトが完了しているバージョンは 2023.2 です。)
本項目では、調査が進展するにつれて発見されたファイルの一部と、それらのファイルがソフォス製品内でどのような正規の機能を果たし、攻撃者がそれぞれの事例で何をしようとしていたかを紹介します。以下のリストは、影響を受けたソフォスのファイルが順番に並んでいます。
SophosCleanup.exe | ||
Sophos Clean バージョン 3.10.3.1、製品名 SophosClean、バージョン 3.10.3 | ||
悪意のあるハッシュ: 214540f4440cceffe55424a2c8de1cc43a42e5dcfb52b151ea0a18c339007e37 | ||
2024 年 3 月 4 日 01:50:38 UTC に初めて確認 | ||
マルウェアは 185.219.221[.]136:443 に接続 | ||
SophosFSTelemetry.exe | ||
Sophos File Scanner バージョン 1.10.7.68、製品名 Sophos File Scanner、バージョン 1.10.7 | ||
悪意のあるハッシュ: 021921800888bc174c40c2407c0ea010f20e6d32c596ed3286ebfe7bd641dd79 | ||
2024 年 3 月 13 日 19:15:25 UTC に初めて確認 | ||
マルウェアは topclubfond[.]com に接続 | ||
SophosFX.exe | ||
Sophos File Scanner バージョン 1.10.7.73、製品名 Sophos File Scanner、バージョン 1.10.7 | ||
悪意のあるハッシュ: 18303e4b327cb47d131b0a3f3859e4e90d8fa0c40cf961bad7a34b550160e919 | ||
2024 年 2 月 28 日 17:27:14 UTC に初めて確認 | ||
Cobalt Strike、構成: “C2Server”: “http://devs.ambitenergycorporation[.]com:443/samlss/media.jpg” | ||
SophosIntelixPackager.exe | ||
Intelix への送信用のソフォスパッケージャー バージョン 6.0.0.533、製品名 SophosIntelixPackager、バージョン 6.0.0 | ||
悪意のあるハッシュ: 617709e9e728b5e556ef7f98c55e99440d93186855b4a09d59bc4526a6fd82ae | ||
2024 年 2 月 15 日 18:20:45 UTC に初めて確認 | ||
Hxxp://185.117[.]91.230/download/guard64.exe でホスト、Cobalt Strike の構成 “C2Server”: “realsepnews.com,/lessen.jpgv” “HttpPostUri”: “/enterprise” | ||
SophosNtpUninstall.exe | ||
SophosNtpUninstall.exe バージョン 1.17.1118、製品名 Sophos Network Threat Protection、バージョン 1.17 | ||
悪意のあるハッシュ: 28738aac83c5534b5c3228ece92abc3b12c154fdad751a2e73c24633a4d6db71 | ||
2024 年 2 月 2 日 14:48:37 UTC に初めて確認 | ||
Cobalt Strike、C2 アドレス hxxps://buygreenstudio[.]com/build/constants/ |
ソフォスは、2 件の異なるサブバージョンが複数のファイルを標的にしているのを確認しました。確認の為、以下にご紹介します。
HealthApi.dll | ||
Sophos Health API バージョン 2.9.137、製品名 Sophos Health、バージョン 2.9 | ||
悪意のあるハッシュ: 25e24385719aede7f4e0359b389a9597cc26df20e1b3a6367bbc04d5d4982fe6 | ||
2024 年 2 月 23 日 16:14:10 に初めて確認 | ||
Hxxps://du178mamil[.]com/rtl.dll でホスト、C2 サーバー: azuycomp[.]com | ||
悪意のあるハッシュ: ae35666999bd6292bdb0e24aad521c183bac15543d6b4ca27e0c8a3bcc80079c | ||
2024 年 2 月 23 日 17:44:27 に初めて確認 | ||
Hxxps://businessannually[.]com/persistent.html?lose=true に接続 | ||
SophosUninstall.exe | ||
Sophos Endpoint Agent バージョン 1.15.221.0、製品名 Sophos Endpoint Uninstaller、バージョン 1.15 | ||
悪意のあるハッシュ: 6a67cabf6058aa8a2d488a6233d420658eb803cba9da04f14b76e2b028ab30bf | ||
2024 年 2 月 20 日 20:22:38 UTC に初めて確認 | ||
Cobalt Strike の構成: “C2Server”: “usaglobalnews[.]com/Select/play/NX4C69QVQ4I” , “HttpPostUri”: “/design/dumpenv/Z2UC9FG2”, | ||
悪意のあるハッシュ: 86ebfe9d8b3c928fcf80642e88ea3b195b2ba23c6a5c17fdb68de13baac75cd1 | ||
2024 年 2 月 23 日 18:05:45 UTC に初めて確認 | ||
Cobalt Strike の構成、C2 サーバーは businessannually[.]com/persistent.html ; HttpPostUri – /execute |
Detections and protections検出と保護
ソフォスの複数の保護機能は、これらの悪意のある改変ファイルを検出またはブロックします。これらのファイルは ATK/ScLoad-N、ATK-ScLoad-L、ATK/SCLoad-M、ATK/SCLoad-O、Troj/Cobalt-JA、Troj/Mdrop-JXD などとして検出され、マシンの保護にはダイナミックシェルコード保護や、冒頭で紹介した C2 Interceptor 緩和策も用いられます。
業界の反応
この種のキャンペーンは騒々しく、他の防御者も注目しています。同様の活動を追跡している Palo Alto Networks も、キャンペーンの攻撃フローを視覚化したものなど、このキャンペーンに関連する情報を投稿しています。さらに、このキャンペーンに関連して、Oyster/CleanUpLoader と仮称される新しいマルウェアの出現の報告もあります。ソフォスのお客様はすでに保護されていますが、ソフォスはこの動向を注視しています。
上述の通り、ソフォスは本記事で言及した企業およびその他多くの被害を受けている企業に直接連絡を取りました。調査は継続中であり、この取り組みも継続しています。その一環で連絡を取った Bitdefender 社 (影響を受けたバイナリを持つ企業の 1 つ) は、自社ファイルに関連するデータを確認し、以下の声明を公開するよう私たちに要請しました。
Bitdefender は、これらの攻撃で使用されたバイナリの改変について報告を受けています。Bitdefender は、バイナリが通常のソフトウェア機能の範囲外で独自に使用されたものであるため、これ以上の対策は必要ないことを確認しました。システムにインストールされている Bitdefender 製品は、このバイナリ改変の手法に対して脆弱ではありません。
IOC
今回のキャンペーンに関連するセキュリティ侵害の痕跡 (IoC) を、ソフォスの GitHub で公開しています。調査は継続しているため、今後ファイルは追加される可能性があります。
謝辞
本記事への貢献に対し、MDR Threat Intel チームの Colin Cowie と Jordon Olness に謝意を表します。