DarkBlindersキャンペーンは被害者を高度な諜報活動戦術で狙う
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
DarkBlindersは、イスラエルやイラクのクルディスタン地域の政府および外交機関を標的とするアクティブなサイバースパイ活動です。脅威アクターは、偽のビデオ会議アプリケーションやクラウドドライブサービスの模倣を含む高度なフィッシングルアーを利用してカスタムマルウェアを展開します。この作戦では、GitHubリポジトリをコマンド・アンド・コントロール(C2)に活用し、第二段階のバックドアを選択的に起動します。
調査
Dream Research LabsはDarkBlindersキャンペーンを詳細に分析し、StarkMeetと呼ばれるデコイアプリケーションを含む複数段階の感染チェーンを明らかにしました。研究者たちはマルウェアを逆コンパイルし、脅威アクターのGitHubベースのC2インフラへの読み取り専用アクセスを獲得しました。この可視性により、被害者のタスクを特定し、政府のクラウド環境から1GB以上のデータが流出する様子を観察できました。
緩和策
組織は、確認されていないソフトウェアのインストールに対する厳しい管理を徹底し、GitHubのような共有サービスへの非開発者システムからの異常なアウトバウンド接続を監視する必要があります。クラウドドライブの共有リンクや不審なメール添付ファイルの監視も推奨されます。AppDomainManager経由での無許可のPowerShell実行やメモリ内ローディングの監視は、このローダーテクニックに関連する活動を特定するのに役立ちます。
対応策
DarkBlinders活動が検出された場合、影響を受けたホストを隔離してさらなるデータ流出を防ぎ、メモリ内のペイロードの法医学的検査のためにメモリを保存します。GitHubの個人アクセストークンやリポジトリアクセスログを確認し、組織の開発環境が関与する不審な活動があれば、すべてのアカウントの資格情報をリセットします。
攻撃フロー
検知
異常なパスからのシステムプロセスの実行(process_creation経由)
コマンドライン上でURLを使用する不審なプロセス(cmdline経由)
不審なCURL使用(cmdline経由)
非通常のプロセスによって開始された可能性のあるGitHubファイルのダウンロード(network_connection経由)
パブリックユーザープロファイル内の不審なファイル(file_event経由)
Cloudflare開発ドメイン悪用の可能性(dns経由)
異常なトップレベルドメイン(TLD)DNSリクエストによる不審なコマンド&コントロール(dns経由)
IOCs(HashSha256)による検出:DarkBlinders:アクティブスパイ活動内部第2部
IOCs(HashSha256)による検出:DarkBlinders:アクティブスパイ活動内部第1部
IOCs(HashMd5)による検出:DarkBlinders:アクティブスパイ活動内部
IOCs(SourceIP)による検出:DarkBlinders:アクティブスパイ活動内部
IOCs(DestinationIP)による検出:DarkBlinders:アクティブスパイ活動内部
DarkBlinders C2 活動 via GitHub と Cloudflare Workers [Windows ネットワーク接続]
DarkBlindersキャンペーンのコンポーネントの検出 [Windowsプロセス生成]
シミュレーション実行
-
攻撃の背景とコマンド: 敵対者はDarkBlindersツールキットを使用して持続性とリモートアクセスを確立しようとします。初期アクセスを得た後、攻撃者は
StarkMeet.exeという名前のデコイアプリケーションを展開します。検出を回避するために攻撃者のマルウェアは、更なるペイロードをダウンロードするためにシェルコマンドを実行します。このシミュレーションでは、ダミーのStarkMeet.exeを手動で作成し、それを実行してcmd.exeをトリガーします。これはルールのロジックに一致します:(StarkMeet.exe) AND (cmd). -
回帰テストスクリプト:
# シミュレーションスクリプト:DarkBlindersコンポーネントトリガー # 1. ダミーファイルを作成してDarkBlindersコンポーネントを表します $dummyPath = "$env:TEMPStarkMeet.exe" New-Item -Path $dummyPath -ItemType File -Force # 2. '実行可能'が実際にコマンドを実行するように小さなペイロードを使用します # シミュレーションの目的で、'悪意のある'プロセスを起動するためにPowerShellラッパーを使用します # cmd.exeを呼び出すコンポーネントの動作を模倣します。 Write-Host "[+] DarkBlindersコンポーネント実行をシミュレーション中..." # Start-Processを使用してStarkMeet.exeプロセスがcmd.exeを生成することをシミュレートします # 注:実際のシナリオでは、バイナリ自体が生成を行います。 # Sigmaルールの特定の'Image'ロジックをトリガーするには、プロセス名を変更するか # または特定のファイル名の実行をシミュレートする必要があります。 # 実際のバイナリをここで簡単にコンパイルできないため、 # StarkMeet.exeがcmd.exeを実行する際にSysmonが見るプロセス生成イベントをシミュレートします。 Start-Process -FilePath "$env:TEMPStarkMeet.exe" -ArgumentList "cmd.exe /c echo 'Triggering Detection'" -ErrorAction SilentlyContinue # 非バイナリファイルを実際に'実行'できないため、このコマンドで # プロセス生成をシミュレート可能であれば正確なテレメトリパターンを作成するか、 # ファイルが存在する必要があることを単に認識します。 # テストのための現実的なアプローチ: # 小さな実行可能ファイルを作成するか、プロセスを命名する既知の方法を使用します。 # このスクリプトでは、環境がシステムツールをStarkMeet.exeにリネームすることを許可していると仮定します。 Copy-Item "C:WindowsSystem32cmd.exe" -Destination "$env:TEMPStarkMeet.exe" Start-Process -FilePath "$env:TEMPStarkMeet.exe" -ArgumentList "/c echo DetectionTriggered" Write-Host "[+] シミュレーションコマンドが送信されました。SIEMでStarkMeet.exe + cmd/powershellを確認してください。" -
クリーンアップコマンド:
# シミュレーションアーティファクトをクリーンアップ Remove-Item -Path "$env:TEMPStarkMeet.exe" -Force -ErrorAction SilentlyContinue Write-Host "[+] クリーンアップ完了しました。"