Infiniti Stealer: ClickFixとPython/Nuitkaを使用する新しいmacOSインフォスティーラー
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
新たに識別されたmacOS用情報窃取マルウェア「Infiniti Stealer」が、ClickFixというソーシャルエンジニアリングの手法を用いてユーザーを感染させていることが判明しました。このマルウェアはNuitkaを使用して構築されており、PythonコードをネイティブのMach-Oバイナリに変換することで、静的検査を困難にしています。実行されると、資格情報、キーチェーンデータ、暗号通貨ウォレットファイル、その他の機密情報を盗み、収集されたデータをHTTP POSTリクエストを介して外部に送信します。このキャンペーンはまた、偽のCAPTCHAページを悪意のあるドメインにホストし、被害者を騙して有害なBashコマンドを実行させる手法にも依存しています。
調査
研究者たちは、ルーチンの脅威ハンティング中にこのペイロードを発見し、最初は仮の名前「NukeChain」で追跡しましたが、脅威アクターのパネルが最終的に「Infiniti Stealer」としてのブランドを明らかにしました。分析によって3段階の流れが明らかになりました:偽のCAPTCHAを通じたBashドロッパー、Nuitkaでコンパイルされたローダー、そしてPythonベースの情報窃取モジュールです。ドロッパーはバイナリを配置します /tmp、隔離属性を削除し、環境変数を介してC2の詳細を渡しながらそれを起動します。最終段階では、ブラウザ、キーチェーン、ウォレット、開発者関連ファイルからデータを収集し、それを攻撃者が制御するサーバーに送信します。
緩和策
ユーザーは、不明なウェブサイトからコマンドをコピーして実行してはなりません、特にCAPTCHAチャレンジの確認を装ったページではそうです。防御者は、疑わしいファイルを検査して削除し、 /tmp or ~/Library/LaunchAgentsで信頼されるアンチマルウェアスキャンを実行し、露出の可能性があるアカウントのパスワードをクリーンなシステムから変更してください。収集された可能性があるAPIトークンやSSHキーも取り消すべきです。
対応
検出チームは、記述された命名パターンに一致するファイルの作成を監視し、ドロッパースクリプトとNuitkaでコンパイルされたバイナリを監視する必要があります。悪意のあるBashコマンドの実行時や指定されたC2ドメインへのHTTP POSTトラフィックの送信時にアラートをトリガーする必要があります。ネットワークアクセスを /tmp で阻止する必要があります。ホストベースの法医学的レビューにより、盗まれた認証情報を特定し、必須の認証情報リセットをサポートする必要があります。 update-check.com and infiniti-stealer.com ブロックする必要があります。その後、ホストベースの法医学的レビューによって盗まれた認証情報を特定し、必須の認証情報リセットを支援します。
“graph TB
%% Class definitions section
classDef action fill:#99ccff
classDef tool fill:#ffcc99
classDef malware fill:#ff9999
classDef process fill:#ccffcc
classDef artifact fill:#cccccc
classDef operator fill:#ff9900
%% Node definitions
action_initial_access[“Action – T1204.004 ユーザー実行: 悪意のあるコピー&ペースト
説明: 被害者がターミナルに悪意のあるコマンドをコピー&ペーストし、コードの実行を引き起こす。”]
class action_initial_access action
artifact_captcha_page[“Artifact – 偽のCAPTCHAページ
URL: update-check.com
被害者にコピーペーストコマンドを提供。”]
class artifact_captcha_page artifact
action_execution_dead_drop[“Action – T1102.001 ウェブサービス: 死のドロップのリゾルバ
説明: ウェブサービスを使用して追加のペイロードを取得。”]
class action_execution_dead_drop action
process_curl_download[“プロセス – curl
コマンド: curl -sSfL … | bash
第1段階のBashドロッパーをダウンロード。”]
class process_curl_download process
artifact_temp_binary[“アーティファクト – 一時バイナリ
場所: /tmp/
ダウンロード後に隔離フラグが削除される。”]
class artifact_temp_binary artifact
action_defense_evasion_sandbox[“Action – T1497.002 ユーザー活動チェック & T1497.003 時間ベースの回避
説明: 仮想化または分析環境を検出してから処理を行う。”]
class action_defense_evasion_sandbox action
action_guardrails[“Action – T1480.002 実行ガードレール: 相互排除
説明: ホスト上で唯一のインスタンスだけを実行することを保証する。”]
class action_guardrails action
action_file_deletion[“Action – T1070.004 ファイル削除
説明: 利用後に一時ファイルとログを削除する。”]
class action_file_deletion action
action_obfuscation[“Action – T1027.005 難読化されたファイルまたは情報
説明: 悪意のあるペイロードを隠すために難読化を使用。”]
class action_obfuscation action
action_collection_input_capture[“Action – T1056 入力取得
説明: ブラウザの資格情報、キーチェーンエントリ、暗号ウォレットデータ、スクリーンショットを取得。”]
class action_collection_input_capture action
artifact_collected_data[“アーティファクト – 収集された機密データ
ブラウザ資格情報、キーチェーンエントリ、暗号ウォレットファイル、スクリーンショット。”]
class artifact_collected_data artifact
action_exfiltration_alternative[“Action – T1048 別のプロトコルによる外部流出
説明: データをHTTP POSTを通じてリモートサーバーに送信。”]
class action_exfiltration_alternative action
artifact_c2_domain[“アーティファクト – C2ドメイン
update-check.com”]
class artifact_c2_domain artifact
artifact_telegram_notification[“アーティファクト – Telegram通知
攻撃者がTelegram経由でステータス更新を受け取る。”]
class artifact_telegram_notification artifact
action_lateral_tool_transfer[“Action – T1570 横方向ツール転送
説明: さらなる侵害のために必要に応じて追加のペイロードをダウンロード。”]
class action_lateral_tool_transfer action
artifact_additional_payload[“アーティファクト – 追加のペイロード
後の段階に必要に応じてダウンロードされる。”]
class artifact_additional_payload artifact
%% フローを示す接続
action_initial_access –>|配信| artifact_captcha_page
artifact_captcha_page –>|引き金| action_execution_dead_drop
action_execution_dead_drop –>|使用| process_curl_download
process_curl_download –>|書き込み| artifact_temp_binary
artifact_temp_binary –>|有効化| action_defense_evasion_sandbox
action_defense_evasion_sandbox –>|含む| action_guardrails
action_defense_evasion_sandbox –>|含む| action_file_deletion
action_defense_evasion_sandbox –>|含む| action_obfuscation
action_file_deletion –>|削除| artifact_temp_binary
action_obfuscation –>|難読化| artifact_temp_binary
action_defense_evasion_sandbox –>|つながる| action_collection_input_capture
action_collection_input_capture –>|取得| artifact_collected_data
artifact_collected_data –>|送信| action_exfiltration_alternative
action_exfiltration_alternative –>|標的| artifact_c2_domain
artifact_c2_domain –>|通知| artifact_telegram_notification
action_exfiltration_alternative –>|有効化| action_lateral_tool_transfer
action_lateral_tool_transfer –>|ダウンロード| artifact_additional_payload
“
攻撃フロー
検出
MacOS Gatekeeperを回避している可能性がある防御回避(コマンドライン経由)
表示
MacOSでの可能性のあるBase64エンコード文字列の操作(コマンドライン経由)
表示
MacOSでの疑わしいCurl実行試行(コマンドライン経由)
表示
IOCs(HashMd5)を検出する: ClickFixとPython/Nuitkaを使用した新しいmacOS情報窃取マルウェアInfiniti Stealer
表示
IOCs(HashSha256)を検出する: ClickFixとPython/Nuitkaを使用した新しいmacOS情報窃取マルウェアInfiniti Stealer
表示
ターミナルコマンド実行を通じてのInfiniti Stealer感染の検出[Linuxプロセス生成]
表示
シミュレーション実行
前提条件: テレメトリー&ベースラインの「プレフライトチェック」が合格している必要があります。
攻撃シナリオ & コマンド
攻撃者はフィッシングリンクを配信し、それをmacOSワークステーションで開くと、次のワンライナーがターミナルで実行されます。コマンド:
- ベース64でエンコードされたURL(ペイロードホスト)を の使用を通じてダウンロードします
curl -sSfL. - ベース64文字列をデコードし、実際のHTTPS URLを表示します。 ダウンロードされたスクリプトを
- の使用を通じて実行します と共に
と共に. - で実行 ターミナルが閉じた後もそれを生かすための
nohupを実行 - 隔離属性を削除します ( )を使用してGatekeeperをバイパスします。
)を使用してGatekeeperをバイパスします。これらの手順により、Sigmaルールが観察している正確なコマンドラインフラグメントが生成され、期待されるアラートが生成されます。
回帰テストスクリプト
#!/usr/bin/env bash # ———————————————————— # Infiniti Stealer感染シミュレーション (macOS) # ———————————————————— # 1. 悪意のあるワンライナーをビルド (ルールが期待する通りに) MALICIOUS_CMD=”bash /dev/null 2>&1 &” MALICIOUS_CMD+=” && xattr -dr com.apple.quarantine /Applications/Utilities/Terminal.app” # 3. コマンドを実行 eval “$MALICIOUS_CMD” # 4. SIEMの取り込みを許可するために数秒待機 sleep 5 # 5. 手動検証のためのマーカーを出力 echo “>>> シミュレーション実行 – SIEMでアラートを監視 <<<"
クリーンアップコマンド
#!/usr/bin/env bash # ———————————————————— # Infiniti Stealerシミュレーション後のクリーンアップ # ———————————————————— # シミュレーションによって開始されたバックグラウンドnohupプロセスを終了 pkill -f “bash /dev/null || true echo “クリーンアップ完了。”
レポート終了
攻撃フロー