Winnti Group の新しいモジュラー バックドア PipeMon は、2020 年 2 月に発見されました。その主な標的は韓国と台湾のマルチプレイヤー オンライン ゲーム会社とビデオ会社であり、このマルウェアはサプライ チェーンに攻撃を仕掛ける可能性があります。攻撃者は、公開されたゲームにトロイの木馬を埋め込んだり、ゲームサーバーを攻撃したり、ゲーム通貨を使用して金銭的利益を得ることができます。 Winnti Group は 2012 年から活動を開始しており、ソフトウェア業界のサプライ チェーン攻撃をターゲットとしています。最近、ESET の研究者は香港のいくつかの大学を標的とした攻撃も発見しました。
PipeMon の 2 つの亜種が標的の企業で発見されました。PipeMon の最初の段階では、.rsrc に埋め込まれたパスワードで保護された実行可能ファイルを起動します。スタートアップ プログラムは、以下に示すように、自動生成されたディレクトリの setup0.exe に RARSFX を書き込み、パラメータを通じてパスワードを指定し、CreateProcess を使用して RARSFX を実行します。
setup0.exe -p*|T/PMR{|T2^LWJ*
各サンプルのパスワードは異なります。抽出された RARSFX コンテンツを %TMP%\RarSFX0 に設定します。
CrLnc.dat – 暗号化されたペイロード
Duser.dll – UAC bypass
osksupport.dll – UAC bypass
PrintDialog.dll – マルウェアの初期化
PrintDialog.exe – PrintDialog.dllをロードする正規のWindowsファイル
setup.dll – インストールdll
セットアップ. exe – メイン プログラム
フォルダー名に競合がある場合、RarSFX0 文字列の末尾の数字は競合がなくなるまで増分されます。ファイルを抽出した後、setup.exe はパラメータなしで実行され、LoadLibraryA を使用して setup.dll がロードされます。ロード後、setup.dll は「-x:n」の形式でパラメータをチェックします。n は動作モードによって異なります。サポートされているパラメータとそれに対応する動作を表 1 に示します。
RARSFX は引数なしで setup.exe を実行し、特権で実行されているかどうかを確認します。そうでない場合は、Windows のバージョンが Windows 7 ビルド 7601 より前であるかどうかをさらに確認します。条件が満たされる場合は、トークンの偽装がアクセス許可の取得に使用されます。それ以外の場合は、別の UAC バイパス手法を使用しようとし、ペイロードを次のいずれかにインストールします:
#攻撃者は、悪意のある DLL の場所をランダムに選択したわけではありません。setup.dll は、レジストリ値C:\Windows\System32\spool\prtprocs\x64\DEment.dll
C:\Windows\System32\spool\prtprocs\x64\EntAppsvc.dll
C:\Windows\System32\spool\prtprocs\x64\Interactive.dll
HKLM\SYSTEM\ControlSet001\ Control を設定することで、DLL ローダーを代替プリンタとして登録します。 \Print\Environments\Windows x64\Print Processors\PrintFiiterPipelineSvc\Driver = “DEment.dll”
HKLM\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Print Processors\lltdsvc1\ Driver = "EntAppsvc.dll"PrintFiiterPipelineSvc のタイプミスに注意してください (任意の名前を使用できるため、プリント プロセッサのインストールには影響しません)。
プリント プロセッサを登録した後、PipeMon は印刷スプーラ サービス (spoolsv.exe) を再起動し、悪意のある印刷プロセスをロードします。 PC が起動するたびに印刷スプーラー サービスが開始され、悪意のあるプログラムの永続化が保証されます。インストーラーに応じて、CrLnc.dat はレジストリ内の次の場所に書き込まれます:
HKLM\SOFTWARE\Microsoft\Print\Components\DC20FD7E-4B1B-4B88-8172-61F0BED7D9E8#PipeMonHKLM\SOFTWARE\Microsoft\Print\Components\A66F35-4164-45FF-9CB4-69ACAA10E52D
PipeMon の実行プロセス全体を次の図に示します。
メイン モジュール (ManagerMain および GuardClient) のロードを担当するローダーは、プリント プロセッサ ディレクトリにある Win32CmdDll.dll です。これらのモジュールは同じ場所に暗号化されて保存され、次のような名前が付けられます:
Banner.bmp
certificate.cert
License.hwp JSONDIU7c9djE D8JNCKS0DJE B0SDFUWEkNCj.logN.hwp は、韓国語のワープロ プログラムで使用される拡張子で、韓国で非常に人気があります。モジュールは R** によって暗号化されており、復号化キーは「Com!」です。 123Qasdz」は各モジュールにハードコーディングされています。 Win32CmDll.dll は、ManagerMain モジュールと GuardClient モジュールを復号化して挿入します。 ManagerMain モジュールは通信モジュールの復号化と挿入を担当し、GuardClient モジュールは通信モジュールが実行されていることを確認し、必要に応じてリロードします。以下の図は、PipeMon の動作の概要を示しています。
Win32CmDll.dll は、まず、lsass.exe、wininit.exe、または lsm.exe のいずれかの名前のプロセスに ManagerMain モジュールと GuardClient モジュールを挿入しようとします。それが失敗した場合、spoolsv.exe、ekrn.exe (ESET)、avp.exe (Kaspersky)、または dllhost.exe という名前のプロセスを除く、登録された Windows サービス プロセスの 1 つを挿入しようとします。他のすべてが失敗した場合は、taskhost.exe、taskhostw.exe、またはexplorer.exeのプロセスが試行されます。
専用のコマンドを使用して追加のモジュールをオンデマンドでロードできますが、まだ検出されていません。モジュールは名前付きパイプを介して通信します。各モジュール間の通信チャネルでは、送信用と受信用の 2 つの名前付きパイプが使用されます。
C&C サーバーから %CNC_DEFINED% 文字列を受信しました。変数 %B64_TIMESTAMP% は Base64 でエンコードされたタイムスタンプです:
通信モジュールが担当しますパイプを介した C&C サーバーと他のモジュール間の通信を管理するためのもので、その C&C アドレスは ManagerMain モジュールにハードコーディングされています。通信プロトコルは TLS over TCP で、HP-Socket ライブラリを介して処理されます。すべてのメッセージは、ハードコードされたキーを使用して R** 暗号化されます。転送コンテンツが 4KB 以上の場合、最初に zlib を使用して圧縮されます。
C&C サーバーとの通信を開始し、最初に次の情報を含むビーコン メッセージを送信します。
OS バージョン
連結された接続されたネットワーク アダプターの物理アドレス �4_TIMESTAMP%
被害者のローカル IP アドレス
バックドア バージョン/キャンペーン ID を使用し、次の値を確認しています
“1.1.1.4beat”
“1.1.1.4Bata”
“1.1.1.5”
被害者のコンピュータ名
サポートされるコマンドは次のとおりです。
攻撃者は、R** を 0x75E8EEAF をキーとする単純な XOR に置き換え、すべてのハードコードされた文字列を削除し、ランダムな値で名前を付けたモジュールを使用した PipeMon の更新バージョンも使用しました。 。メイン ローダーのみがファイルとしてディスクに保存され、更新されたモジュールについては次の表で説明します。
C&C 通信形式の変更:
バックドア構成は暗号化され、ローダー DLL に埋め込まれます。
PipeMon モジュールとインストーラーは両方とも同じ署名を使用しており、証明書は以前の攻撃で Winnti 組織によって盗まれた可能性があります。
以上がWinnti Group の新しいバリアント分析を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。