SOC Prime Bias: Alto

17 Jun 2026 13:03 UTC

Operazione Poisson: Analisi Completa di un’Intera Operazione Criminale Cibernetica

Author Photo
SOC Prime Team linkedin icon Segui
Operazione Poisson: Analisi Completa di un’Intera Operazione Criminale Cibernetica
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Riepilogo

Un attore di minaccia a bassa competenza noto come “Poisson” ha condotto una campagna di furto di credenziali a più stadi mirata a individui francesi e una piccola impresa. L’attaccante ha utilizzato Havoc C2, un keylogger Python personalizzato e ha costruito un accesso resiliente tramite OpenSSH e una rete VPN mesh di Tailscale. Questa configurazione ha permesso all’operatore di mantenere l’accesso anche dopo che l’infrastruttura di comando e controllo principale è stata interrotta.

Indagine

Cato CTRL ha condotto una revisione post-incidente approfondita che copre 33 giorni di attività dell’attaccante e 339 comandi registrati. L’indagine ha rivelato l’uso di servizi gratuiti come Backblaze B2, DuckDNS e IONOS, insieme a un design di persistenza destinato a sopravvivere ai takedown C2. I ricercatori hanno anche recuperato il playbook SSH dell’operatore e le chiavi SSH delle vittime, che erano state erroneamente esposte in un bucket di archiviazione pubblico.

Mitigazione

I difensori dovrebbero generare avvisi per l’implementazione del server OpenSSH sui workstations e monitorare l’attività VPN di Tailscale su sistemi dove non è prevista. Le organizzazioni devono anche rilevare tunnel inversi SSH e monitorare attività sospette pianificate che vengono eseguite con privilegi elevati. Un’efficace mitigazione deve andare oltre la rimozione dell’accesso C2 e includere l’eliminazione dei meccanismi di persistenza basati su mesh-VPN.

Risposta

Quando viene identificata questa attività, i team di sicurezza dovrebbero localizzare e smantellare immediatamente tutte le connessioni attive mesh di Tailscale o SSH. Gli investigatori dovrebbero esaminare tutte le attività pianificate e le scorciatoie di avvio per la persistenza non autorizzata. Si raccomanda fortemente un reset completo delle credenziali per tutti gli utenti, poiché l’uso di un keylogger crea un’alta probabilità di compromissione delle stesse.

graph TB %% Definizione delle classi classDef action fill:#99ccff classDef tool fill:#cccccc classDef malware fill:#ff9999 classDef persistence fill:#99ff99 classDef command_control fill:#ffcc99 %% Esecuzione iniziale e distribuzione del payload action_stager_exec[“<b>Azione</b> – <b>T1216.002 PowerShell: Interprete di comandi e script</b><br/>L’utente esegue lo stager VBScript sys.vbs per attivare<br/>l’esecuzione proxy degli script di sistema.<br/><b>File</b>: sys.vbs”] class action_stager_exec action malware_powershell_payload[“<b>Malware</b> – <b>T1216.002 PowerShell</b><br/>Payload PowerShell decriptato utilizzato per<br/>scaricare il malware principale.<br/><b>Tipo</b>: Stager/Downloader”] class malware_powershell_payload malware action_download_primary[“<b>Azione</b> – <b>T1105 Trasferimento di strumenti in ingresso</b><br/>Download dell’impianto malware principale<br/>tramite PowerShell.”] class action_download_primary action %% Offuscamento e caricamento malware_senti_dll[“<b>Malware</b> – <b>Nome</b>: senti.dll<br/><b>Tecniche</b>: T1027.009 Payload incorporati e T1027.015 Compressione<br/>Utilizza una codifica matrioska a cinque livelli per nascondere<br/>shellcode all’interno di parole inglesi in una DLL .NET.<br/><b>Obiettivo</b>: Esecuzione senza file”] class malware_senti_dll malware %% Escalation dei privilegi e persistenza action_uac_bypass[“<b>Azione</b> – <b>T1204 Esecuzione dell’utente</b><br/>Tentativo di escalation dei privilegi tramite<br/>Start-Process -Verb RunAs per generare richieste UAC.”] class action_uac_bypass action persist_task_admin[“<b>Persistenza</b> – <b>T1053 Attività pianificate/Job</b><br/>Creazione di TaskAdmin1 per eseguire lo stager<br/>con privilegi massimi durante l’accesso.”] class persist_task_admin persistence persist_startup_lnk[“<b>Persistenza</b> – <b>T1547.001 Esecuzione automatica all’avvio o accesso: Chiavi Registry Run / Cartella Startup</b><br/>Inserimento del collegamento sys.lnk nella cartella di avvio.”] class persist_startup_lnk persistence %% Furto di credenziali tool_keylogger[“<b>Strumento</b> – <b>Nome</b>: KeyL.zip<br/><b>Tecnica</b>: T1056.001 Acquisizione input: Keylogging<br/>Keylogger Python personalizzato di 70 righe<br/>per raccogliere credenziali bancarie e di posta elettronica.”] class tool_keylogger tool %% Comando e Controllo c2_havoc[“<b>Comando e Controllo</b> – <b>Nome</b>: Havoc Framework<br/>Framework principale di gestione C2.”] class c2_havoc command_control tool_rustdesk[“<b>Strumento</b> – <b>T1219 Software di accesso remoto</b><br/>RustDesk compilato personalizzato<br/>installato come accesso remoto ridondante.”] class tool_rustdesk tool %% Persistenza resiliente persist_ssh_tailscale[“<b>Persistenza</b> – <b>T1668 Controllo esclusivo</b><br/>Installa OpenSSH Server e si unisce a una rete VPN Tailscale<br/>per mantenere l’accesso dopo l’interruzione del C2.”] class persist_ssh_tailscale persistence action_ssh_tunnel[“<b>Azione</b> – <b>T1219.001 Tunneling IDE e T1572 Tunneling dei protocolli</b><br/>Utilizzo del tunnel SSH inverso ssh -R per mantenere<br/>un accesso diretto cifrato.”] class action_ssh_tunnel action %% Flusso delle connessioni action_stager_exec –>|esegue| malware_powershell_payload malware_powershell_payload –>|scarica| action_download_primary action_download_primary –>|carica| malware_senti_dll malware_senti_dll –>|attiva| action_uac_bypass action_uac_bypass –>|stabilisce| persist_task_admin action_uac_bypass –>|stabilisce| persist_startup_lnk malware_senti_dll –>|distribuisce| tool_keylogger malware_senti_dll –>|comunica_con| c2_havoc c2_havoc –>|distribuisce_ridondante| tool_rustdesk tool_rustdesk –>|porta_a| persist_ssh_tailscale persist_ssh_tailscale –>|utilizza| action_ssh_tunnel

Flusso di Attacco

Esecuzione della Simulazione

Requisito: Il Controllo Pre-volo di Telemetria & Base deve essere stato superato.

Razionale: Questa sezione dettaglia l’esecuzione precisa della tecnica avversaria (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrazione DEVONO riflettere direttamente i TTP identificati e mirare a generare l’esatta telemetria prevista dalla logica di rilevamento. Esempi astratti o non correlati porteranno a diagnosi errate.

  • Narrazione dell’Attacco & Comandi: L’avversario, simulando il gruppo “Poisson”, mira a stabilire un punto d’accesso remoto. Prima, allestisce un payload creando un file chiamato thales.zip in una directory temporanea. Per elevare i privilegi, esegue un comando PowerShell usando il RunAs verb, che è un metodo comune per attivare i prompt UAC. Infine, esegue rustdesk.exe per fornire un canale di comunicazione secondario con desktop remoto. Questa sequenza imita lo specifico modello comportamentale (elevazione UAC + RustDesk + file zip specifico) definito nella regola di rilevamento.

  • Script di Test di Regressione:

    # Script di Simulazione: Emulazione TTP di Poisson
    
    # 1. Allestire il file 'thales.zip' (richiesto dalla logica di rilevamento)
    $targetZip = "$env:TEMPthales.zip"
    New-Item -Path $targetZip -ItemType File -Force
    Write-Host "[+] Allestito $targetZip"
    
    # 2. Simulare il tentativo di Elevazione UAC tramite PowerShell (richiesto dalla logica di rilevamento)
    # Nota: Questo attiverà un prompt UAC in un ambiente reale.
    Write-Host "[+] Tentativo di Elevazione UAC tramite Start-Process -Verb RunAs..."
    Start-Process powershell.exe -ArgumentList "-Command Write-Host 'Elevazione Tentata'" -Verb RunAs
    
    # 3. Simulare l'esecuzione di RustDesk (richiesto dalla logica di rilevamento)
    # Creeremo un dummy rustdesk.exe nella cartella temp per attivare il rilevamento senza l'installazione reale
    $rustdeskPath = "$env:TEMPrustdesk.exe"
    New-Item -Path $rustdeskPath -ItemType File -Force
    Write-Host "[+] Esecuzione simulata di RustDesk in $rustdeskPath"
    Start-Process $rustdeskPath
  • Comandi di Pulizia:

    # Pulizia degli Artifatti della Simulazione
    Remove-Item -Path "$env:TEMPthales.zip" -Force -ErrorAction SilentlyContinue
    Remove-Item -Path "$env:TEMPrustdesk.exe" -Force -ErrorAction SilentlyContinue
    Write-Host "[+] Pulizia completata."