トロイの木馬化されたnpmパッケージ群が、RedC2 4.0のLinuxインプラントを配布しています。これにより攻撃者は、一見無害な依存関係のインポートを足がかりに、SOCKS5プロキシとTCPフォワーディングを通じて内部ネットワークへ侵入する経路を手に入れることになります。
今回のキャンペーンは、実際に機能するカレンダー・連続日数計算ユーティリティの中に悪質なコードを仕込んでおり、npmのライフサイクルスクリプトのみを監視する対策では見抜けないサプライチェーン悪用の実態を浮き彫りにしています。
TrendAI Researchは、streak-metrics-math、kit-map-vim、streak-map-cache、streak-calc-mathを含む14個の悪質なパッケージを特定しました。これらはドキュメントに記載された通りの日付計算機能を提供します。
しかし、この正規の機能の裏では、各パッケージがネイティブの計算アクセラレータを装ったELFバイナリを内包しています。このバイナリの正体は、2026年6月にRedC2 4.0とともに導入されたRedShellというLinuxインプラントです。
特に注目すべきは、その配布の仕組みです。preinstallやpostinstallのフックに依存する代わりに、悪質なdist/index.mjsのエントリーポイントは、パッケージがインポートされた際に非同期の初期化処理を起動します。
この処理は、モジュールを基準に同梱バイナリのパスを解決し、実行可能権限に変更したうえでSHA-256ハッシュを検証し、デタッチされた子プロセスとして起動します。
つまり、たとえ推移的依存関係を通じたものであっても、たった一度のインポートでこのインプラントが起動しうるということです。npmの–ignore-scriptsという安全策も、ライフサイクルスクリプトを一切介さないこの実行経路には効果がありません。
起動後、RedShellは二重フォーク処理によってデーモン化し、インポート元のNode.jsプロセスから切り離されてバックグラウンドで動作を続けます。
TrendAI™ Researchはサプライチェーン侵害を分析しており、その発端はLinuxバックドアを日付計算ユーティリティの裏に隠したトロイの木馬化npmパッケージ群にあるとしています。
RedC2 4.0 Linuxインプラント
このインプラントは、証明書検証を無効化した状態で、ハードコードされたサーバー217.60.77.63:8792に対してTLSで保護されたコマンド&コントロール通信を確立します。
コマンド通信には、XOR演算とROR1変換を繰り返し適用する独自の難読化レイヤーがさらに施される一方、ペイロード取得や大量データの持ち出しには別の機能が平文HTTPを使用します。
運用上最も重大な特徴は、RedShellに組み込まれたネットワーク侵入(ピボット)機能です。攻撃者は/socks start <port>というコマンドを実行することで、侵害したLinuxホストのすべてのIPv4インターフェース上にSOCKS5プロキシのリスナーを作成できます。
このリスナーに届いた接続は、SOCKSクライアントが指定した宛先へと中継されるため、公開された開発サーバーやビルドエージェント、コンテナホストが事実上、内部ネットワークへのアクセスポイントに変わってしまいます。
暗号化されたメインのC2チャネルとは異なり、SOCKSプロキシのリスナーの通信は生のTCPです。暗号化されるかどうかは、SSHやHTTPSといったプロキシ対象のアプリケーションプロトコルに完全に依存します。
RedShellのTCPフォワーディング機能についても同様です。/portfwd start <local-port> <remote-host> <remote-port>は、侵害されたホスト上にリスナーをバインドし、攻撃者が選んだ内部サービスへ接続を中継します。
これらの機能により、攻撃者は本来アクセスできないはずの管理インターフェースやデータベース、SSHサービス、ラテラルムーブメント(横展開)の標的に到達できてしまう恐れがあります。
RedC2は、従来型のC2モデルをさらに拡張し、コンソールおよび外部CLIの/raコマンドからアクセスできるLLM搭載のコマンドレイヤー「Red Agent」を備えています。
フレームワークのドキュメントによれば、Red Agentは自然言語で示された目的を、一連のビーコン操作へと自動的に組み立てて変換するため、偵察やファイル探索、認証情報の収集といった侵害後の活動を調整する手間を軽減できるとしています。
Linux版では、RedShellはシェル実行、リバースシェル、プロセス・ユーザー管理、SSH鍵の窃取、ブラウザ認証情報の収集、データベースの探索、memfd_createを利用したファイルレスELF実行、シェルコードのロード、dlopen経由での共有ライブラリ実行、さらにいくつかの永続化手法をサポートしています。
このインプラントは、cronの@rebootエントリ、.bashrcの改変、ユーザーレベルのsystemdサービス、あるいはXDGの自動起動エントリを利用して永続化を確立できます。
防御側は、影響を受けるパッケージの利用状況を早急に特定し、直接的な依存関係だけでなく推移的な依存関係のツリーについても調査する必要があります。
エンドポイントでは、Node.jsパッケージのdist/ディレクトリ内にある不審なELFファイル、chmodの実行後にデタッチされたプロセスが続く挙動、systemd・cron・.bashrc・XDGの自動起動設定における不審な変更がないか調査してください。
ネットワークチームは、217.60.77.63のポート8792、8060、8888宛ての外部通信、そしてSOCKS5やポートフォワーディングのサービスを外部に露出させている可能性がある0.0.0.0にバインドされた不審なLinuxリスナーがないか監視する必要があります。
このインプラントがapi.ipify.orgへアクセスしたり、litterbox.catbox.moeへアップロードしたりする挙動も、追加の調査の手がかりになる可能性があります。
侵害指標(IOC)
| SHA-256 | ファイル名 | 検出名 |
|---|---|---|
4537B1189CE419F1A595CF47216C03F80E9170CE80DAD8D9227A1E52F9CB3466 |
math-core.bin |
Backdoor.Linux.REDSHELL.A |
| — | math-calc.bin |
— |
| — | calc-math.dat |
— |
| — | calc-cache.bin |
— |
| — | math-calc.bin |
— |
| — | calc.bin |
— |
| — | calc-mapping.bin |
— |
969EF45E5E1C382D421580B8306AFF0ABF0C4D302F0AF7091AC44CE70A92F789 |
index.mjs |
Trojan.JS.REDSHELL.A |
1C5B97AD2212DE1046EAB1EF66FF5E7E21CA93C918F54F3369C06C64271F2D82 |
index.mjs |
Trojan.JS.REDSHELL.A |
0B9AEF51D5EC55D69FB52ADA41377CED07C6CFF0CAD09174390F49081D439B14 |
index.mjs |
Trojan.JS.REDSHELL.A |
F71FFEC658EB31FB2292F83E02F9451ACB6A6D70F1B7988D9CCC308286B288B9 |
index.mjs |
Trojan.JS.REDSHELL.A |
69FE4881065CF4A5E30CBAEAF30C16FD891D5BFC5A6263E518FB3EF2E23D0889 |
index.mjs |
Trojan.JS.REDSHELL.A |
7FCC2BAA9D65C190A07ADD27F84AD0644AC77A62EEB5A49062BAD290133E2CD6 |
index.mjs |
Trojan.JS.REDSHELL.A |
注: IPアドレスおよびドメインは、意図せぬ名前解決やハイパーリンク化を防ぐため、意図的に無害化(defang)して [.] のように表記しています。再度有効な形式に戻す場合は、MISP、VirusTotal、お使いのSIEMなど、管理された脅威インテリジェンス基盤の中でのみ行ってください。
★ 削減すべきセキュリティツールを1枚のシートで診断 – 「継承されたセキュリティスタック」ガイドをダウンロード
翻訳元: https://gbhackers.com/redc2-4-0-linux-implant/