Operazione Poisson: Analisi Completa di un’Intera Operazione Criminale Cibernetica
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.
Flusso di Attacco
Rilevamenti
Possibile Servizio DNS Dinamico è stato Contattato (via dns)
Visualizza
Rilevazione di Furto di Credenziali e Hosting di Payload tramite Bucket Backblaze B2 [Windows Sysmon]
Visualizza
Accesso alla Rete Persistente tramite Tailscale VPN e SSH Tunnel Inverso [Connessione di Rete Windows]
Visualizza
Esecuzione del Framework C2 Havoc con PowerShell per Stabilire SSH Tunnel [Windows Powershell]
Visualizza
Escalation di Privilegi ed Esecuzione di Strumenti Remoti da Poisson [Creazione Processo Windows]
Visualizza
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.zipin una directory temporanea. Per elevare i privilegi, esegue un comando PowerShell usando ilRunAsverb, che è un metodo comune per attivare i prompt UAC. Infine, eseguerustdesk.exeper 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."