A mimic octopus
脅威の調査

HeartCrypt による大規模ななりすまし活動

悪名高き「サービスとしてのパッカー」の活動は如何にして巨大な怪物へと進化したか

** 本記事は、HeartCrypt’s wholesale impersonation effort の翻訳です。最新の情報は英語記事をご覧ください。**

過去 1 年以上にわたり、私たちは以下のような共通する特徴を持った一連のイベントを監視してきました。

  • 正規のソフトウェアアプリケーションに対してなりすまし、悪用、自身の埋め込みを行うマルウェア
  • パッケージの侵入口付近に注入され、元のコードを上書きする位置独立型ローダーコード (PIC)
  • 追加リソースとして挿入される、暗号化された悪意のあるペイロード
  • 単純な暗号化アルゴリズム (XOR) およびその静的キー内での ASCII 文字の利用
  • 一般的な RAT (リモートアクセス型トロイの木馬) または認証情報/情報窃取マルウェアファミリに属するペイロード
  • (侵害されたアカウントの) Google Drive でホストされ、メールからリンクされた、パスワード保護されたアーカイブ

私たちは最終的に、これらのすべての事例がサービスとしてのパッカー (PaaS) である HeartCrypt に関連していると結論付けました。これまで部分的な調査に関する複数の記事を公開してきましたが、本記事では、これまで培ってきた知見をさらに掘り下げ、このマルウェアがまだ初期段階にあった頃の様子を検証します。

セキュリティ業界による監視

調査を進める中で、単一の攻撃者による攻撃である可能性があることを裏付ける証拠を確認しました。一時期、HeartCrypt は、CrowdStrike が「Blind Spider」と呼ぶグループによって作られたと考えられていました。このグループの標的が、私たちが分析した HeartCrypt の事例における標的と地理的に重なっていたためです。しかし、最終的にはペイロード、ペイロード注入メカニズム、標的場所などが異なっていることが確認されました。そのため、私たちはこれらの活動が複数の攻撃者に属すると判断しました。(もちろん、HeartCrypt に注目していたのはソフォスだけではありません。展開される過程で、多くの方面から精査が行われてきました。特に CrowdStrike は初期に優れた解説を公開しています。)

つまり、これらの攻撃に関する累積データセットはある程度大規模なものです。ソフォスは調査を通じて、文字通り数千件におよぶサンプルを評価し、1,000 件近くのコマンドアンドコントロール (C2) サーバーの存在を把握しました。また、200 件以上の大小さまざまななりすましソフトウェアベンダーを特定し、世界中のあらゆる国々が標的とされているのを確認し、その都度記事を公開してきました。HeartCrypt は情報セキュリティ専門家の間ではもはや目新しいものではないとされています。しかし、今週の Virus Bulletin では (今回のデータから明らかになったことに基づいて) 本記事の著者らが今後台頭するであろう若手の「EDRキラー」について講演するほど、HeartCrypt は世界中で依然として厄介な問題を起こし続けています。攻撃の経緯と背景を明らかにするため、具体例を見ていきましょう。

攻撃の標的:初期のインシデント

すべての始まりは、HeapHeapProtect アラートでした。

Mitigation   DynamicShellcode
Policy       HeapHeapHooray
Timestamp    2024-03-25

プロセスの実行履歴から、以下のファイルの実行が確認されました。

Path:           c:\Windows\Dv0y70b8ALMzQX.exe
SHA-256      f51397bb18e166c933fe090320ec23397fed73b68157ce86406db9f07847d355
SHA-1        7c0cdd66e350dd1818333cd7a5ac04db07dd96a1
MD5          254b7cca40f9e624b21841f60bff0919

さらに、以下のプロセスの実行も確認されています。

1  C:\Windows\Dv0y70b8ALMzQX.exe [10220]
2  C:\Windows\System32\cmd.exe [6544] *
   cmd.exe /C command.cmd
3  C:\Windows\AdminArsenal\PDQDeployRunner\service-1\PDQDeployRunner-1.exe [37164] *
4  C:\Windows\System32\services.exe [1264] *
5  C:\Windows\System32\wininit.exe [1192] *
   wininit.exe

興味深いのは、実行ファイルが元々 CCleaner のコンポーネント (PDB パス:
H:\Piriform\CCleaner\branches\v5.22\bin\CCleaner\Release\CCleaner.pdb) であり、このコンポーネントに悪意のあるコードが注入されていたことです。(注:CCleaner および本記事で言及されている他のすべての正規アプリケーションは、この状況においては無実の被害者です。同様の被害は非常に多くの正規アプリケーションに及んでいます。)図 1 に示すように、この実行ファイルは有効なバージョン情報も持っていました。

Screen capture of CCleaner version information, as described in text

図 1: 確認した「感染第 1 号」である、侵害された CCleaner のインスタンス

これを機に事例の調査を開始し、追加のサンプルを検索しました。その結果、研究を通じて数千件もの類似したバイナリを発見しました。

感染チェーン

いくつかの事例では、感染チェーンを完全に、または部分的に復元できました。その結果、異なる感染チェーンが異なる国を標的としているのが確認されました。これは、攻撃者がそれぞれ好みの手法を使っていることを示唆しています。このことは、私たちが観測している実態が「サービスとしての** (**-as-a-Service)」であり、今回の場合は比較的容易にカスタマイズできる「サービスとしてのパッカー」であることを、調査のごく初期の段階で示唆していました。

サイドローディングを伴うフィッシングメール

最初に調査した事例で特定されたキャンペーンは、イタリアのユーザーを標的としていました。
この感染チェーンは、DLL サイドローディングを利用して悪意のある DLL を実行します。PDF リーダーアプリケーションが、システムディレクトリではなく自身のディレクトリから msimg32.dll をロードすることで、DLL に注入されたペイロードローダーが実行されます。この DLL は Windows の正規 DLL を装っています。

感染チェーンは、以下のようなフィッシングメールに端を発します。

A phishing email in Italian, as described in text

図 2: 脅迫めいたメッセージの奥には、さらに悪質な意図が隠れています。このメールは、イタリアの弁護士を名乗り、著作権侵害の申し立てを受けて受信者に連絡していると主張していますが、下部の PDF には別の目的が隠されています。

PDF ドキュメントへのリンクをクリックすると、以下の短縮 URL が開きます。

hxxps://t[.]ly/flJWG16112024

この URL は、以下の Dropbox のダウンロードリンクにリダイレクトされています。

hxxps://ucb8c68b6c4ab89f35d7d8df1884.dl.dropboxusercontent[.]com/cd/0/get/CepnFUCVNx2PfmQ6yVoWeiZBsqmcXsAOURmJ9Li6lkHJplcYwGAdyK6Dx0T9XGfGg0v1Y0aEHOPCFzXLhChCDVFuRo_wVoS1dnxfZmnwmQXX4VWJtLuRq2Yr08ncMKcHuEmkDUxqEYRGe3DVJeEKCMiX/file?dl=1#

この URL からは、以下の ZIP アーカイブがダウンロードされます。

8e1130e9215ba12afebe7c57d26b7d10d0d11060c904d644bff3fd1bf29df99b *Notifica di violazione dei diritti di propriet… intellettuale,1611 LDK 31[.]zip

ZIP ファイルの名前は、最初のフィッシングメールで使用された設定や言語と一致しています。

この ZIP アーカイブには、以下の 3 つのファイルが含まれています。

The contents of a ZIP archive showing three files, as described in text

図 3: ZIP アーカイブ内の怪しい DLL に注意

08c7fb6067acc8ac207d28ab616c9ea5bc0d394956455d6a3eecb73f8010f7a2 *Notifica di violazione dei diritti di propriet… intellettuale,1611 LDK 31.exe
d8f9475ac340f5c2c49bce422bd76c42076e31f4016684314d0560e76568ad15 *msimg32.dll
dcf81f648ee6d097226d3c885561c34bb22e738501e410410afce9787bd43009 *renamethus.irename

第 2 段階の DLL ファイルは、ペイロードとローダーコードが注入された (NW.js コミュニティの nwdll への) 偽装ファイルです。2 つ目のファイルは、ZIP ファイルの名前に合わせて改名されたクリーンなローダー (Haihaisoft PDF Reader) です。3 つ目のファイルはおとりの PDF ファイルです。

再現実験中、このおとり PDF のコンテンツを表示しようとした形跡は一切ありませんでした。それもそのはずで、このファイルは単なる大容量のテストファイルです。表示させる意味はありません。

A image of the first page of the PDF described in text; it says "PDF TEST FILE and has a colorful background

図 4: おとりファイルをわざわざ調べる必要はありませんが、開くとこのような見た目をしています。同じ内容が 99 ページ以上続きます。

一方、この DLL ファイルはスタンドアロンのコンポーネントとして (今回はサイドローディングのシナリオの一部ではなく) C:\Users{user}\OneDrive\Documents\AvivaUpdate_0001.dll にコピーされます。その際、ゼロバイトで 950MB のサイズに水増しされ、以下のコマンドラインを使ってスタートアップに登録されます。

rundll32.exe C:\Users\{user}\OneDrive\Documents\AvivaUpdate_0001.dll,EntryPoint

Entries in the Registry, as described in text

図 5: 悪意のあるレジストリへの登録

このように、感染チェーンにおいて、なりすまし DLL は 2 つの異なる方法で使用されています。

  • インストールフェーズでは、サイドローディングによって実行
  • 最終的な感染状態では、rundll32.exe によって実行される DLL ファイルのみが常駐化

抽出されたペイロードの SHA-256 ハッシュは以下の通りでした。

09bb6673b62ed69b38035c562752867ff16d0624df6b3b2abf24ac90b5fda6cd

このハッシュから、ペイロードは Lumma Stealer の亜種であることが判明しました。抽出された構成には、以下の C2 サーバーが含まれています。

A list of nine C2 servers identified in the investigation; eight are from the .sbs TLD and the ninth is from the .cyou TLD

図 6: この事例で観測された 9 件の C2 サーバーこの .SBS トップレベルドメインは約 5 年前に運用が開始されたものです。社会福祉支援や慈善活動に従事する中小企業をサポートする目的で創設されました。

サイドローディングを伴わないフィッシングメール

次に検討する事例では、特定されたキャンペーンはコロンビアの人物を標的としていました。コロンビアは前述した Blind Spider 攻撃の一般的な標的であるため、HeartCrypt がこのグループと単なる一時的な関係以上の繋がりを持っていたのではないかと、私たちは疑問を抱きました。悪意のあるコンテンツは、パスワード保護された ZIP アーカイブとして Google Drive でホストされており、パスワードはフィッシングメールに記載されていました。今回なりすましの対象となっていたのは、スタンドアロンの Windows 実行ファイルです。

私たちは実際に使用されたメールのコピーを入手しました。

A phishing message purporting to be from a government office in Columbia, as described in text

図 7: 今回のメールは、ある連邦裁判の判決に関するコロンビア司法長官からの声明を装っています。ダウンロードリンクは一見どこにもありません。

メールには ZIP ファイルのパスワード (この事例では 7771) が記載されています。

また、メッセージにはダウンロードリンクが巧妙に隠されています。この事例では、テキスト末尾のドットが、次の攻撃段階への足がかりとなっていました。

A closer look at the bottom of the previous image, showing that the period at the end of the boilerplate is actually a link

図 8: メッセージ文末のピリオドが、実は完全なダウンロードリンクです。

リンクは、パスワード保護された ZIP アーカイブを共有する別の Google Drive を指しています。

A warning from Google Drive that it cannot scan the file described in text for viruses, and that it is encrypted, or a multi-volume archive

図 9: Google Drive のマルウェア対策スキャンツールは、このファイルをスキャンできませんでしたが、ファイルに不審な点があることは警告していました。

ZIP アーカイブの名前は、最初のフィッシングメールで使用された設定や言語と一致しています。アーカイブには、以下のハッシュを持つ実行ファイル (00001-Circualr Proceso Judicial Rad.23001461299320240019100 Procuraduria General.exe、ファイル名にタイプミスがあることに注意してください) が含まれています。

70feac3064249f2c3773ed2a044cb9f6e644961fe8f51e9c742d2979c6e562a3 *00001-Circualr Proceso Judicial Rad. 23001461299320240019100 Procuraduria General[.]exe

d2d00439c7d7961d3146cc0df9ed4abc78a6174a7390f9185c75f94705e0b8b2 *00001-Circualr Proceso Judicial Rad. 23001461299320240019100 Procuraduria General.[]zip

アーカイブが解凍され、ZIP 内の実行可能ファイルが実行されると、%USERHOME%\Videos\Cylance\Bin ディレクトリに自身のコピーを作成します。このコピーは末尾に大量のゼロバイトが追加され、サイズが 934MB に水増しされています。

A file directory showing abuse of Cylance's name and logo

図 10: Cylance へのなりすまし

このコピーは、システム起動時に自動的に実行されるように登録され、常駐化します。

A screen capture showing the autorun entry for the malware as described in text

図 11: 上述の事例と同様に、マルウェアが標的のハードドライブに拠点を作成

今回のペイロードは AsyncRAT でした。抽出された構成は以下の通りです。

The extracted config information, as described in text

LNK ショートカットファイルを使用するフィッシングメール

次の事例の舞台は、再びイタリアです。これらのキャンペーンの事例はイタリアの人物を標的としており、感染チェーン中に LNK ショートカットファイル、PowerShell、およびバッチスクリプトを使用するなどの特徴を持ちます。

感染チェーンは、以下のようなフィッシングメールに端を発します。

A phishing email claiming alleged copyright infringement by the target, in Italian

図 12: 舞台は再度イタリアへ。著作権侵害を主張する、悪意のある細工がされたメール。Caltagirone Editore はイタリアの正規のメディア企業です。同社も風評被害を受けた無実の企業であり、HeartCrypt とは一切関係がありません。

このメールには、以下の短縮リンクが含まれています。

https://t.ly/PWWX9

このリンクは、PDF ファイルを装った、Dropbox でホストされたファイルを指しています。

https://uc3495facb23fe98be63edb80cdd.dl[.]dropboxusercontent.com/cd/0/get/C■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■/file?dl=1#

しかし、実際にダウンロードされるファイルは、Registro delle violazioni dei diritti d’autore.zip という名前の ZIP アーカイブです。今回の事例でも、アーカイブの名前は最初のフィッシングメールの設定や言語に一致しています。

アーカイブの中身は、大容量のジャンクデータファイルと LNK ショートカットファイルです。

A file directory showing the contents of the archive, as described in text

図 13: ジャンクファイルは、比較的サイズの小さい LNK ファイルから標的の注意を逸らすように名付けられています。

このショートカットファイルは PDF ファイルのアイコンをしていますが、実際には PowerShell コマンドを実行します。

A look at the shortcut for the "PDF file" described in text

図 14: 実際は PDF ではありません。コマンド文字列中の独特な大文字小文字の使い分けに注目してください。

この PowerShell コマンドは、以下の場所から別の PowerShell スクリプトをダウンロードし、実行します。

hxxps://7bz5nc0bdyga37scjk9otosvcvcl5wyc.ngrok[.]app/api/secure/28116973ac5fdc1458ff89e92d1259c2

A screen capture of the PowerShell command reaching out to Dropbox, as described in text

図 15: Dropbox を再度悪用

このスクリプトは、さらに 2 件のファイルをダウンロードします。1 つ目はおとりの PDF ファイルです。

A phishing email, this time in English but once again claiming copyright infringement, as described in text

図 16: 使用される言語および主張内容が変わっています。このファイルでは、標的がイギリスの音楽レーベル (Domino Records) の権利を侵害したと主張しています。このレーベルも、HeartCrypt とは関係のない被害者です。この手紙には、標的が何を「侵害した」かという言及さえなく、タイプミス (攻撃者によるコピーアンドペーストのミスかもしれません) もあることに注意してください。

2 つ目のファイルは、以下の場所からダウンロードされるダウンローダーバッチファイルです。

hxxps://www.dropbox[.]com/scl/fi/etndtbojizgq5yjlcrtxt/loader.txt?rlkey=fudtfxqkimiyh7j8v58av45jr&dl=1

A PowerShell command string showing how the PDF is retrieved from a Dropbox account

図 17: マルウェアは、おそらく窃取した、またはアンダーグラウンドなどで入手した多くの PDF からランダムに 1 つをおとりとして送り付けます。この事例では、図 16 に示された通知でした。

このダウンローダーバッチファイルは、再度おとり PDF ファイルをダウンロードして開き、さらに以下の場所から最終的なペイロードをダウンロードして実行します。

hxxps://www.dropbox[.]com/scl/fi/c9wj8bks1gn5ek1ll2d2b/runner.exe?rlkey=vautlrypiqs3sxd6jabnh8gdi&dl=1

この種の事例における最終的なペイロードは、多くの場合 Rhadamanthys でした。

この特定の事例では、t.ly から統計情報を取得できました。その情報によると、この短縮 URL には 44 回 (そのうち 39 回が 1 度のみ) アクセスされていました。そのほぼすべて (33 回) はイタリアからで、残りは私たちを含む世界中のマルウェアアナリストによるアクセスだと考えられます。

A map of the world showing where URL accesses originated for the attack described above; most came from Italy

図 18: かなり偏った URL アクセスのヒートマップ

別の類似したキャンペーンでは、初期リンクが以下を指していました。

hxxps://t[.]ly/FkiVa

この URL には 93 回のアクセスがあり、そのうち 81 回は (やはり) イタリアからのものでした。

内部の仕組み:改変された実行ファイル

HeartCrypt パッカーは、正規の実行ファイルを取得し、.text セクションに悪意のあるコードを注入することで改変します。また、追加のポータブル実行可能 (PE) リソースもいくつか挿入します。これらのリソースはビットマップファイルを装っており、BMP ヘッダーで始まりますが、その後には悪意のあるコンテンツが続きます。

2024 年の記事で、Unit42 がこのローダーを HeartCrypt と名付けました。 悪意のあるコードは、制御フローが乗っ取られた .text セクションの内部に連続したコードブロックとして追加されるため、実行開始直後から実行されます。Unit42 が強調したように、このコードブロックは PIC (位置独立型コード) として設計されています。メモリ内のコードの位置がその実行に影響を与えないというプログラミング構造です。

ローダーの内部

コードは、何百回もの直接ジャンプとショートコールによって高度に難読化されています。これらはコードを難読化するためだけに使用されています。ジャンプとコールの間のスペースはジャンクバイトで埋められており、リバースエンジニアリングを困難にしています。

A tidier look at the code in comparison to how it appeared in the previous image

図 19: 上記のようなジャンクバイトの分析は時間を要するため、実際の動作を隠匿します。

記事で説明されているように、PIC は第 2 段階の PIC をデコードします。図 20 は、デコードされた PIC を示す、同じバイナリの「ビフォーアフター」のスクリーンショットです。

A tidier look at the code in comparison to how it appeared in the previous image

図 20: 難読化部分を整理した、よりクリーンなプロセスビュー

第 2 段階のコードは依然として読み取りが困難ですが、発見したスタック文字列の助けにより、その内容はある程度理解できます。例えば、図 21 に示すように、存在しないダイナミックリンクライブラリ (DLL) である k7rn7l32.dll や ntd3ll.dll をロードしようとすることで、さまざまなエミュレーター対策チェックを実行していることがわかります。

A block of code showing a DLL call that the program calls but does not expect to find

図 21: 存在しないはずの DLL を呼び出すコード

VirusTotal などから入手可能な動作ログは、ローダーがこれらの存在しない DLL をロードしようとすることを示しています (図 22 参照) 。

A screen capture showing unsuccessful DLL loading attempts, as described in text

図 22: 存在しないはずの DLL をロード

次に、このサンプルは Raspberry Robin でも観測されたエミュレーション対策技術を使用します。これは、エミュレーター内にのみ存在する、kernel32 がエクスポートする関数のアドレスを取得するという手法です。

The anti-emulation technique described in text図 23: 存在しないはずの関数を検索

もし、存在しないインポートやエミュレーター専用のインポートがいずれかでも正常に解決された場合、ローダーは自身がエミュレートされた環境で実行されていると結論付け、悪意のある活動を開始しません。

.text セクション内の PIC (位置独立型コード) は最初に実行された後、リソースの一つに配置されている PIC コードに実行を移します。この手順では、特定のマーカーを探します (図 24 参照)。

A screen showing the code hex with the specific market highlighted

図 24: 特定のマーカーを探し出すコード

最終的な目標は、暗号化されたペイロードをデコードし、実行することです。この事例では、コードは CreateProcessW、VirtualAlloc、GetThreadContext、NtCreateThreadEx、CreateRemoteThread といった API 関数を使用して最終的なペイロードをロードし、実行しました。

A screen showing the load and execution of the final payload, with a great deal of obfuscation visible

図 25: ファイルパスの難読化に注目してください

A continuation of the process shown in the previous figure, but with the true call visible

図 26: 図 25 で観測されたさらなる難読化は画像上部でも確認できますが、実際の動作は画像下部です。

図 27 は、別のバイナリと、難読化されたペイロードを示しています。

The source of the binary msing32.dll

図 27: msimg32.dll と名付けられた DLL のバイナリ。

ペイロードは、ASCII 文字からなるキーを使用して、XOR アルゴリズムによって暗号化されています。キーは、元のペイロードの末尾にある大量のゼロバイト付近で簡単に見つかります。この事例では、XOR キーは「PuevQTvPCsYg」という文字列です。リソースの末尾で複数回連続で出現しているのを確認できます。

A continuation of the previous figure, but with the repeated XOR code visible

図 28: 大量のジャンク文字列の後、XOR キーが出現し、何度も繰り返されます。

今回の PIC シェルコードを含む追加のリソースもいくつかあります。

Source as described in text, with the shellcodes visible

図 29: ここでも、Bitmap ディレクトリ内に PIC シェルコードが確認できます。

常駐化を確立するため、ローダーは悪意のあるファイルのコピーを別のディレクトリ (この例では \Pictures\HomeDeporte\Bin\HomeDeporte.exe) に作成します。その後、\SOFTWARE\Microsoft\Windows\CurrentVersion\Run レジストリロケーションに実行キーを作成します (図 30 参照)。

The heavily obfuscated run key

図 30: 実行キー

ペイロード

私たちが長期にわたって追跡した事例の大多数において、ペイロードは既製の RAT (リモートアクセス型トロイの木馬) または認証情報/情報窃取マルウェアでしたが、これらも当然、進化しています。図 31 は、初期の HeartCrypt で使用されていたペイロードを振り返ったものです。2025 年半ばまでに、一部のマルウェアファミリは姿を消しつつありますが、一方で、AVKiller のような一般的でなかったツールの存在感が増しています。(AVKiller については後述します。)発見された C2 サーバーは、私たちが確認したペイロードとかなり密接に対応しています。

データを経時的に確認することで、HeartCrypt そのものの起源を垣間見れるかもしれません (図 31 参照)。

A pie chart showing the distribution of HeartCrypt payloads during the initial tranche of Sophos investigation

図 31: 初期の HeartCrypt は、PaaS として開発されていた痕跡を示している可能性があります。これらのデータもまもなく膨大な情報の波に埋もれてしまうでしょう。

上図の小さな部分は、「DeveloperTest」と呼ばれるペイロードに属しています。この事例では、ペイロードは悪意のある活動を一切実行しない、単にメッセージボックスを表示するだけのシンプルな実行ファイルでした。私たちは、この DeveloperTest が名前の通り、パッカーの開発者によって作成され、セキュリティソリューションの検知能力をテストするために使用されたものだと考えています。この発見はある意味、HeartCrypt の起源に迫る物語です。

AVKiller

ペイロードの中には、特に懸念すべき AV キラーツールが含まれていることを確認しています。このツールは、複数の事例で進行中のランサムウェア攻撃において検知されました。私たちは今年初めに EDR を標的とした HeartCrypt について詳しく報じました。その記事で述べたように、調査における懸念事項の 1 つは、競合する攻撃者グループ間のツール共有や連携を示す証拠が私たち (および他の研究者) によって発見されたことでした。本記事執筆時点では、その方面でのさらなる進展は報告されていません。(しかし、今回の事例が示唆するように、曖昧ながらも協力関係ができつつあるように見受けられます。) 一方、この状況についての率直に公の場で議論することは心強いものであり、防御者にとって有意義な議論になることを確信しています。

ソフォスのお客様は、Mal/HCrypt 検知によってこの脅威から保護されています。

標的となった国々

多くの場合、ペイロードは、フィッシングメッセージの設定と一致するように、ソーシャルエンジニアリングと対応したファイル名を持つアーカイブや実行ファイルとして配信されました。

前述のように、これらのファイル名は複数の異なる言語で書かれています。そのため、いくつかの国がキャンペーンで標的になったと考えられます。

私たちは VirusTotal で、ファイル名に使われている言語と提供元の国が一致する多数のファイルを発見しました。これらのファイルは実際のキャンペーンで使用されたものだと考えられます。

以下は、各国の標的に対して使われた典型的なファイル名の一部です。

アルゼンチン:

ANEXO - INF-DETALLES
TRANSACCION REALIZADA NO 9876987565745678997865635746859.exe

ブラジル:

Referencia_Judicial_Procesada_N#847567567..exe

コロンビア:

AUTENTICACION DE PROCESO ANTES EL JUEZ DANIEL CASTRO.exe
Ref del proceso fiscal que se adelanta en su contra.exe
Radicado_Juridico_Procesado_N#9846738960489..exe
SOPORTE IMPORTANTE PARA CANCELAR EL DIA 17 DE ABRIL.exe

フランス:

Documents prouvant la violation du droit d'auteur fournis par Sony Music.zip
Documents constatant les violations des droits d'utilisation.zip

ギリシャ:

Έγγραφα που αντικατοπτρίζουν παραβίαση πνευματικών δικαιωμάτων.exe
Ερευνητικό υλικό παρέχεται από την FM Records.exe

韓国:

자료의 내용이 저작권을 위반합니다 - YG 엔터테인먼트 , Inc.exe
저작권 보호 콘텐츠.exe
개인 정보 보호 및 저작권 고지 - 한국어도비시스템즈(유).exe

カザフスタン:

gb Договор на оказание рекламных услуг.scr

メキシコ:

PDF-34957637453 ALMACEN DEL HOSPITAL LOCAL - URGENTE CONFIRMACION.exe
NOTIFICACION JUDICIALDE PROCESO EN MORA DEL PAGO.exe

ペルー:

PDF-34957637453 ALMACEN DEL HOSPITAL LOCAL - URGENTE CONFIRMACION.exe
NOTIFICACION JUDICIALDE PROCESO EN MORA DEL PAGO.exe

ルーマニア:

2741OfxSentencc1aTutelaRadicado70001 4226 004 2024 07324 00.exe

ロシア:

Договор об оказании рекламных услуг.scr
Договор о партнерстве.exe

台湾:

Bottega Veneta 的影片內容遭到侵犯版權.exe

タイ:

เอกสารที่เกี่ยวข้องกับการละเมิดทรัพย์สินทางปัญญา.pdf

オランダ:

Bewijs met betrekking tot inbreuk op auteursrechten.zip

ウクライナ:

Договор о партнерстве.exe
vivo Договор для Ютуберов.scr

ソフォスが感染を確認した国を図 32 のワールドマップに示します。

A map of the world showing early spread of ITW infections

図 32: 世界中に広がる被害

群を抜いて多くのサンプルが報告されたのはコロンビアで、これらのキャンペーンにおける主要な標的国となっていました。

その他の発見

暗号化キー

ペイロードに使用される XOR 暗号化キーは、通常はランダムな文字列です。しかし、いくつかの事例では、攻撃者の気まぐれによってか、以下のようなキーが使用されていました。

ANDREYISNOTHAPPEITE
SUCKTHEFTUBCEGTOOTE
MENOLOVECROWDSTRIKE
F■CKUNERDHAHAHAHA
Edwardsigunecia
f■ckSsentinc

こういったパスワードの使用は、攻撃者の苛立ちを反映していると考えられます。

ランサムウェアとの関連性

Ransomhub

この事例は、上記で言及された事例と類似しており、HeartCrypt で圧縮されたドロッパーが、VMProtect を用いて圧縮された AV キラー実行ファイルをドロップしていました。この AV キラーは、侵害された署名で署名されたドライバーをロードします。

この事例で観測されたランサムウェアのアラートは以下の通りです。

Mitigation   CryptoGuard V5
Policy       CryptoGuard
Timestamp    2025-01-20T11:59:18
Path:           C:\FoPefI.ex
Hash:           e1ed281c521ad72484c7e5e74e50572b48ea945543c6bcbd480f698c2812cdfe
Ransom note:
README_0416f0.txt
Appended file extension:
.0416f0

プロセスの実行履歴は以下の通りです。

1  C:\FoPefI.exe [64500]
   C:\FoPefI.exe -only-local -pass b65fcea175dd7a62dbbfc737dce6c41ab3cd6bf4a19ffc1bc119d4be9a81ea64
2  C:\Windows\System32\services.exe [1004] *
3  C:\Windows\System32\wininit.exe [900] *
   wininit.exe

加えて、再び HeartCrypt で圧縮された AVKiller ツールと、

Malware name:    Mal/HCrypt-A
Name:     c:\users\{}\desktop\vp4n.exe
         "sha256" : "c793304fabb09bb631610f17097b2420ee0209bab87bb2e6811d24b252a1b05d",

関連するドライバーを観測しました。

Malware name:    Mal/Isher-Gen
Name:     c:\users\{}\desktop\zsogd.sys
c:\users\en-adm\desktop\zsogd.sys : aa99b6c308d07acac8c7066c29d44442054815e62ea9a3f21cc22cdec0080bc8

MedusaLocker

以下のような DynamicShellcode のアラートを観測しました。

Mitigation   DynamicShellcode
Policy       HeapHeapHooray
Timestamp    2025-01-22T09:53:42
Name:           Setup/Uninstall
Path:           c:\temp\6Vwq.exe
SHA-256      43cd3f8675e25816619f77b047ea5205b6491137c5b77cce058533a07bdc9f98
SHA-1        d58dade6ea03af145d29d896f56b2063e2b078a4
MD5          b59d7c331e96be96bcfa2633b5f32f2c

プロセスの実行履歴は以下の通りです。

1  C:\temp\6Vwq.exe [13296]
2  C:\Windows\System32\cmd.exe [16536] *
   cmd.exe /c start c:\temp\6Vwq.exe
3  C:\ProgramData\JWrapper-Remote Access\JWrapper-Windows64JRE-00000000000-complete\bin\Remote Access.exe [7864] *
   "C:\ProgramData\JWrapper-Remote Access\JWrapper-Windows64JRE-00000000000-complete\bin\Remote Access.exe" "-cp" "C:\ProgramData\JWrapper-Remote Access\JWrapper-Remote Access-00056451424-complete\customer.jar;C:\ProgramData\JWrapper-Remote Access\JWrapper-Re

プロセスの実行履歴は、初期の感染が、Horizon3.ai が 1 月に報じた ConnectWise および BeyondTrust 製品に影響を与えたゼロデイ RCE エクスプロイトに関連している可能性を示唆しています。

この活動に続いて、以下のファイルの使用が確認されました。

2025-01-22 10:04:12    Mal/Medusa-C <d>/Windows/Temp/MilanoSoftware.exe
  "hash": "3a6d5694eec724726efa3327a50fad3efdc623c08d647b51e51cd578bddda3da",

また、43cd3f8675e25816619f77b047ea5205b6491137c5b77cce058533a07bdc9f98 が後に VT で発見されました。HeartCrypt で圧縮されています。抽出されたペイロードのハッシュは以下の通りでした。

a44aa98dd837010265e4af1782b57989de07949f0c704a6325f75af956cc85de

このペイロードもまた AVKiller でした。この事例では VMProtect で圧縮され、特に Eset、HitManPro、Kaspersky、Sophos、Symantec の製品を標的としていました。

結論

HeartCrypt は、もはや最新の PaaS ではありません。Shanya など他のパッカーも研究者の間で新たな議論の対象となっています。とはいえ、HeartCrypt はかつてないほど広範囲に伝播し、影響力を保持し続けています。この種のマルウェアの仕組みを理解することは、脅威と同様に、防御も進化し続けられる、ということを意味します。