悪意のあるインタビューソフトウェアが情報窃取マルウェアを配信
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
脅威アクターは、採用担当者を装ってWeb3の専門家を対象とする求人詐欺を実行し、次の場所でホストされている不正なAI会議プラットフォームに候補者を誘導しています。 relay.lcこのサイトは、機密情報を盗むために設計されたmacOSおよびWindows用の不正なインストーラーを配布しています。このマルウェアは、暗号通貨ウォレット、ブラウザ認証情報、Telegramセッション、およびmacOSキーチェーンデータを標的としています。
調査
SlowMistのMistEyeチームは、パッキングされていない2つのサンプル、macOSディスクイメージとNSISでパッケージ化されたWindows実行ファイルを分析しました。調査によれば、macOSバージョンはシェルスクリプトを使用してセキュリティ属性を削除し、偽のAppleScriptプロンプトでパスワードを取得します。Windowsバージョンは、不正な進捗バーを表示しながら、サイレントで特権を持つ updater.exe プロセスを起動し、メモリ内のブラウザ拡張機能をスキャンします。
緩和策
ユーザーは、未確認の求人リンクからソフトウェアをダウンロードせず、会議プラットフォームの正当性を独立して確認するべきです。組織は、識別された不正なドメインやファイルハッシュをゲートウェイとEDRレベルでブロックする必要があります。macOSユーザーは、隔離保護を回避するためにターミナルコマンドを使用する指示も非常に懐疑的に扱うべきです。
対応
もしmacOSユーザーが不正スクリプトを実行した場合、デバイスをすぐに切断し、システム、Apple ID、他の重要な認証情報のリセットを行う必要があります。Windows感染の場合、端末を隔離し、既知のレジストリ永続性のある場所を調査し、ブラウザウォレットのデータが侵害されていると仮定するべきです。両方の場合において、暗号通貨資産はクリーンなデバイスから新しく作成したウォレットに移動する必要があります。
攻撃の流れ
検出
可能性のある永続化ポイント [ASEPs – ソフトウェア/NTUSERハイブ] (via registry_event)
表示
自動起動位置における疑わしいバイナリ/スクリプト (via file_event)
表示
隠されたPowerShellコマンドライン経由での実行の可能性 (via cmdline)
表示
Nohup使用による実行の可能性 (via cmdline)
表示
MacOS Xattr一時フォルダ属性を削除しました (via process_creation)
表示
MacOS疑わしいTmpフォルダのファイル権限の変更 (via cmdline)
表示
情報スティーラーマルウェアを配信するために使用された面接ソフトウェア: 求人詐欺アラートを検出するためのIOC (HashSha256)
表示
疑わしいChromeまたはBrave拡張プロセスの相互作用が検出されました [Windows Sysmon]
表示
認証情報収集のためのWindowsプロセスメモリアクセス [Windows プロセス生成]
表示
隠れたプロセス実行のためのPowerShellコマンド [Windows Powershell]
表示
シミュレーションの実行
前提条件: テレメトリー&ベースラインプレフライトチェックが合格している必要があります。
理論的根拠: このセクションは、検出ルールをトリガするためにデザインされた敵技術の正確な実行を詳細に記述します。コマンドや物語は、TTP(戦術、技術、手続き)に直接反映し、検出ロジックが期待する正確なテレメトリーを生成することを目指します。抽象的または無関係な例は誤診に繋がるでしょう。
-
攻撃の物語とコマンド: 敵はChromiumベースのブラウザを狙った情報スティーラーを配備しました。正当なブラウザ活動と偽装してセッションクッキーを盗むために、マルウェアはブラウザ拡張ハンドラを模倣するサブプロセスを起動しようとします。攻撃者はブラウザコンポーネントのリネームされたバージョンを実行し、特定のコマンドライン引数
extension-processを渡して、ブラウザの内部アーキテクチャで使用されるロジックをトリガします。これは特定の検出ルールが探しているものです。 -
回帰テストスクリプト:
# 疑わしいブラウザ拡張プロセス相互作用のシミュレーション # このスクリプトは'chrome.exe'という名前のダミー実行可能ファイルを作成し、Image要件を満たします。 # また、'extension-process'フラグを使ってCommandLine要件を満たすように実行します。 $testDir = "$env:TEMPSimulation" if (!(Test-Path $testDir)) { New-Item -ItemType Directory -Path $testDir } $targetExe = "$testDirchrome.exe" # ダミー実行可能ファイルを作成 (PowerShellを使用してプロセス起動をシミュレート) # 注意: 実際の環境では、これは悪意のあるバイナリです。 # シミュレーションのため、Sysmon Event ID 1をトリガするためにPowerShellインスタンスの名前を変更して使用します。 # 可能であれば、ログで'chrome.exe'として表示されるように'Image'フィールドをトリックで使いますが、 # 専用のツールがないと、実行中のプロセスのImageパスを簡単に名前変更できないため、 # 実行ファイル名をchrome.exeとしてシミュレートします。 New-Item -Path "$testDirchrome.exe" -ItemType File -Force | Out-Null # '悪意のある'プロセスを実行 Start-Process -FilePath "$testDirchrome.exe" -ArgumentList "--extension-process --user-data-dir=C:Temp" -WindowStyle Hidden # 注意: chrome.exeがダミーファイルのため、Start-Processは失敗する可能性があります。 # ルールが実験室でトリガすることを確実にするため、次のパターンを模倣するコマンドを実行します: # 'Image'名をログに記録するコマンドを使用してSysmonをトリガします。 # この特定のシグマルールでは、実際にchrome.exeとしてファイルを持つ方が信頼性があります。 # しかし、クイックテストには次のものを使用できます: Write-Host "シミュレーションコマンドを実行中..." cmd.exe /c "start /b chrome.exe --extension-process" 2>$null # ファイルの存在が原因で上記が失敗した場合、検出ルールをトリガしません。 # 実験室での手動ワークアラウンド: 本物のchrome.exeを一時フォルダにコピーします。 $realChrome = "${env:ProgramFiles}GoogleChromeApplicationchrome.exe" if (Test-Path $realChrome) { Copy-Item $realChrome -Destination $targetExe Start-Process -FilePath $targetExe -ArgumentList "--extension-process" Write-Host "シミュレーションコマンドを正常に送信しました。" } else { Write-Error "本物のChrome実行ファイルが見つかりません。正確なImageパスをシミュレートできません。" } -
クリーンアップコマンド:
Stop-Process -Name "chrome" -ErrorAction SilentlyContinue Remove-Item -Path "$env:TEMPSimulation" -Recurse -Force