概要
協調型のサプライチェーン攻撃が発見され、36 の悪意のある npm パッケージが Strapi CMS プラグインとして偽装し、Redis 遠隔コード実行(RCE)、資格情報収集、および持続的なコマンド&コントロール(C2)マルウェアを配布しています。このキャンペーンは、umarbek1233, kekylf12, tikeqemif26, umar_bektembiev1 の4つのソック・パペット npm アカウントを使用して実行されました。
攻撃の特徴
この操作は、通常の npm スパムキャンペーンとは異なり、同一のペイロードを再利用する代わりに8種類の異なるマルウェア変種を使用しました。これは特定の組織を標的とする可能性が高い攻撃が進行中であることを示しています。
主な攻撃手法
- strapi-plugin-cron (02:02 UTC): Redis の誤設定を利用して RCE を達成し、cron ジョブを注入、PHP Webshell と Node.js リバースシェルを展開。
- strapi-plugin-config (02:47 UTC): Docker コンテナから脱出を試み、オーバレイファイルシステムパスを特定し、ホストにアクセス可能なディレクトリにペイロードを書き込み、Python ベースのリバースシェルを起動。
- strapi-plugin-server, strapi-plugin-database, strapi-plugin-core, strapi-plugin-hooks (03:01 – 03:37 UTC): 生産システムでのみ実行される直接的なリバースシェル機能を導入。
- strapi-plugin-monitor: エンバイロメント変数、PostgreSQL 接続文字列、Redis データ、ウォレットファイルなどを標的とする8段階の資格情報収集ルーチンを展開。
- strapi-plugin-events (03:46 UTC): .env ファイルの完全なエクスフィラション、ファイルシステム全体でのシークレット発見、Redis ダンプ、Kubernetes セCRET ステールなどを含む11段階攻撃を実行。
- strapi-plugin-seed (04:45 UTC): PostgreSQL データベースに直接的に攻撃し、ウォレット、取引、デポジットに関連するセンシティブなテーブルを抽出。
影響と標的
この攻撃チェーンは、クラウドネイティブ環境やバックエンドインフラストラクチャに対する深い知識を示しています。主な機能には Redis の誤設定を利用して RCE を達成する方法、Docker コンテナからの脱出試み、Python ベースのリバースシェルの起動などが含まれます。
インジケーターズ・オブ・コムプロマイズ (IoC)
| パッケージ名 | バージョン | 著者 |
|---|---|---|
| strapi-plugin-cron | 3.6.8 | umarbek1233 |
| strapi-plugin-config | 3.6.8 | umarbek1233 |
| strapi-plugin-server | 3.6.8 | umarbek1233 |
| strapi-plugin-database | 3.6.8 | umarbek1233 |
| strapi-plugin-core | 3.6.8 | umarbek1233 |
| strapi-plugin-hooks | 3.6.8 | umarbek1233 |
| strapi-plugin-monitor | 3.6.8 | umarbek1233 |
| strapi-plugin-events | 3.6.8 | umarbek1233 |
| strapi-plugin-logger | 3.6.8 | umarbek1233 |
| strapi-plugin-health | 3.6.8 | kekylf12 |
| strapi-plugin-sync | 3.6.8 | kekylf12 |
| strapi-plugin-seed | 3.6.8 | kekylf12 |
| strapi-plugin-locale | 3.6.8 | kekylf12 |
| strapi-plugin-form | 3.6.8 | kekylf12 |
| strapi-plugin-notify | 3.6.8 | kekylf12 |
| strapi-plugin-api | 3.6.8 | kekylf12 |
| strapi-plugin-sitemap-gen | 3.6.8 | tikeqemif26 |
| strapi-plugin-nordica-tools | 3.6.10 | tikeqemif26 |
| strapi-plugin-nordica-sync | 3.6.8 | tikeqemif26 |
| strapi-plugin-nordica-cms | 3.6.8 | tikeqemif26 |
| strapi-plugin-nordica-api | 3.6.8 | tikeqemif26 |
| strapi-plugin-nordica-recon | 3.6.8 | tikeqemif26 |
| strapi-plugin-nordica-stage | 3.6.8 | tikeqemif26 |
| strapi-plugin-nordica-vhost | 3.6.8 | tikeqemif26 |
| strapi-plugin-nordica-deep | 3.6.8 | tikeqemif26 |
| strapi-plugin-nordica-lite | 3.6.11 | tikeqemif26 |
| strapi-plugin-nordica | 3.6.10 | umar_bektembiev1 |
| strapi-plugin-finseven | 3.6.8 | umar_bektembiev1 |
| strapi-plugin-hextest | 3.6.8 | umar_bektembiev1 |
| strapi-plugin-cms-tools | 3.6.8 | umar_bektembiev1 |
| strapi-plugin-content-sync | 3.6.8 | umar_bektembiev1 |
| strapi-plugin-debug-tools | 3.6.8 | umar_bektembiev1 |
| strapi-plugin-health-check | 3.6.8 | umar_bektembiev1 |
| strapi-plugin-guardarian-ext | 3.6.8 | umar_bektembiev1 |
| strapi-plugin-advanced-uuid | 3.6.8 | umar_bektembiev1 |
| strapi-plugin-blurhash | 3.6.8 | umar_bektembiev1 |
