エクスプロイト&脆弱性
攻撃グループ「Water Sigbin」が多段階の感染プロセスを通して暗号資産マイナー「XMRig」を拡散
攻撃グループ「Water Sigbin」が脆弱性「CVE-2017-3506」や「CVE-2023-21839」を悪用して、暗号資産マイナー「XMRig」やローダ「PureCrypter」を配布する手口について、多段階ローディングの技術を中心に解説します。
- 攻撃グループ「Water Sigbin」は、標的システムの脆弱性「CVE-2017-3506」や「CVE-2023-21839」を突いてPowerShellスクリプトを実行し、暗号資産マイナーを配備する活動を続けています。
- 本グループは、DLLリフレクションやプロセスインジェクションといった「ファイルレス攻撃」の手口を利用し、マルウェアのコードをメモリ上で展開、実行します。これは、ディスクベースの検知回避を意図したものです。
- 本稿では、Water Sigbinが暗号資産マイナー「XMRig」やローダ「PureCrypter」を配布する手口について、「多段階ローディング」の技術を中心に解説します。
不正な暗号資産マイナーの展開を目論む攻撃グループ「Water Sigbin(別称:8220 Gang)」が、「Oracle WebLogicサーバ」への攻勢を強めています。前回の記事では、本グループがOracle WebLogicサーバの脆弱性「CVE-2017-3506」や「CVE-2023-21839」を突いて不正なPowerShellスクリプトを実行し、暗号資産マイナーを展開している旨を報告しました。
本稿では、Water Sigbinが暗号資産マイナー「XMRig」やローダ「PureCrypter」を配布する手口について、「多段階ローディング」の技術に焦点を当てて解説します。本攻撃で用いられるペイロードは、その全てがコード保護ツール「.Net Reactor」によって難読化され、さらにデバッグ妨害技術も組み込まれています。これは、防御側でのコード解析や内容の把握、処理の再現を阻止するための手口です。ペイロードの配布経路としては、先述の脆弱性「CVE-2017-3506」が利用されます。下図に、本事例で確認されたペイロードの例を示します。
技術分析
初期アクセス
Water Sigbinは、はじめに脆弱性「CVE-2017-3506」を不正利用し、標的システムにPowerShellスクリプト「bin.ps1」を配備します。本スクリプトは、自身に埋め込まれた第1段階用ペイロードを抽出してBase64でデコードし、これを感染端末内に保存した上で、起動します。前回の攻撃で使用されたスクリプトと比べ、今回のスクリプトは比較的単純な作りとなっています。
本スクリプトに埋め込まれた第1段階用ペイロードは、ローダ型マルウェアの一種であり、「wireguard2-3.exe」の名前で保存されます。この名前は、正規のVPNアプリケーション「WireGuard」に似せたものであり、ユーザやアンチウイルス製品の監視を回避する手段と考えられます。
第1段階用ローダ
ファイル「wireguard2-3.exe」はトロイの木馬型ローダであり、第2段階用ローダをメモリ上で復号、マッピング、起動します。具体的な動作として、下記リソースから別のバイナリを動的に取得して実行することで、第2段階用ローダ「Zxpus.dll」を展開します。
Chgnic.Properties.Resources.resources(Qtyocccmtの名前が付与されている)
この際、ファイルを介さずにメモリ上でDLLインジェクションを行うことで(反射型DLLインジェクション)、検知回避の性能を高めています。
第2段階用ローダ
本DLLもトロイの木馬型ローダであり、起動するとまず、リソースからバイナリ「Vewijfiv」を動的に取得し、これをAESアルゴリズムで復号します。復号時には、表3に示す鍵と初期ベクトルを使用します。次に、復号後のペイロードをGzipによって展開し、その内容を「protobuf-net」と呼ばれるツールによってデシリアライズします。結果として得られるデータは、ローダの設定情報に相当します。具体的には、作成対象プロセスの名前や、後続で用いるペイロードに関する情報が、暗号化状態で埋め込まれています。
第2段階用ローダは、下記パスの配下に新規プロセス「cvtres.exe」を作成します。
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\
「cvtres.exe」というファイル名も、正規のプロセスに扮したものとなります。この後、プロセスインジェクションの手口によって第3段階用ペイロードをメモリ上にロードし、当該の新規プロセスを起動します。
以降、プロセス「cvtres.exe」を介してローダ「PureCrypter」の読み込み処理が行われます。
第3段階用ローダ
第3段階用ローダは、Gzipによって別のDLLファイルを展開して読み込み、そのメイン関数を呼び出します。当該のDLLは、第4段階用ローダとして稼働する「PureCrypter」のバージョンV6.0.7Dに相当し、被害者情報をコマンドコントロール(C&C)サーバに送信する他、暗号資産マイナー「XMRig」を含む最終段階用ペイロードをダウンロードします。
第4段階用ローダ「PureCrypter」
本マルウェアは、起動するとまず、表6に示すミューテックス名やC&Cサーバなどの設定情報を復号します。さらに、自身のインスタンスが複数起動しないように、ミューテックス名に基づく排他制御を行います。
本マルウェアは、永続化のために自身のコピーを作成し、それが自動起動するようにタスクスケジューラを設定します。コピーファイルの保存先は下記の通りであり、フォルダ、ファイルとも隠し属性が付与されます。
C:\Users$USERNAME$\AppData\Roaming\Name\IsSynchronized.exe
このコピー版の起動用タスクに対しては、最高優先度が付与されます。起動開始のタイミングは、ユーザ・ログインかスタートアップ、またはタスク作成の15秒後であり、以降、3分から5分間隔毎(ランダム設定)に繰り返し再起動します。本タスクの登録先フォルダは、下記の通りです。
Microsoft\Windows\Name
さらに本マルウェアは、隠しタスクをランダムな名前で作成し、これによってPowerShellスクリプトを起動します。このスクリプトは、マルウェア固有のファイルやプロセスを、Windows Defenderの監視対象外リストに追加します。
タスク起動時の実行コマンドは下記の通りであり、Base64でエンコード済みのPowershellスクリプトが埋め込まれています。
Powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -NoProfile -enc QQBkAGQALQBNAHAAUAByAGU[... Base64でエンコードされた文字列 ...] aQB6AGUAZAAuAGUAeABlAA==
Base64でエンコードされた部分をデコードすることで、PowerShellスクリプトの内容を確認できます。
Add-MpPreference -ExclusionPath C:\Users\ USERNAME \AppData\Roaming\Name\IsSynchronized.exe,C:\Windows\Microsoft.NET\Framework64\v4.0.30319\AddInProcess.exe -Force;
Add-MpPreference -ExclusionProcess C:\Windows\Microsoft.NET\Framework64\v4.0.30319\AddInProcess.exe,C:\Users$USERNAME$\AppData\Roaming\Name\IsSynchronized.exe"
続いて本マルウェアは、C&Cサーバ「89.185.85[.]102:9091」に接続します。また、被害端末の識別用IDを生成するため、さまざまなハードウェア情報を収集して所定のフォーマットに変換し、そのMD5値を算出します。
当該フォーマットの構成を、下記に示します。
[プロセッサID]-[ディスクドライブのシグネチャ識別子]-[ディスクドライブのシリアル番号]- [マザーボードのシリアル番号]-[GPUの名称およびモデル]-[ユーザ名]
ハードウェア情報の収集処理に該当するコードを、下図に示します。
以上の他にも本マルウェアは、WMI(Windows Management Instrumentation)のクエリを用いてさまざまなシステム情報を収集します。具体例としてユーザ名、インストール済みのアンチウイルスソフトウェア、CPU関連の情報が挙げられます。こうした情報はオブジェクトクラスに格納され、バイト列としてシリアライズされた後、共通鍵方式の3DESアルゴリズムで暗号化されます。暗号鍵については、表6に挙げたミューテックス名のMD5値から算出されます。続いて、暗号化済みのシステム情報がC&Cサーバ側に送信されます。
下図に、暗号化されたシステム情報を含む初期通信データの内容を示します。
初期通信データの復号結果を、下図に示します。
被害端末がC&Cサーバに登録されると、今度はC&Cサーバから、XMRigの設定に関する暗号化メッセージが届きます。本メッセージには、プロセスのパラメータ、マイニングのプーリング用サーバ、プロセス名などの情報が含まれます。メッセージを受け取ったマルウェアは、その内容をレジストリに格納します。
C&Cサーバから届く暗号化メッセージを図21に、その復号結果を図22に示します。
当該メッセージの格納先レジストリキーを、下記に示します。
HKEY_CURRENT_USER\SOFTWARE<被害者ID><被害者IDのMD5ハッシュ値>
続いて本マルウェアは、暗号化状態のファイル「plugin3.dll」をダウンロードし、レジストリに格納します。格納先レジストリキーの名前は、当該ファイルのMD5ハッシュ値に基づいて定義されます。
PureCrypterは、暗号化状態のplugin3.dllを3DESアルゴリズムで復号した後、さらにGzipで展開します。
さらに本マルウェアは、「AddinProcess.exe」の名前でプロセスを新規作成します。この名前もまた、正規のプロセスに扮したものとなっています。続いて、プロセスインジェクションによってXMRigのペイロードをメモリ上にロードし、当該の新規プロセスを起動します。
最終段階のペイロードに相当する「XMRig」は、オープンソースの著名な暗号資産マイナーであり、複数のOSをサポートしています。本事例では、Oracle WebLogicの脆弱性が起因となって標的環境内にローダ「PureCrypter」が配備され、最終的にはXMRigがインストールされました。このXMRigが稼働すると、マイニング・ログインのリクエストがプーリングサーバ「217.182.205[.]238:8080」に送信されます。
送信されるログイン・リクエストの内容を、下図に示します。
- システムやソフトウェアの定期的なアップデート
- オペレーティングシステムやアプリケーション、システム用ファームウェアに最新のセキュリティ・パッチやアップデートを適用する
- 強固なアクセスコントロール
- 最小権限の原則に基づき、ユーザに対しては、業務上必要な権限のみを付与する
- 多要素認証(MFA:Multi-Factor Authentication)など、強力な認証ルールを導入する
- 定期的なセキュリティ監査
- ネットワークやシステムの脆弱性を定期的にチェックする
- セキュリティ・アウェアネスのトレーニング
- 従業員向けに、セキュリティ・ベストプラクティスに関する教育を継続的に実施する
Trend Vision One™のハンティング・クエリ
Trend Vision Oneの脅威ハンティングで有効な可能性のあるクエリとして、下記が挙げられます。
processName:"Microsoft.NET\Framework64" AND objectCmd:"--cpu-max-threads-hint"
確認された攻撃の手口
- F8044 - Temporary Binary File Execution via PowerShell:PowerShell経由で一時的なバイナリファイルを実行
- F2269 - File Delivery via PowerShell:PowerShell経由でファイルを配布
- F4193 - Executable Binary in PowerShell Memory:PowerShellのメモリ内に実行可能なバイナリを配置
- F8404 - Cross-Process Injection via CreateRemoteThread:関数「CreateRemoteThread」によるクロス・プロセスインジェクション
Workbenchの監視事項
- [Heuristic Attribute] Potential Information Gathering Behavior:[ヒューリスティック属性] 情報収集の可能性
- Cryptocurrency Mining Command Execution:暗号資産マイニング関連のコマンドを実行
- Potential Malicious PowerShell Activity Detected(PowerShellによる不正な活動の可能性)
トレンドマイクロの製品では、本稿で挙げた不正な活動や攻撃行為からシステムを保護する機能として、下記を提供しています。
- 1010550 - Oracle WebLogic WLS Security Component Remote Code Execution Vulnerability (CVE-2017-3506):Oracle WebLogicのWLSセキュリティコンポーネントにおけるリモートコード実行の脆弱性
- 1011716 - Oracle Weblogic Server Insecure Deserialization Vulnerability (CVE-2023-21839):Oracle WebLogic Serverの安全ではないデシリアライズに関する脆弱性
まとめ
攻撃グループ「Water Sigbin(別称:8220 Gang)」は、多段階に及ぶロード操作を駆使しながら、最終目的である暗号資産マイナー「XMRig」を標的システムに配備します。その過程では、脆弱性を持つOracle WebLogicサーバの不正利用を皮切りに、コードの難読化や.Net Reactorによるデバッグ妨害、暗号資産マイナーの配備に至るまで、さまざまな技術が行使されます。一連の手口は、本グループが展開する高度な戦略やテクニックを特徴付けるものです。こうした攻撃に対峙する上では、強固なセキュリティ対策を確立し、新たな脅威に対する警戒体制を維持することが特に重要です。
侵入の痕跡(IoC:Indicators of Compromise)
侵入の痕跡(IoC)はこちらで確認してください。
MITRE ATT&CK Techniques
MITRE ATT&CK Tactics and Techniquesはこちらで確認してください。
参考記事:
Examining Water Sigbin's Infection Routine Leading to an XMRig Cryptominer」
By: Ahmed Mohamed Ibrahim , Shubham Singh, Sunil Bharti
翻訳:清水 浩平(Core Technology Marketing, Trend Micro™ Research)