PyStoreRAT:ITおよびOSINT専門家を標的とするAI駆動型サプライチェーンマルウェア
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
Morphisecは、使われていないGitHubアカウントを利用してAI生成リポジトリをホストし、最終的にPyStoreRATと名付けられたJavaScript/HTAバックドアを配信する協調型マルウェア操作を発見しました。このローダーはホストをプロファイルし、Rhadamanthysステーラーを含む複数のペイロードを展開し、特定のAVソリューションが検出された場合に動的にその動作を調整します。このキャンペーンは、IT管理者、セキュリティアナリスト、および世界中のOSINT専門家を対象としています。
調査
研究者は悪意のあるGitHubプロジェクトを調査し、バックドアコンポーネントを隔離し、システムプロファイリング、段階的ペイロード配信、AV回避、リムーバブルドライブ拡散、オンデマンドモジュール読み込みを含む完全な実行チェーンを文書化しました。この報告は、ローダーが円形C2ノードアーキテクチャを使用して回復力を高め、ターゲットのロケールを確認するためのロシア語の文字列使用を説明しています。分析により、ローダーがRhadamanthysステーラーに関連していることが示され、その起動パスを変更する能力が強調されています。
緩和策
Morphisecは、ローダーのランタイム環境を不安定にし、不安定な実行ルートをブロックし、ペイロード配信を停止するために、Automated Moving Target Defenseの使用を推奨します。伝統的な署名ベースのコントロールが効果的でないため、防御者は行動駆動および仮想化ベースの保護を頼りにするべきです。信頼できない起源からのスクリプトの実行制限と、リムーバブルドライブの活動を注意深く監視することも推奨されます。
対応
PyStoreRAT活動が確認された場合、直ちに影響を受けたエンドポイントを隔離し、バックドアプロセスを終了し、永続モジュールを削除してください。C2ドメイン、ファイルハッシュ、スケジュールされたタスクを含むIOCを収集するためのフォレンジック分析を行います。脆弱なソフトウェアをパッチし、厳格な最小特権実行ポリシーを施行し、悪意または疑わしいリポジトリ活動をGitHubで継続的に監視してください。
“graph TB %% Class Definitions classDef technique fill:#99ccff %% Node definitions technique_supply_chain[“<b>技術</b> – <b>T1195.002 サプライチェーンの妥協</b><br/><b>説明</b>: 公開GitHubリポジトリを妥協し、クローンを作成するプロジェクトに悪意のあるコードを注入します。<br/><b>サブ技術</b>: 悪意のあるGitHubリポジトリ”] class technique_supply_chain technique technique_user_exec[“<b>技術</b> – <b>T1204 ユーザーエグゼキューション</b><br/><b>説明</b>: 被害者が悪意のあるペイロードを含むAI生成プロジェクトを実行します”] class technique_user_exec technique technique_obfuscation[“<b>技術</b> – <b>T1027 改ざんされたファイルまたは情報</b><br/><b>サブ技術</b>: T1027.009 埋め込まれたペイロード<br/><b>説明</b>: ペイロードが合法的なファイル内に隠されて検出を回避します”] class technique_obfuscation technique technique_system_info[“<b>技術</b> – <b>T1082 システム情報の発見</b><br/><b>説明</b>: オペレーティングシステムバージョン、ハードウェアの詳細、その他のホスト情報を収集します”] class technique_system_info technique technique_software_disc[“<b>技術</b> – <b>T1518 ソフトウェア発見</b><br/><b>説明</b>: インストールされているアプリケーションとソフトウェアバージョンを列挙します”] class technique_software_disc technique technique_c2_https[“<b>技術</b> – <b>T1071.001 ウェブプロトコル</b><br/><b>説明</b>: HTTPS経由でコマンドアンドコントロール通信を確立します”] class technique_c2_https technique technique_removable_media[“<b>技術</b> – <b>T1092 リムーバブルメディアを通じた通信</b><br/><b>説明</b>: USBドライブを介して悪意のあるペイロードを追加システムに伝播します”] class technique_removable_media technique %% Connections technique_supply_chain u002du002d>|先導する| technique_user_exec technique_user_exec u002du002d>|先導する| technique_obfuscation technique_obfuscation u002du002d>|先導する| technique_system_info technique_system_info u002du002d>|先導する| technique_software_disc technique_software_disc u002du002d>|先導する| technique_c2_https technique_c2_https u002du002d>|先導する| technique_removable_media “
攻撃の流れ
検出
関連するコマンドの検出(プロセス作成経由)による疑わしいLOLBAS MSHTA回避行動
表示
監査経由の疑わしいスケジュール済みタスク
表示
DNSリクエスト経由の異常なトップレベルドメイン(TLD)による疑わしいコマンド&コントロール
表示
コマンドライン経由の疑わしいフォルダからのPython実行
表示
コマンドライン経由でHTAファイルなしでの疑わしいMshta実行
表示
円形回転C2インフラと動的モジュールダウンロードを用いたPyStoreRATの検出[Windows ネットワーク接続]
表示
悪意のあるプロジェクト用の休眠GitHubアカウントの再活性化検出 [GitHub – Webサーバー]
表示
シミュレーション実行
前提条件:Telemetry & Baseline プレフライトチェックが合格している必要があります。
-
攻撃の物語とコマンド:
- 休眠アカウントを再活性化する – 攻撃者はGitHub UIまたはAPIを使用してアカウントステータスを「休眠」から「アクティブ」に変更します。
- AI生成の悪意のあるリポジトリを公開する – 再活性化直後に、新しいリポジトリが作成され、
ai‑osint‑toolkitが作成され、「AI生成プロジェクト」を広告するREADMEを含みます。 - 「メンテナンス」コミットを追加する PyStoreRATバックドアを埋め込みます。コミットメッセージには、検出ルールを満たすために「メンテナンス」という言葉が意図的に含まれています。
- 悪意のあるコードをプッシュする – プッシュが生成され、
プッシュ監査イベントが発生しますが、私たちがテストしているルールは、アカウントの再活性化監査エントリだけを監視しているので、主要なトリガーはフラグ付き説明で再活性化ログエントリです。
-
リグレッションテストスクリプト: (GitHub CLIを使用したBash
gh– アタッカー俳優が個人アクセス トークンを持っていると想定していますadmin:orgスコープ)# simulate_attack.sh # 前提条件:gh CLIがインストールされ、アタッカーとして認証されている # 1. 休眠アカウントの再活性化(ユーザーフィールドを更新することでシミュレート) gh api -X PATCH /admin/users/attacker_user -f state=active -f note="reactivation: AI-generated projects; maintenance commits scheduled" # 2. 悪意のあるリポジトリを作成 gh repo create attacker_user/ai-osint-toolkit --public --description "AI‑generated OSINT tools" # 3. 悪意のあるファイル(PyStoreRAT)を追加し、コミット cd ai-osint-toolkit echo "# PyStoreRAT backdoor" > pystorerat.py git add pystorerat.py git commit -m "Initial commit - maintenance commits: embed backdoor" git push origin main # 4. オプション:実世界の活動を模倣するためにセカンドメンテナンスコミットを作成 echo "# Update README" >> README.md git add README.md git commit -m "maintenance commit: update documentation" git push origin main -
クリーンアップコマンド:
# cleanup_attack.sh # 悪意のあるリポジトリを削除 gh repo delete attacker_user/ai-osint-toolkit -y # オプションで、攻撃者アカウントを再び休眠に設定する(APIが許可する場合) gh api -X PATCH /admin/users/attacker_user -f state=dormant