Hacker staring at a package

人気の高いAxios HTTPクライアントのメンテナが、開発者の1人が北朝鮮のハッカーに関連したソーシャルエンジニアリングキャンペーンの標的にされたことを説明する詳細な事後報告を発表した。

これは、脅威行為者がメンテナアカウントを侵害し、2つの悪意のあるバージョンのAxios(1.14.1と0.30.4)をnpmパッケージレジストリに公開し、サプライチェーン攻撃を引き起こしたというものだ。

これらのリリースでは、plain-crypto-jsという依存関係が注入され、macOS、Windows、Linuxシステム上にリモートアクセストロイの木馬(RAT)がインストールされた。

Wiz

悪意のあるバージョンは、削除されるまでおよそ3時間利用可能だったが、その間にインストールしたシステムは危険にさらされたと考えるべきで、すべての認証情報と認証キーをローテーションする必要がある。

Axiosのメンテナンス担当者は、影響を受けたシステムを消去し、すべての認証情報をリセットし、同様のインシデントを防ぐための変更を実施していると述べた。

Google Threat Intelligence Groupは、この攻撃をUNC1069として追跡されている北朝鮮の脅威行為者と関連付けている。

“GTIGは、この脅威アクターが以前使用していたWAVESHAPERの更新版であるWAVESHAPER.V2の使用に基づいて、少なくとも2018年以降に活動している金銭的動機のある北朝鮮系脅威アクターであるUNC1069の活動であると判断しています “とGoogleは説明しています。

“さらに、この攻撃で使用されたインフラのアーティファクトを分析すると、UNC1069が過去の活動で使用したインフラとの重複が見られる。”

ソーシャル・エンジニアリング攻撃の標的

事後報告によると、この攻撃は数週間前に、プロジェクトのリード・メンテナであるジェイソン・サイマンを標的としたソーシャル・エンジニアリング攻撃によって始まった。

攻撃者は合法的な企業になりすまし、その企業のブランドと創業者の肖像をクローンし、その企業になりすますために設計されたSlackワークスペースにメンテナを招待した。Saayman氏によると、Slackサーバーにはリアルなチャンネルがあり、演出されたアクティビティと、従業員や他のオープンソースのメンテナを装った偽のプロフィールがあったという。

「このワークスペースは、企業のCIにブランディングされ、もっともらしい名前が付けられていました」と、Saaymanは事後報告への投稿で説明している。

「スラックは非常によく練られていて、リンクされた投稿を共有するチャンネルがあり、リンクされた投稿は本物の会社のアカウントに行っただけだと思われるが、非常に説得力があった。

攻撃者はその後、Microsoft Teams上で多数の人が参加していると思われるミーティングをスケジュールした。

通話中、システム上の何かが古いという技術的なエラーが表示され、エラーを修正するためにTeamsのアップデートをインストールするようメンテナーに促した。しかし、この偽のアップデートは実際にはRATマルウェアであり、脅威行為者がメンテナーのデバイスにリモートアクセスし、Axiosプロジェクトのnpm認証情報を取得できるようになっていました。

他のメンテナからも同様のソーシャルエンジニアリング攻撃が報告されており、脅威行為者は偽のMicrosoft Teams SDKアップデートをインストールさせようとしました。

この攻撃はClickFix攻撃に類似しており、被害者は偽のエラーメッセージを表示され、マルウェアを展開するトラブルシューティングのステップに従うよう促されます。

この攻撃は、Googleの脅威インテリジェンスチームによって報告された過去のキャンペーンとも類似しており、UNC1069を追跡していた北朝鮮の脅威行為者は、暗号通貨企業を標的に同じ手口を使っていました。

UNC1069の脅威行為者に起因する以前のキャンペーンでは、脅威行為者は、認証情報、ブラウザデータ、セッショントークン、およびその他の機密情報を盗むために設計されたバックドア、ダウンローダー、およびinfostealerなどの追加のペイロードをデバイス上に展開していました。

攻撃者は認証されたセッションにアクセスするため、MFA保護は事実上バイパスされ、再認証することなくアカウントにアクセスできる。

Axiosのメンテナーは、この攻撃がプロジェクトのソースコードの改変を伴うものではなく、代わりに悪意のある依存関係を他の正当なリリースに注入することに依存していることを確認した。

人気のあるMochaフレームワークを含む多数のオープンソースプロジェクトのメンテナであるPelle Wessmanは、同じキャンペーンで標的にされたとLinkedInに投稿し、標的を騙してマルウェアをインストールさせるために使用された偽のRTC接続エラーメッセージのスクリーンショットを共有した。

Fake RTC Connection error message used in another attack
別の攻撃で使用された偽のRTC接続エラーメッセージ
Source:ペレ・ウェスマン

Wessmanがアプリのインストールを拒否すると、脅威行為者はCurlコマンドを実行するよう説得しようとした。

「私がアプリを実行しないことが明らかになり、ウェブサイトとチャットアプリで何度もチャットした後、彼らは最後の必死の試みを行い、何かをダウンロードして実行するcurlコマンドを実行させようとしました。

サイバーセキュリティ企業のSocketも、これは人気のあるNode.jsプロジェクトのメンテナを標的にし始めた協調的なキャンペーンであると報告している。

広く使われているパッケージのメンテナやNode.jsのコア・コントリビューターを含む複数の開発者が、攻撃者が運営するSlackワークスペースに同様のアウトリーチ・メッセージや招待を受け取ったと報告している。

Socket社は、これらのメンテナーは毎週数十億ダウンロードされるパッケージの責任者であり、脅威行為者が影響力の大きいプロジェクトに焦点を当てたことを示していると指摘した。

私たちがaxiosの侵害の最初の分析を発表し、その隠された爆発半径を深く掘り下げ、それがソーシャル・エンジニアリングであることを確認したメンテナに関するレポートを発表して以来、Node.jsエコシステム全体のメンテナが、同じソーシャル・エンジニアリング・キャンペーンの標的にされたと報告するようになりました。

「これらのアカウントは、npmレジストリやNode.jsコア自体で最も広く依存されているパッケージのいくつかにまたがっており、axiosが単発の標的でなかったことを裏付けています。これは、信頼性が高く、影響力の大きいオープンソースのメンテナを狙った、協調的でスケーラブルな攻撃パターンの一部でした。

Socket社によると、このキャンペーンは一貫したパターンを踏襲しており、脅威行為者はまずLinkedInやSlackのようなプラットフォームを通じて接触し、受信者をプライベートまたは半プライベートなワークスペースに招待した。

ターゲットと信頼関係を築いた後、脅威行為者はビデオ通話のスケジュールを組み、場合によってはMicrosoft Teamsやその他のプラットフォームになりすましたサイトを通じて行われた。

これらの通話中に、ターゲットにエラーメッセージが表示され、よりよく動作する「ネイティブ」デスクトップソフトウェアをインストールするか、技術的な問題を修正するコマンドを実行するよう促される。

同時期にこれらすべてのターゲットに対して同じプレイブックが使用されていることから、これは一連の単発的な攻撃ではなく、協調的なキャンペーンであったことがわかる。

Socket社の研究者によると、この種のサプライチェーン攻撃は一般的になりつつあり、攻撃者は現在、広範囲に影響を与えるために広く使用されているパッケージに焦点を当てているという。

.ia_ad { background-color:#width: 95%; max-width: 800px; margin: 15px auto; border-radius: 8px; border:1px solid #d6ddee; display: flex; align-items: stretch; padding: 0; overflow: hidden; }:0; overflow: hidden; } .ia_lef { flex: 1; max-width: 200px; height: auto; display: flex; align-items: stretch; } .ia_lef a { display: flex; width: 100%; height: 100%; } .ia_lef a img { width: 100%; height: 100%; border-radius: 8px 0 0 8px; margin: 0; display: block; } .ia_rig { flex: 2; padding:display: flex; flex-direction: column; justify-content: center; } .ia_rig h2 { font-size: 17px !important; font-weight: 700; color:#line-height: 1.4; font-family:margin: 0 0 14px 0; } .ia_rig p { font-weight: bold; font-size: 14px; margin: 0 0 clamp(6px, 2vw, 14px) 0; } .ia_button { background-color:#border:1px solid #3b59aa; color: black; text-align: center; text-decoration: none; border-radius: 8px; display: inline-block; font-size: 16px; font-weight: bold; cursor: pointer; padding:width: fit-content; } .ia_button a { text-decoration: none; color: inherit; display: block; } @media (max-width: 600px) { .ia_ad { flex-direction: column; align-items: center; } .ia_lef { max-width: 100%; } .ia_lef a img { border-radius: 8px 8px 0 0; } .ia_rig { padding:15px;
width: 100%;
}

.ia_button {
width: 100%;
margin: 0px auto;
}
}

自動ペンテストは6面のうち1面のみをカバーする。

自動ペンテストはパスの存在を証明する。BASは、あなたのコントロールがそれを止めるかどうかを証明します。ほとんどのチームは、一方を実行し、もう一方を実行しない。

このホワイトペーパーは、6つの検証サーフェスをマッピングし、どこでカバーが終了するかを示し、実務者にあらゆるツール評価のための3つの診断質問を提供します。