新たなmacOSマルウェア、Appleのクラッシュ報告ツールを装ってパスワードを窃取

Jamf Threat Labsは、Appleのクラッシュ報告ツールになりすまし、パスワードやキーチェーンデータ、暗号資産ウォレットを窃取する新たなmacOS向け情報窃取マルウェア「CrashStealer」を発見しました。

このマルウェアが最初に確認されたのは5月で、当時はまだ開発途中でした。7月初旬になるとJamfは実環境での検出事例を確認しており、実際の攻撃活動に移行したことがうかがえます。

研究者らは次のように述べています。「AppleScriptのドロッパーや薄いObjective-Cラッパーで構築されているmacOS向けコモディティ型スティーラーが多い中、CrashStealerは異彩を放っています。作者が『MacOSData』と名付けた内部クラスを中心に、ネイティブC++で実装されているのです」

「このマルウェアは、情報収集を始める前にローカルで被害者のログインパスワードを検証します。そのうえでブラウザ、暗号資産ウォレット、パスワードマネージャー、キーチェーンといった幅広い対象からデータを収集し、収集したデータをAES-GCMで暗号化してからlibcurl経由で外部に送信します。さらに、自身を複製・再署名することで永続化を図ります」

署名済みインストーラーから攻撃が始まる

攻撃は「Werkbit Setup」という名前のディスクイメージから始まります。これを開くと、単一のアプリケーション「Werkbit.app」を含むボリュームがマウントされます。実行ファイル「veltod」が、感染の次段階を起動する仕組みです。

Image

Werkbit Setup(出典:Jamf)

このドロッパーはユニバーサルバイナリで、開発者ID「Emil Grigorov(WWB7JA7AQV)」で署名されており、ステープル化された公証チケットも付与されています。これにより、初回起動時にmacOSの標準保護機能であるGatekeeperを通過できてしまいます。

研究者らはさらにこう付け加えています。「特筆すべきは、ディスクイメージ自体も署名されている点です。中のアプリケーションだけでなく、コンテナ自体が署名されていないのが一般的な悪意あるDMG配布の中では、これは珍しいケースです」

Jamfは、このキャンペーンでの使用を確認した後、署名に使われた開発者チームIDをAppleに報告しました。

このインストーラーは、6月下旬に登録されたドメイン「werkbit[.]io」でホストされていました。これは分析対象となったドロッパーのビルド日に近い時期です。ダウンロードには会議用PINコードが必要で、すでにコードを入手している人物にアクセスが限定される仕組みになっています。今回の報告書では、この活動が他のドメインや共有インフラとも結び付いていることが示されており、CrashStealerがより大規模な攻撃活動の一部であることがうかがえます。

GitHubが次段階のペイロードを配信

起動後、veltod実行ファイルはGitHubのリポジトリに接続し、別のサーバーからスクリプトを取得するためのコマンドを含むファイルをダウンロードします。このスクリプトは、次段階をダウンロードする前に実行時にコマンドをデコードします。

スクリプトは「CrashReporter.dmg」をダウンロードしてマウントし、アプリケーションバンドルを隠しフォルダにコピーした後、ディスクイメージを削除します。このペイロードは、Appleのクラッシュ報告コンポーネントのアイコン、表示名、バンドル識別子を使用し、システムユーティリティに見せかけています。

パスワード、ウォレット、ブラウザデータを窃取

CrashStealerは、macOSのシステムダイアログに見えるよう作り込まれたパスワード入力画面を表示します。ユーザー認証情報の検証に使われるmacOS標準ツール「dscl」コマンドを使ってローカルでパスワードを確認し、間違っていた場合は再入力を求めます。

正しいパスワードが入力されると、この情報窃取マルウェアはログイン用キーチェーンのロックを解除し、隠しステージングフォルダにコピーします。また、書類フォルダやダウンロードフォルダなどユーザーのフォルダからもデータを収集しますが、収集するデータ量を抑えるため、実行ファイルやインストーラー、ディスクイメージ、容量の大きいアーカイブやメディアファイルは対象から除外します。

さらに、Chromium系ブラウザのプロファイル、Firefoxのログインデータ、MetaMask、Phantom、Coinbase Wallet、Trust Wallet、Exodusなど約80種類の暗号資産ウォレット拡張機能、そして1Password、Bitwarden、LastPass、Dashlane、Keeperなど14種類のパスワードマネージャーも標的にしています。

収集されたファイルは、保存前に1つずつAES-256-GCMで暗号化され、隠しZIPアーカイブにまとめられた後、HTTP・HTTPS経由のデータ転送によく使われるネットワークライブラリ「libcurl」を使ってコマンド&コントロールサーバーにアップロードされます。

CrashStealerが狙うデータの種類は他のmacOS向け情報窃取マルウェアと同様ですが、ネイティブC++での実装とクライアント側での暗号化という点で一線を画しており、研究者らはこれを独立したマルウェアファミリーとして分類しています。

永続化と解析妨害

CrashStealerは自身を別の場所にコピーし、コピーしたバイナリに新しいアドホック署名を適用します。そして、そのコピーを「com.apple.crashreporter.helper」という名前のLaunchAgentとしてインストールし、ユーザーがログインするたびに実行されるようにします。

このマルウェアには解析を妨げるためのコードも組み込まれており、制御フローの平坦化、実行時のみに復号される文字列、起動処理中の複数箇所に仕込まれたデバッガ検知といった手法が使われています。

Jamfの報告書では、侵害の痕跡(IOC)、ファイル名とハッシュ値、配布インフラの詳細、そして感染後にファイルシステムに残される痕跡が紹介されています

翻訳元: https://www.helpnetsecurity.com/2026/07/14/crashstealer-macos-infostealer-password-theft/

ソース: helpnetsecurity.com