VSCode

南ヨーロッパの大手ITサービス・プロバイダーを狙う中国のハッカーが、Visual Studio Code(VSCode)トンネルを悪用して、侵害されたシステムへの持続的なリモート・アクセスを維持していることが確認された。

VSCodeトンネルはマイクロソフトのリモート開発機能の一部で、開発者はVisual Studio Codeを介してリモートシステムに安全にアクセスし、作業を行うことができる。開発者はコマンドを実行し、リモートデバイスのファイルシステムにアクセスすることもできるため、強力な開発ツールとなる。

トンネルはMicrosoft Azureのインフラを使って確立され、実行ファイルはMicrosoftによって署名され、信頼できるアクセスを提供する。

システムへの永続的なバックドアアクセスを維持するために正規のMicrosoftシステムを悪用するこの珍しい戦術は、SentinelLabsとTinexta Cyberによって観察され、2024年6月から7月にかけて行われたキャンペーンを「Operation Digital Eye」と名付けた。

研究者たちは、この活動を初期の段階で検出しブロックしましたが、この新しいAPT戦術についての認識を高めるために、本日発表されたレポートで詳細を共有しました。

証拠はSTORM-0866またはSandman APTを弱く指し示していますが、この3週間の作戦の正確な脅威アクターは不明のままです。

「オペレーション・デジタル・アイの背後にいる正確なグループは、中国の脅威ランドスケープ内でマルウェア、オペレーション・プレイブック、インフラ管理プロセスが広範囲に共有されているため、依然として不明です」とSentinelLabsは説明しています。

Visual Studioコードのバックドア

ハッカーたちは、自動SQLインジェクション悪用ツール「sqlmap」を使用して、インターネットに面したウェブサーバーとデータベースサーバーに対してターゲットシステムへの最初のアクセスを達成した。

アクセスを確立すると、PHPsertと呼ばれるPHPベースのWebシェルを展開し、リモートでコマンドを実行したり、追加のペイロードを導入したりしました。

横方向の移動には、攻撃者はRDPとパスザハッシュ攻撃、具体的にはカスタムバージョンのMimikatz(’bK2o.exe’)を使用しました。

Creating a new process and retrieving the logon session’s LUID
新しいプロセスを作成し、ログオン・セッションの LUID を取得する
Source:SentinelLabs

侵入されたデバイス上で、ハッカーはVisual Studio Codeのポータブルな正規バージョン(’code.exe’)を展開し、’winsw’ツールを使用してこれを永続的なWindowsサービスとして設定しました。

次に、VSCodeにtunnelパラメータを設定し、マシン上にリモートアクセス開発トンネルを作成できるようにした。

Service configuration for Visual Studio Code tunneling setup.
Visual Studio Codeトンネリングセットアップのサービス設定
Souce:SentinelLabs

これにより、脅威アクターは、GitHub または Microsoft アカウントで認証された Web インターフェース(ブラウザ)を介して、侵入されたデバイスにリモートで接続できるようになりました。

VSCodeトンネルへのトラフィックはMicrosoft Azureを経由してルーティングされ、関係する実行ファイルはすべて署名されているため、セキュリティ・ツールによってアラームが発せられるようなプロセスは何もありません。

脅威者は、平日の日中にVSCodeバックドアを使用して侵入されたマシンに接続し、中国の標準的な勤務時間中に高いアクティビティを示しています。

Number of connections made by the attackers each hour
攻撃者による毎時の接続数
出典:SentinelLabs:SentinelLabs

SentinelLabsによると、VSCodeトンネルの使用は、2023年以降にもいくつか報告されているため、前例がないわけではありませんが、めったに見られない手口であることに変わりはありません。

2024年9月、Unit 42は、中国のAPTグループ「Stately Taurus」が東南アジアの政府組織を標的としたスパイ活動でVSCodeを悪用しているというレポートを発表した。しかし、SentinelLabsによると、この2つの作戦は無関係のようだ。

VSCodeの手法が普及しつつある可能性があるため、防御者は不審なVSCodeの起動を監視し、リモートトンネルの使用を許可された担当者に限定し、code.exeのようなポータブルファイルの実行をブロックするために許可リストを使用することをお勧めします。

最後に、Windowsサービスに「code.exe」が存在しないか検査し、ネットワークログから*.devtunnels.msのようなドメインへの予期せぬアウトバウンド接続を探すことが望ましい。