SprySOCKS Windowsバックドア、カーネルドライバーでプロセス・ファイル・ネットワークトラフィックを隠蔽

これまでLinux専用とされていたバックドア「SprySOCKS」のWindowsバリアントが発見されました。FishMonger(別名:Earth Lusca/TAG-22)との関連が長く指摘されているこのマルウェアは、ツールセットの拡張が続いています。

内部ラベルが「WIN_DRV」と「WIN_PLUS」の2つのWindowsビルドは、オリジナルのSprySOCKSプロトコルとコマンドセットを継承しつつ、Windows固有のロード技術を追加しています。特にWIN_DRVにはカーネルモードドライバーが搭載されており、ステルス性と持続性が大幅に向上しています。

ESETのテレメトリによると、実際の攻撃活動は2023〜2024年に確認されており、ホンジュラス、台湾、タイ、パキスタンの政府機関を主なターゲットとした感染が報告されています。

両バリアントはハードコードされたC2設定を持ち、TCP、UDP、WebSocketの各チャネルに対応しています。バックドアのコア機能には30以上のコマンドが実装されており、システム偵察、プロセス・サービス管理、ファイル操作(一覧表示・作成・削除・転送)、SOCKSプロキシのセットアップ、リモートインタラクティブシェルなどが含まれます。

ネットワーク処理および低レベルI/Oには、ネットワーク用にHP-Socket、暗号処理にCrypto++というオープンソースコンポーネントが再利用されています。C2プロトコルは、以前報告されたLinux版SprySOCKSサンプルで確認されたマルチプロトコルのヘッダーとAES-ECB暗号化ペイロードの設計を踏襲しています。

ESETの報告によると、研究者らはSprySOCKSの未公開Windowsバリアントを2種類発見しました。このバックドアはこれまでLinux専用とされており、FishMongerによる使用が報告されています。

暗号鍵、メッセージマジック値、メッセージフレーミングはいずれも、以前Trend Microが報告したLinuxバリアントとの明確なコードの系譜を示しています。

WIN_PLUSはより軽量なWindowsビルドです。プリントプロセッサ方式の第1段階ローダーを含み、スプールディレクトリ配下に保存された暗号化コンテナ(AES-128-ECB、ハードコードされた鍵)を復号します。そして、プロセスドッペルゲンガー類似の技術を用いてsvchostに本物のバックドアをインジェクトし、カスタムプリントプロセッサを登録することで持続性を確立します。

SprySOCKS Windowsバックドアによるカーネル利用

ESETが観測したWIN_PLUSサンプルには有効なC2設定が含まれており、207.148.64.0/20レンジ(Vultrホスティング)のインフラを指し示していました。TCP:443、UDP:53、WebSocket:80を使用しており、FishMongerの過去の使用パターンと一致しています。

WIN_DRVはより高度なバリアントです。そのローダーはDLLサイドローディングとスケジュールタスクを利用してSYSTEM権限での実行を実現し、3つの暗号化コンテナをドロップするとともに、2つのカーネルモードコンポーネントをインストールします。具体的には、メモリマップして動作するインメモリドライバーを起動する署名済みDriverLoaderと、ミニフィルター/WFPベースのルートキットドライバーであるRawWNPFです。

エラーが検出されなかった場合、ローダーはmsidiskserverレジストリキーとfsdiskbit.sysファイルの両方を削除します。その後、ローダーの処理は完了し終了します。

RawWNPFはステルスエンジンとして機能します。NtQuerySystemInformationをフックしてプロセスエントリを隠蔽し、ファイルシステムミニフィルターコールバックを実装してファイル(展開済みローダー、DLL、暗号化コンテナを含む)を隠蔽します。また、レジストリコールバックを登録して持続性キーを隠蔽し、WFPコールアウトをインストールしてIPv4パケットの検査と操作を行います。

特筆すべきは、RawWNPFがTCPパケットを転送できる点です。任意のオープンポートへの受信TCPペイロードに特定の細工されたデータが検出された場合、ドライバーはそのフローをバックドアの隠しリスニングポートに書き換えて転送します。

実際のリスニングポートはnetstatなどの標準ツールには表示されないため、攻撃者はネットワークキャプチャに真のポートを露出させることなくバックドアへアクセスできます。これはインシデント対応やネットワーク帰属分析を困難にする効果的なパッシブバックドア機構です。

WORD値0x0003(暗号化方式を示すと推測される)に続き、ハードコードされた鍵QFTHEYjzX3RBOMgZを使用した128ビットAES-ECBモードで暗号化されたデータが格納されています。

このドライバーは隠し接続と隠しプロセスリストを管理するIOCTLもサポートしており、攻撃者は流出したPastDSE証明書を使用してドライバーに署名し、一部のシステムで署名の強制をバイパスしています。

ESETの分析では、一部のSprySOCKSキャンペーンにUEFIブートキットコンポーネントが含まれている可能性を示す限定的なテレメトリも確認されています(CVE‑2023‑24932を含む可能性のある攻撃チェーン)。ただし、確証は限られた範囲にとどまっています。

総じて、Windows移植版はSprySOCKSのクロスプラットフォームC2とコマンドのセマンティクスを維持しつつ、Windows固有の持続性、プロセスインジェクション、カーネルステルスの基本技術を採用しており、FishMonger(I-SOON)への高確度の帰属をESETが支持する根拠となっています。

防御担当者は、ESETのレポートに記載されている侵害指標を調査することをお勧めします。具体的には、Microsoftサービスを模倣した名称に変更された署名済み実行ファイルへの不審なDLLサイドローディング、AES暗号化コンテナを含む%SystemRoot%\Fontsやスプールディレクトリ配下のファイル、異常なWFPコールアウト、隠しプロセスと隠しネットワークエントリ、および207.148.64.0/20への外部接続が確認ポイントとなります。

IOC(侵害指標)

ファイル

SHA‑1 ファイル名 検出名 説明
955BFC3DCC867256F9F46A606DEB0779FA3416D8 KX1B5206BDC1743DD.dat Win64/SprySOCKS.A 暗号化されたSprySOCKS DriverLoaderドライバー。
44DC4A08C5EB0972C8E18B0E01284E06F09006BB bthcam.sys Win64/Agent.ESB SprySOCKS DriverLoaderドライバー。
AB87B29B6F79487C75CA08D102E79001E536F083 KW1B5206BDC1743FP.dat Win64/SprySOCKS.A 暗号化されたSprySOCKS RawWNPFドライバー。
6490B8E4AADE25A3EE2DA9A47F312DB2122470BC X1B5206BDC1743DD.dat Win64/SprySOCKS.A SprySOCKSバックドアの暗号化されたWIN_DRVバリアントの暗号化コンテナ、暗号化されたSprySOCKS RawWNPFおよびSprySOCKS DriverLoaderドライバー。
E7484C24B88A1A2407A8F09D734F9A993670285B klelam00007.zip Win64/Agent.CXZ
Win64/SprySOCKS.A
BAT/Runner.KS
VirusTotalから取得したZIPアーカイブ。SprySOCKSのWIN_DRVバリアントとすべてのバックドアコンポーネントを含む。サイドローディングに使用されるクリーンなバイナリも同梱。
621D1952839BE4B0A1B0E66E87BCE5062CA368ED tpsvcloc.dll Win64/Agent.CXZ SprySOCKSローダー。
2457EED2AB28E37741F10914EF929DAD2C8079D4 VSPMsg.dll Win64/Agent.CXZ SprySOCKSローダーを起動する第1段階ローダー。
D2C706B1EAF662BF0CE124B5032F73ED84BDA24A N/A Win64/SprySOCKS.A SprySOCKSバックドアのWIN_PLUSバリアント。
5F3B87CEF56683D9A9E19186E0FD0D8019B559C4 N/A Win64/Agent.CXZ SprySOCKSローダー。
C793CA31E3F6628B5C8986146953BF66232E9A30 config.dat Win64/SprySOCKS.A SprySOCKSバックドアのWIN_PLUSバリアントとそのローダーの暗号化コンテナ。
037DB2445F3D72388CB2CF8510563148E5A184BE N/A BAT/Runner.KS SprySOCKSのWIN_DRVバリアントを持続させるバッチスクリプト。

注意: IPアドレスとドメインは、誤ってアクセスされないよう意図的に無効化(例:[.])されています。MISP、VirusTotal、SIEMなどの管理された脅威インテリジェンスプラットフォーム内でのみ、元の形式に戻してご利用ください。

翻訳元: https://gbhackers.com/sprysocks-windows-backdoor-uses-kernel/

ソース: gbhackers.com