Cisco Japan Blog

情報窃取マルウェア Typhon Reborn V2 が機能を更新、分析回避機能と検出回避機能を強化

2 min read



  • 情報窃取マルウェア Typhon Reborn の開発者が 1 月にバージョン 2(V2)をリリースしました。このバージョンではコードベースの大幅な更新と機能の改良が行われています。
  • 特に注目される点として、この最新バージョンでは分析回避機能と仮想マシン(VM)回避機能が追加されています。その狙いは、検出を免れることと、分析を困難にすることです。
  • すでに Typhon Reborn V2 のサンプルが出回っており、売買事例も複数確認されているため、今後の攻撃で同マルウェアが使用される可能性は高いと Talos は考えています。
  • 現在、Typhon Reborn V2 はアンダーグラウンド フォーラムで月額 59 ドルで販売されていますが、540 ドルの買い切り料金(開発終了まで利用可能)も設けられています。競合の情報窃取マルウェアと比べて手頃な料金設定となっています。
  • Typhon Reborn V2 は機密情報を収集して盗み出す機能を備えており、窃取したデータを Telegram API によって攻撃者に送信します。

Typhon Reborn V2 のリリース

Typhon は 2022 年半ばに初めて公に報告popup_iconされた情報窃取マルウェアです。さまざまなアプリケーションから機密情報(暗号通貨ウォレットのデータなど)を窃取したり、指定された形式のファイルを「ファイルグラバー」で収集した後、それらの情報やデータを Telegram 経由で盗み出したりします。初めて確認されて以降、継続的に開発が進められ、わずか数か月後の 2022 年後半には Typhon Reborn がリリースされています。同マルウェアの開発者は 2023 年 1 月 31 日に、ロシア語の有名なダーク Web フォーラムである XSS 上で Typhon Reborn V2 のリリースを発表しました。公開リポジトリにアップロードされているサンプルから判断すると、この最新バージョンの Typhon Reborn は 2022 年 12 月から出回っているようです。

Typhon Reborn V2 のリリースを発表する投稿

Typhon Reborn の開発者によれば、最新バージョンではコードベースがリファクタリングされ、従来の機能が大幅に改良されているとのことです。この主張が事実であることを Cisco Talos は独自に確認しました。同マルウェアは月額 59 ドル、または 540 ドルの買い切り料金(開発終了まで利用可能)で購入でき、競合の情報窃取マルウェアと比べて手頃な料金設定となっています。料金の受け取りに使用されている暗号通貨ウォレットを分析すると、同マルウェアの利用権を複数の攻撃者が購入していることがうかがえます。このため、今後の攻撃で同マルウェアが使用される可能性は高いと考えられます。

Typhon Reborn V2 の重要な変更点

Talos の分析によると、Typhon Reborn V2 のコードは V1 から大幅に変更されています。

Typhon Reborn V1 から V2 へのコード変更

たとえば各バージョンに含まれている分析回避ルーチンを比較すれば明らかですが、V2 では分析回避機能と仮想マシン回避機能が顕著に増えています。また、指定された条件に一致するシステムへの感染を防ぐロジックに、いくつかの変更が加えられていました。その 1 つが、条件のリストに多くの項目が盛り込まれたことです。現在のユーザー名、CPUID、システムで実行されているアプリケーションとプロセス、デバッガ/エミュレーションのチェックのほか、位置情報データ(攻撃対象から外す国かどうか)も確認されるようになりました。

Typhon Reborn のバージョン間における分析回避ルーチンの比較

さらに、Talos が分析した Typhon Reborn V2 のサンプルでは、再起動後も永続性を維持する機能が開発者によって削除されていたようです。V2 では永続性が維持されず、データ窃取後に自身を強制終了するだけになっています。

Typhon Reborn V2 の分析

Typhon Reborn V2 では、分析を困難にするために文字列の難読化を行っています。その手法は、さまざまな文字列に対して Base64 エンコーディングを使用し、さらに XOR 関数を適用するというものです。同マルウェアは実行時に Base64 をデコードして、UTF-8 でエンコードされた文字列を生成します。その後、この文字列の難読化が XOR キーによって解除されます。XOR キーは同マルウェアの設定に保存されているか、DecryptString() にハードコーディングされています。使用される XOR キーは、関数の呼び出しごとに渡されるモードに応じて決まります。次に、返された文字列が再び Base64 からデコードされ、プレーンテキストの文字列が生成されます。その後、処理が継続されます。

文字列の難読化を解除する関数

Typhon Reborn V2 の処理を決定しているのは、同マルウェアの設定に保存されている一連のパラメータです。収集する情報、文字列の難読化解除に使用するキー、攻撃対象から外す国や地域がこれらのパラメータによって指定されています。

Typhon Reborn V2 の設定パラメータ

分析とサンドボックスの回避

Typhon Reborn V2 の main() メソッドが実行されると、同マルウェアの設定で分析回避機能が有効化されているかどうかの確認が行われます。有効化されている場合は、分析を回避するための一連のチェックが試行されます。これにより、同マルウェアが分析環境やサンドボックス環境で実行されているかを判断します。

分析を回避するためのチェック

いずれかのチェックでエラーが生じた場合、Typhon Reborn V2 は SelfRemove() クラスを呼び出して自身を削除します。処理としては、以下の内容のバッチファイルを一時ディレクトリに作成するというものです。

chcp 65001

TaskKill /F /IM [MALWARE_PID]

Timeout /T 2 /Nobreak

その後、Windows コマンドプロセッサによってこのバッチファイルが実行されると、Typhon Reborn V2 の実行が強制終了します。

自己削除機能

実行フローは分析を回避するためのさまざまなチェックからなり、全体像は以下のようになっています。

分析回避プロセスのフロー

Typhon Reborn V2 は Windows Management Instrumentation(WMI)を使用して、標的システム上のグラフィック処理ユニット(GPU)に関する情報を取得します。

SELECT * FROM Win32_VideoController

次に、返された値に「vmware svga」という文字列が含まれているかを確認します。

続いて、以下の URL に HTTP 要求を行います。この要求の目的は、ホスティングプロバイダー、コロケーション施設、またはデータセンター環境に関連付けられたネットワークに標的システムが属しているかを確認することです。要求を受信した API は、標的システムの場所に基づいて「True」か「False」の応答を返します。この応答を基に、標的システムの属する環境の種類が判断されます。

hxxp://ip-api[.]com/line/?fields=hosting

次のチェックでは、一般的なセキュリティ製品に関連する以下の DLL があるかを確認します。標的システムにこれらの製品がインストールされている可能性があるからです。

  • SbieDLL.dll(Sandboxie)
  • SxIn.dll(360 Total Security)
  • Sf2.dll(Avast)
  • Snxhk.dll(Avast)
  • cmdvrt32.dll(Comodo Internet Security)

また、Typhon Reborn V2 は、標的システムの製造元とモデルの情報を以下のクエリによって WMI 経由で取得します。

Select * from Win32_ComputerSystem

取得した情報に、ハイパーバイザ関連の以下の文字列が含まれているかがチェックされます。

  • VIRTUAL
  • vmware
  • VirtualBox

標的システムのビデオコントローラに関する情報を収集する際にも WMI が利用されます。

SELECT * FROM Win32_VideoController

続いて、収集した情報に「VMware」または「VBox」という文字列が含まれているかがチェックされます。

Typhon Reborn V2 は次に、CheckRemoteDebuggerPresent を使用して、プロセスがデバッグ中かどうかを確認します。

その後、現在のシステム時刻を取得し、短時間(10 ミリ秒)のスリープを開始した後、システム時刻を再取得します。2 つのシステム時刻の差分を、通常動作時に予想される差分と比較することで、プロセスがデバッグセッションで実行中かどうかを判断します。

次に、Typhon Reborn V2 の初回起動時に使用されたコマンドライン引数が取得されます。detonate.exe というファイル名を使用してそのサンプルが実行されたのか、それとも、初回実行時に -–detonate という引数が渡されたのかを判断することが目的です。

また、同マルウェアは Windows レジストリ(SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall)をチェックし、以下の一般的な分析ツールを参照するサブキーがないかを確認します。

  • dnSpy
  • PDFStreamDumper
  • Ghidra
  • Wireshark
  • Autoruns
  • x64dbg
  • HashCalc
  • Process Hacker
  • FileInsight
  • Process Monitor

次に、WMI に以下のクエリを行い、標的システムのプロセッサ ID(CPUID)を取得します。

Select ProcessorId From Win32_Processor

続いて、取得した CPUID が以下の CPUID リストに含まれているかを確認します。含まれている場合、Typhon Reborn V2 は実行されません。

  • 4AB2DFCCF4
  • BFEBFBFF000906E9
  • 078BFBFF000506E3
  • 078BFBFF00000F61
  • 178BFBFF00830F10
  • 0F8BFBFF000306C1

また、どのユーザーアカウントの下で同マルウェアが実行されているかという点もチェックします。ユーザー名が以下の値に一致する場合には、強制終了を行います。

  • IT-ADMIN
  • sand box
  • Abby
  • Paul Jones
  • maltest
  • WDAGUtilityAccount
  • WALKER
  • malware
  • Frank
  • Sandbox
  • virus
  • fred
  • timmy
  • John Doe
  • JOHN-PC
  • tim
  • Emily
  • Lisa
  • vboxuser
  • CurrentUser
  • John
  • sandbox
  • test
  • Peter Wilson
  • TVM

続いて Typhon Reborn V2 は、標的システムで実行されているプロセスのリストを取得した上で、それらのプロセスに関連する実行ファイルのパスを以下の実行ファイル名リストと突き合わせます。以下の実行ファイル名は、一般的な分析ツールと関連があるとされているものです。

  • ollydbg.exe
  • idaq64.exe
  • processhacker.exe
  • immunitydebugger.exe
  • tcpview.exe
  • wireshark.exe
  • autoruns.exe
  • dumpcap.exe
  • de4dot.exe
  • hookexplorer.exe
  • ilspy.exe
  • lordpe.exe
  • dnspy.exe
  • petools.exe
  • autorunsc.exe
  • resourcehacker.exe
  • filemon.exe
  • x32dbg.exe
  • procmon.exe
  • x64dbg.exe
  • regmon.exe
  • fiddler.exe
  • idaq.exe

Typhon Reborn V2 は次に、http://www.google.com に HTTP 要求を行い、インターネット接続のテストを試行します。

その後、実行環境の情報を再取得し、ファイル名が以下のいずれかに一致するかを確認します。

  • detonate
  • virus
  • test
  • malware
  • maltest

次のチェックでは、Windows のスタートメニューの「プログラム」サブディレクトリに以下の分析ツールがあるかを確認します。

  • dnspy
  • x86dbg
  • detect it easy
  • ghidra
  • die
  • ida
  • procmon
  • fiddler
  • process monitor
  • scylla
  • process hacker
  • winhex
  • ilspy
  • hxd
  • x64dbg
  • de4dot

続いて Typhon Reborn V2 は、分析環境で Winepopup_icon が使用されているかを確認するために wine_get_unix_file_name 関数を検索します。

次に、SYSTEM_CODEINTEGRITY_INFORMATION 構造体をチェックして、署名なしのドライバやテスト署名済みのドライバが標的システム上で許可されているか(CODEINTEGRITY_OPTION_ENABLED、CODEINTEGRITY_OPTION_TESTSIGN)を確認します。

さらに、SYSTEM_KERNEL_DEBUGGER_INFORMATION 構造体をチェックして、カーネルモードのデバッグが有効化されているか(KernelDebuggerEnabled)を確認します。

その後、標的システム上の各種 DLL に、分析用の環境であることをうかがわせる指示がないかを確認します。

また、Typhon Reborn V2 には、一部の国や地域を標的から外すためのメカニズムが 2 つ備わっています。1 つ目のメカニズムは、特定の国にあるシステムへの感染を回避したい場合に、その国をリストとして設定の中で指定できるというものです。同マルウェアでは IP-API サービスを利用して標的システムの位置を特定し、攻撃者が指定した国名リストと比較して確認しています。

IP の位置情報チェック

標的システムがリスト内の国のいずれかにある場合、Typhon Reborn V2 は先述の SelfRemove() 機能を呼び出します。

同マルウェアには RunAntiCIS() という機能もあります。これは、独立国家共同体(CIS)諸国にあるシステムへの感染を回避することに特化した機能です。

CIS 諸国の回避

システムとネットワークに関するデータの収集

分析を回避するためのすべてのチェックにおいて標的の環境に問題はないと判断された場合、Typhon Reborn V2 は機密情報の収集と窃取に着手します。まず、ランダムな名前のサブディレクトリを %LOCALAPPDATA% に作成した後、自身のログの生成を開始します。このログは最終的に、作成済みのサブディレクトリに移動され、データ窃取に利用されます。

Typhon Reborn V2 はログを生成するために、感染先のシステムに関する調査情報を取得し、ログに書き込みます。収集されるシステム情報は、ユーザーデータ、システムデータ、ネットワーク情報などさまざまです。収集の手法も多様であり、WMI クエリや環境変数、レジストリキーなどが用いられています。同マルウェアは api[.]ipify[.]org を使用して感染先のシステムのパブリック IP を取得します。この情報は、同マルウェアの作業ディレクトリに保存されます(UserData.txt)。作業ディレクトリには、マルウェア開発者の Telegram チャンネルが記載されたテキストファイル(BuildID.txt)も入っています。また、インストール済みソフトウェアのリストが WMI を介して作成され、保存されます(InstalledSoftwares.txt)。標的システム内にあるハードドライブのリストも同様に保存されます(Drive Info.txt)。

Typhon Reborn V2 はさらに、感染先のシステムのスクリーンショットをキャプチャして、自身のログが格納されているのと同じディレクトリに保存します。

スクリーンショットのキャプチャ

また、以下のシステムコマンドを使用して、保存済みの Wi-Fi ネットワーク情報を収集して保存します(Wifi Passwords.txt)。

cmd.exe /C chcp 65001 && netsh wlan show profile | findstr All

cmd.exe /C timeout /t 5 /nobreak > nul && netsh wlan show profile name=<PROFILE_NAME> key=clear | findstr Key

さらに、利用可能なワイヤレスネットワークのスキャンを試行し、検出されたネットワークに関する情報を保存します(Available Networks.txt)。

cmd.exe /C timeout /t 5 /nobreak > nul && netsh wlan show networks mode=bssid

この他に、実行中のプロセスと、プロセスの実行ファイルのパスがリストの形で収集され、保存されます(Running Processes.txt)。

アプリケーションデータの収集

基本的なシステム情報の収集と保存が完了すると、Typhon Reborn V2 は設定を基に、特定のアプリケーションを反復処理してデータを収集する作業を開始します。現時点では、以下のアプリケーションからパスワードやトークンなどの機密情報が収集されるようになっています。

Typhon Reborn V2 でサポートされているアプリケーション

ゲームクライアント

Typhon Reborn V2 は、各種ゲームクライアントなど、上記以外のアプリケーションからもデータを窃取できます。ただし、Talos が分析した同マルウェアの最新バージョンでは、この機能が main() メソッドから呼び出された事例は 1 つもありませんでした。

同マルウェアには、標的の環境から目的のファイルを収集して窃取するために使用される FileGrabber() 機能も備わっています。この機能は、システム上で検出されたすべてのドライブを反復処理し、リムーバブル ストレージ デバイス、ネットワーク上のストレージ、光学式ドライブがないかを確認します。

ドライブの列挙

この条件に合う各ドライブのルートディレクトリが、標的ディレクトリのリストに追加されます。その後、Typhon Reborn V2 は標的ディレクトリのすべてを反復処理し、同マルウェアの設定に記載されているパラメータと一致するコンテンツを作業ディレクトリにコピーします。

設定に定義されている Config.GrabberSize と Config.GrabberFileExtensions という 2 つのパラメータによって、ファイル収集機能の処理が決定されます。

ファイルグラバーの設定パラメータ

データの窃取

Typhon Reborn V2 は感染先のシステムからの情報収集を完了すると、収集データを圧縮アーカイブに保存した上で、Telegram API によって HTTPS 経由で盗み出します。最初に、概要ログ(調査情報と、収集データに関する基本的な統計情報が記載されたもの)を送信します。

Typhon Reborn V2 のログの送信

次に、感染先のシステムから窃取したデータが記載されている別の Telegram メッセージを送信します。

データの窃取

攻撃者の手にデータが無事に渡ると、アーカイブは感染先のシステムから削除されます。その後、Typhon Reborn V2 は SelfRemove.Remove() を呼び出して実行を強制終了します。

カバレッジ

今回の脅威は、以下の製品で検出してブロックすることが可能です。

Cisco Secure Endpoint(旧 AMP for Endpoints)は、この記事で説明したマルウェアの実行を阻止するのに最適です。Cisco Secure Endpoint の無料トライアルはこちらからpopup_iconお申し込みください。

Cisco Secure Web Appliance の Web スキャンは、悪意のある Web サイトへのアクセスを防止し、上述したような攻撃で使用されるマルウェアを検出します。

Cisco Secure Email(旧 E メールセキュリティ)は、攻撃の一環として攻撃者が送りつける不正な電子メールをブロックします。Cisco Secure Email の無料トライアルはこちらからお申し込みください。

Threat Defense Virtual適応型セキュリティアプライアンスMeraki MX など、Cisco Secure Firewall(旧次世代ファイアウォールおよび Firepower NGFW)アプライアンスは、この脅威に関連する悪意のあるアクティビティを検出できます。

Cisco Secure Malware Analytics(Threat Grid)は、悪意のあるバイナリを特定し、シスコのすべてのセキュリティ製品に保護機能を組み込みます。

Umbrella(シスコのセキュア インターネット ゲートウェイ(SIG))は、社内ネットワークの内外で悪意のあるドメイン、IP、URL への接続をブロックします。Umbrella の無料トライアルはこちらからpopup_iconお申し込みください。

Cisco Secure Web Appliance(旧 Web セキュリティアプライアンス)は、危険性のあるサイトを自動的にブロックし、ユーザーがアクセスする前に疑わしいサイトを検査します。

特定の環境および脅威データに対する追加の保護機能は、Firewall Management Center から入手できます。

Cisco Duopopup_icon は、ユーザーに多要素認証を提供し、承認されたユーザーのみがネットワークにアクセスできるようにします。

オープンソースの Snort サブスクライバルールセットをお使いであれば、Snort.orgpopup_icon で購入可能な最新のルールパックをダウンロードすることで、最新状態を維持できます。

この脅威を検出する Snort SID は、61532 ~ 61533 と 300476 です。

Orbital クエリ

Cisco Secure Endpoint ユーザーは、Orbital Advanced Searchpopup_icon を使用して複雑な OSquery を実行し、エンドポイントが特定の脅威に感染しているかどうかを確認できます。類似の脅威に対応する osquery の具体例については、こちらpopup_iconをクリックしてください。

侵入の痕跡(IOC)

この調査の IOC は、こちらpopup_iconの GitHub リポジトリでも提供しています。

 

本稿は 2023 年 04 月 04 日に Talos Grouppopup_icon のブログに投稿された「Typhon Reborn V2: Updated stealer features enhanced anti-analysis and evasion capabilitiespopup_icon」の抄訳です。

 

コメントを書く