
2025年3月17日、Microsoft は同社 Incident Response の研究者が、新しいリモートアクセス型のトロイの木馬(RAT)を発見し、「StilachiRAT」と名付けたことを発表しました。発見された「StilachiRAT」は、検出を回避し、ターゲット環境に留まり、機密データを盗み出す高度な手法が用いられているとのことです。
目次
StilachiRAT とは
RAT 機能を含む StilachiRAT のWWStartupCtrl64.dllモジュールの分析により、ブラウザーに保存されている資格情報、デジタルウォレット情報、クリップボードに保存されているデータ、システム情報など、さまざまな方法を使用してターゲットのシステムから情報を盗んでいることが明らかになりました。
Microsoft は、StilachiRAT が特定の脅威アクターや地理的位置に起因するものであるとはまだ特定していません。Microsoft の現在の認識に基づくと、このマルウェアは現時点では広範囲に配布されていないとのことです。
ステルス機能とマルウェア エコシステム内の急速な変化を考慮して、進化する脅威環境を監視、分析、報告する継続的な取り組みの一環として、これらの調査結果を共有することを目的に、今回の発表に至っています。
StilachiRAT のすべての主要機能に関する詳細な調査結果
システム偵察
オペレーティング システム (OS) の詳細、ハードウェア識別子、カメラの存在、アクティブなリモート デスクトップ プロトコル (RDP) セッション、実行中のグラフィカル ユーザー インターフェイス (GUI) アプリケーションなどの包括的なシステム情報を収集し、対象システムの詳細なプロファイリングを可能にします。
次の項目は、実行されるクエリの一部です。
- シリアルナンバー
- select * from win32_bios
- カメラ
- select * from win32_pnpentity where name like ‘%camera%’
- select * from win32_videocontroller where adapterram>4000000000
- OS / システム情報(サーバ、モデル、製造元)
- select * from Win32_OperatingSystem
- select * from Win32_ComputerSystem
さらに、マルウェアは、システムのシリアル番号と攻撃者の公開 RSA キーから派生した、感染したデバイス上の一意の ID を作成します。この情報は、レジストリの CLSID キーの下に保存されます。
デジタルウォレットをターゲットにスキャン
StilachiRAT は、Google Chrome ブラウザの特定の暗号通貨ウォレット拡張機能のリストをターゲットにしています。次のレジストリキーの設定にアクセスし、 20種類の異なる暗号通貨ウォレット拡張機能の設定データをスキャンします。
\SOFTWARE\Google\Chrome\PreferenceMACs\Default\extensions.settings
なおこのマルウェアは、以下の仮想通貨ウォレット拡張機能を標的としています。
暗号通貨ウォレット拡張機能名 | Chrome拡張機能識別子 |
Bitget Wallet (Formerly BitKeep) | jiidiaalihmmhddjgbnbgdfflelocpak |
Trust Wallet | egjidjbpglichdcondbcbdnbeeppgdph |
TronLink | ibnejdfjmmkpcnlpebklmnkoeoihofec |
MetaMask (ethereum) | nkbihfbeogaeaoehlefnkodbefgpgknn |
TokenPocket | mfgccjchihfkkindfppnaooecgfneiii |
BNB Chain Wallet | fhbohimaelbohpjbbldcngcnapndodjp |
OKX Wallet | mcohilncbfahbmgdjkbpemcciiolgcge |
Sui Wallet | opcgpfmipidbgpenhmajoajpbobppdil |
Braavos – Starknet Wallet | jnlgamecbpmbajjfhmmmlhejkemejdma |
Coinbase Wallet | hnfanknocfeofbddgcijnmhnfnkdnaad |
Leap Cosmos Wallet | fcfcfllfndlomdhbehjjcoimbgofdncg |
Manta Wallet | enabgbdfcbaehmbigakijjabdpdnimlg |
Keplr | dmkamcknogkgcdfhhbddcghachkejeap |
Phantom | bfnaelmomeimhlpmgjnjophhpkkoljpa |
Compass Wallet for Sei | anokgmphncpekkhclmingpimjmcooifb |
Math Wallet | afbcbjpbpfadlkmhmclhkeeodmamcflc |
Fractal Wallet | agechnindjilpccclelhlbjphbgnobpf |
Station Wallet | aiifbnbfobpmeekipheeijimdpnlpgpp |
ConfluxPortal | bjiiiblnpkonoiegdlifcciokocjbhkd |
Plug | cfbfdhimifdmdehjmkdobpcjfefblkjm |
資格情報の盗難
StilachiRAT は、ユーザーのディレクトリにあるローカル状態ファイルから Google Chrome の暗号化キーを抽出します。ただし、キーは Chrome が最初にインストールされたときに暗号化されているため、現在のユーザーのコンテキストに依存する Windows API を使用してマスター キーを復号化します。
これにより、パスワード ボールトに保存されている資格情報にアクセスできるようになります。保存されている資格情報は、次の場所から抽出されます。
*%LOCALAPPDATA%\\Google\\Chrome\\User Data\\Local State* – stores
暗号化されたキーを含む Chrome の設定データが保存されます。
*%LOCALAPPDATA%\\Google\\Chrome\\User Data\\Default\\Login Data* – stores
入力されたユーザー資格情報を保存します。
「ログイン データ」はSQLite データベースを使用して情報を保存し、マルウェアは次のクエリを使用して資格情報を取得します。
- SELECT origin_url, username_value, password_value FROM logins ORDER BY date_created DESC
コマンド アンド コントロール (C2)
C2 サーバーには 2 つのアドレスが設定されています。1 つは難読化された形式で保存され、もう 1 つはバイナリ形式 (通常の文字列ではなく) に変換された IP アドレスです。
- app.95560[.]cc
- 194.195.89[.]47
通信チャネルは、ランダムに選択された TCP ポート 53、443、または 16000 を使用して確立されます。
さらに、マルウェアはtcpview.exeの存在を確認し、存在する場合は続行しません。また、おそらく検出を回避するために、最初の接続を 2 時間遅らせます。接続されると、アクティブなウィンドウのリストがサーバーに送信されます。C2 通信機能に関する追加の技術的調査結果は、以下のセクションに記載されています。
永続性メカニズム
StilachiRAT は、Windows サービスとしても、スタンドアロン コンポーネントとしても起動できます。どちらの場合も、マルウェアが削除されないようにするメカニズムが採用されています。
ウォッチドッグ スレッドは、マルウェアが使用する EXE ファイルとダイナミック リンク ライブラリ (DLL) ファイルの両方を定期的にポーリングして、その存在を監視します。存在しないことがわかった場合は、初期化中に取得した内部コピーからファイルを再作成できます。最後に、関連するレジストリ設定を変更し、SCM を介して再起動することで、Windows サービス コンポーネントを再作成できます。
リモートデスクトップ監視
StilachiRAT は、フォアグラウンド ウィンドウ情報をキャプチャし、セキュリティ トークンを複製してユーザーになりすますことで、RDP セッションを監視します。これは、管理セッションをホストしている RDP サーバーでは特に危険であり、ネットワーク内での横方向の移動を可能にする可能性があります。
マルウェアは現在のセッションを取得し、フォアグラウンド ウィンドウをアクティブに起動するとともに、他のすべての RDP セッションを列挙します。識別されたセッションごとに、Windows エクスプローラー シェルにアクセスし、その権限またはセキュリティ トークンを複製します。その後、マルウェアは、新しく取得した権限を使用してアプリケーションを起動する機能を取得します。
データ収集
StilachiRAT は、ソフトウェアのインストール記録やアクティブなアプリケーションなど、さまざまなユーザー データを収集します。アクティブな GUI ウィンドウ、そのタイトル バーのテキスト、ファイルの場所を監視し、この情報を C2 サーバーに送信します。これにより、攻撃者はユーザーの行動を追跡できる可能性があります。
クリップボードの監視
StilachiRAT には、クリップボード データを監視する機能があります。具体的には、マルウェアは定期的にクリップボードを読み取り、検索式に基づいてテキストを抽出し、このデータを盗み出します。クリップボードの監視は継続的に行われ、パスワード、暗号通貨のキー、個人識別情報などの機密情報をターゲットにして検索します。
以下のリストには、特定の認証情報を抽出するために使用する通常の検索式が含まれています。これらは、アジア、特に中国で人気のある Tron 暗号通貨ブロックチェーンに関連しています。
資格情報 | 資格情報を抽出するための正規表現 |
TRX Address | \\bT[0-9a-zA-Z]{33}\\b |
TRX Key | \\b(0x)?[0-9a-fA-F]{64}\\b |
TRX Pass | ^\\s*\\b([0-9]*[.]*[a-wy-z][a-z]{2,}[ \\t]*\\b){12}\\s*(\\n\\$) |
TRX Pass | ^\\s*\\b([0-9]*[.]*?[a-wy-z][a-z]{2,}\\s*\\b){12}\\s*(\\n\\$) |
次に、同じ検索式を使用して、次の場所にあるファイルを反復処理します。
- %USERPROFILE%\Desktop
- %USERPROFILE%\Recent
フォレンジック対策
StilachiRAT は、イベント ログをクリアし、特定のシステム状態をチェックして検出を回避することで、アンチフォレンジック動作を示します。これには、マルウェア分析によく使用される仮想環境での完全なアクティブ化を防ぐ分析ツールとサンドボックス タイマーのループ チェックが含まれます。
さらに、Windows API 呼び出しは複数の方法で難読化されており、多くのテキスト文字列と値をエンコードするためにカスタム アルゴリズムが使用されます。これにより、より高レベルのロジックとコード設計を推定する作業がより複雑になるため、分析時間が大幅に遅くなります。
このマルウェアは、Windows API (例: RegOpenKey()) の使用を隠すことで、手動分析を妨害する API レベルの難読化技術を採用しています。API 名を直接参照するのではなく、実行時に動的に解決されるチェックサムとしてエンコードします。これはマルウェアでは一般的な手法ですが、作成者は難読化の層を追加しています。
事前に計算された API チェックサムは、それぞれ XOR 値でマスクされた複数のルックアップ テーブルに保存されます。
起動時に、マルウェアはハッシュされた API 名に基づいて適切なテーブルを選択し、正しい XOR マスクを適用して値をデコードし、対応する Windows API 関数を動的に解決します。解決された関数ポインターはキャッシュされますが、追加の XOR マスクが適用され、単純なメモリ スキャンで API 参照を識別できなくなります。
C2サーバーから起動されたコマンド
StilachiRAT は、C2 サーバーから受信したさまざまなコマンドを実行できます。これらのコマンドには、システムの再起動、ログの消去、資格情報の盗難、アプリケーションの実行、システム ウィンドウの操作が含まれます。さらに、システムのサスペンド、Windows レジストリ値の変更、開いているウィンドウの列挙も可能で、スパイ活動とシステム操作の両方に使用できる汎用性の高いコマンド セットであることがわかります。C2 サーバーのコマンド構造では、開始するコマンドに特定の番号が割り当てられます。
- ダイアログボックス
- Windows API 関数ShowHTMLDialogEx()を使用して、指定された URL からレンダリングされた HTML コンテンツを含むダイアログ ボックスを表示します。
- ログのクリア
- イベント ログの種類が指定されると、関連する Windows API を使用してログ エントリが開かれ、クリアされます。
- システムの再起動
- システムのシャットダウンを可能にするために自身の実行権限を調整し、文書化されていない Windows API を使用してアクションを実行します。
- ネットワークソケット
- C2 サーバーからネットワーク アドレスを受信し、新しい送信接続を確立する機能が含まれているようです。
- TCP 受信
- 指定された TCP ポートで着信ネットワーク接続を受け入れます。
- 終了
- 開いているネットワーク接続がある場合は、それを閉じて、このプロセスを制御する Windows サービスを無効にします。これは、自己削除 (アンインストール) コマンドのようです。
- アプリケーションを開始する
- マルウェアはコンソール ウィンドウを作成し、 WinExec() APIを使用して C2 オペレーターによって提供されたプログラムを起動するコマンドを開始します。
- ウィンドウを列挙する
- 現在のデスクトップのすべてのウィンドウを反復処理して、要求されたタイトル バー テキストを検索します。これにより、オペレーターは画面上とクリップボードの両方で特定の GUI アプリケーションとそのコンテンツにアクセスできるようになります。
- 一時停止
- SetSuspendState() APIを使用して、システムをサスペンド (スリープ) 状態または休止状態にします。
- Chrome 認証情報
- 前述の機能を起動して、Google Chrome のパスワードを盗みます。
緩和策
StilachiRAT のようなマルウェアは、さまざまな経路でインストールされる可能性があります。次の緩和策は、このタイプのマルウェアがシステムに侵入するのを防ぎ、攻撃対象領域を減らすのに役立ちます。
- 場合によっては、RAT が正規のソフトウェアやソフトウェアのアップデートを装うことがあります。ソフトウェアは常にソフトウェア開発者の公式 Web サイトまたは信頼できるソースからダウンロードしましょう。
- フィッシング サイト、詐欺サイト、マルウェアをホストするサイトなどの悪意のある Web サイトを識別してブロックするSmartScreenをサポートする Webブラウザを使用しましょう 。
- 悪意のあるドメインや電子メールの添付ファイルをブロックできるセキュリティ ソフトウェアを使用しましょう。
- StilachiRAT に関連する 既知のC2サーバー (app.95560[.]cc、194.195.89[.]47) をブロック 。
StilachiRAT などのマルウェアは、複数のベクトルを通じてインストールされる可能性があるため、最初の侵害を防ぐためにセキュリティ強化対策を実装することが重要です。 今一度、必要な対策が取られているか確認してみましょう。
参照
StilachiRAT analysis: From system reconnaissance to cryptocurrency theft