新種マルウェア「Sryxen」、ヘッドレスブラウザでChromeの保護を回避

Sryxenマルウェアの概要

Windowsを標的とする新たな情報窃取型マルウェア「Sryxen」が、セキュリティコミュニティの注目を集めています。このマルウェアは、最新のブラウザ認証情報窃取技術と、高度な解析対策を兼ね備えています。マルウェア・アズ・ア・サービス(MaaS)として販売され、C++で記述された64ビットWindows向けSryxenは、ブラウザの秘密情報、Discordトークン、VPN、ソーシャルアカウント、暗号通貨ウォレットなどを標的とし、Telegram Bot APIを介してオペレーターにデータを送出します。

macOSのマルウェアがパスワードをフィッシングしてシステムキーチェーンを解除するのに対し、Windowsの窃取型マルウェアは、復号鍵をログインユーザーに紐付けるデータ保護API(DPAPI)に対処する必要があります。Sryxenはこのモデルを採用し、ユーザーコンテキストで実行してDPAPIで保護された素材を抽出し、さらにChromeの最新保護機能を処理するための新しい手口を重ねています。

Chromeの保護機能を回避する巧妙な手口

Sryxenの最も注目すべき機能は、Chrome 127のApp-Bound Encryption(ABE)をクッキーに対してバイパスする点です。GoogleのABEの変更は、クッキーの暗号化をChromeアプリケーション自体にバインドするように設計されており、SQLiteデータベースを読み取り、DPAPIを呼び出す従来の方式を破っていました。

マルウェアはブラウザ自動化を利用

Sryxenは、クッキーを直接復号するのではなく、リモートデバッグを有効にしたヘッドレスモードでChromeを起動し、WebSocket経由でDevToolsプロトコルを使用してChrome自身にクッキーを復号させます。Chromeの視点から見れば、これは正当なDevToolsリクエストを処理しているだけであり、攻撃者の視点から見れば、ABEキーを扱ったり、復号されたデータをディスクに書き込んだりすることなく、完全に復号されたクッキー値を受け取ることができます。

パスワードと資格情報の復号化

パスワードについては、SryxenはChromiumベースのブラウザで利用されているDPAPIとAES-256-GCMの確立されたチェーンに引き続き依存しています。マスターキーを「Local State」ファイルから抽出し、DPAPIプレフィックスを削除し、被害者のユーザーコンテキストでCryptUnprotectDataを呼び出します。「v10」または「v11」のプレフィックスが付いたパスワードblobはAES-256-GCMを使用して復号化され、レガシーフォーマットは直接DPAPI復号化にフォールバックします

FirefoxのサポートはMozillaのNSSライブラリを介して実装されており、プロファイル情報とキーデータベースを使用してlogins.jsonから保存された認証情報を回復します。インストールされたブラウザの検出は、マルチスレッドのファイルシステムウォークを通じて行われ、期待されるディレクトリ構造と設定ファイルによってChromiumおよびGeckoベースのアプリケーションを区別します。

Sryxenは、ブラウザを特定すると、パスワード、クッキー、履歴、自動入力データ、ブックマーク、さらにはプレーンテキストおよび暗号化された形式のDiscordトークンを収集します。Discordの特徴的な「dQw4w9WgXcQ」プレフィックス(「Never Gonna Give You Up」のYouTube IDへの皮肉な言及)は、暗号化されたトークンを識別するために使用され、その後、同じAES-256-GCMおよびマスターキーメカニズムを使用して復号化されます。

分析を困難にする高度な回避策

防御側において、Sryxenの作者は静的および動的分析を困難にするために多大な投資を行っています。この情報窃取型のコア窃取ロジックは、休止時にはXOR暗号化され、不正な命令で上書きされる関数内に存在します。ベクタ化された例外ハンドラー(VEH)は、実行がこれらの不正なオペコードにヒットした場合にのみこのコードを復号し、関数が戻るとブレークポイントベースのメカニズムを使用して再暗号化します。

これは、静的逆アセンブリではガベージのみが表示され、呼び出し間のメモリダンプでは暗号化されたバイトのみが明らかになり、アナリストがVEHハンドラーを慎重にステップ実行しない限り、ライブデバッグでさえ実際のコードのほとんどを見逃すことを意味します。PEBフラグの検査やKUSER_SHARED_SHARED_DATAを介したカーネルデバッガーの状態を含む6つの個別のアンチデバッグチェックは、さらに障壁を高めます。

しかし、これらの保護は完璧ではありません。XORキーは静的でバイナリに埋め込まれており、不正な命令バイトのパターンは認識可能であり、忍耐強いアナリストであれば、例外ハンドラーをシングルステップで実行することで復号されたコードを回復できます。アンチ仮想化は比較的脆弱で、Sysmonが実行されているかどうかのチェックに限定されています。

データ流出の手法と防御策

データ窃取が完了すると、Sryxenは収集したデータを%TEMP%\Sryxenの下に構造化されたフォルダツリーに保存します。そこでは、パスワード、クッキー、履歴、ブックマークのテキストファイルが、ソーシャルプラットフォーム、VPNクライアント、暗号通貨ウォレットおよび拡張機能のディレクトリとともに整理されます。そこから、PowerShellのCompress-Archiveコマンドを利用してディレクトリ全体をZIP圧縮し、curlを使用してアーカイブをsendDocument経由でTelegramボットにアップロードします

この「スマッシュ・アンド・グラブ」というデータ流出モデルは、永続性を持ちません。Sryxenは常駐しませんが、system()を使用してPowerShellとcurlを順次呼び出すことで、派手なプロセスアクティビティを生成します。これは、プロセス生成、コマンドライン引数、およびapi.telegram.orgへのアウトバウンド接続を監視する防御側にとって潜在的な利点となります。

企業にとって、Sryxenは2つの現実を浮き彫りにしています。ブラウザ中心の認証情報窃取は、プラットフォームの強化に対応して急速に進化しており、デバッグフラグ付きの不審なヘッドレスChromeの起動から、自動化されたPowerShellの圧縮とTelegramへのデータ流出まで、行動検出が依然として重要な防御線となることです


元記事: https://gbhackers.com/sryxen-malware/