Dentro SafePay: Analisi del Nuovo Gruppo Centralizzato di Ransomware
Detection stack
- AIDR
- Alert
- ETL
- Query
Sommario
SafePay è un’operazione ransomware recentemente emersa che sembra essere gestita come un gruppo centralizzato e controllato piuttosto che come un tipico ecosistema di Ransomware-as-a-Service. Gli attori seguono una strategia di doppia estorsione, preparando dati sensibili prima della crittografia e minacciando la pubblicazione tramite un sito di leak basato su Tor. La consegna di solito coinvolge una DLL nativa di Windows, con esecuzione e propagazione supportate da utilità living-off-the-land ampiamente disponibili. Nei casi osservati, la timeline end-to-end è aggressiva, comprimendo spesso l’accesso iniziale attraverso la crittografia dell’intero ambiente in una finestra di circa 24 ore.
Indagine
I ricercatori riportano che SafePay spesso garantisce l’accesso tramite account VPN o RDP esposti utilizzando credenziali rubate o indovinate, e in alcuni scenari sfrutta implementazioni FortiGate mal configurate—particolarmente in ambienti privi di MFA. Per la persistenza, sono stati osservati gli operatori nel distribuire backdoor come QDoor e sfruttare strumenti di amministrazione remota legittimi, inclusi ScreenConnect, per integrarsi con le attività IT normali. Il movimento laterale è tipicamente guidato attraverso PsExec e WinRM, mentre la scoperta di host e condivisioni è supportata da un’utility PowerShell personalizzata (ShareFinder.ps1). Prima della crittografia, il payload esegue azioni “pre-ransom” progettate per massimizzare l’impatto e ostacolare il recupero: rimuove copie shadow, altera le impostazioni di configurazione del boot e termina un set di processi e servizi legati alla sicurezza.
Mitigazione
Richiedere MFA su tutti i percorsi di accesso remoto e ridurre il rischio del firewall limitando l’autenticazione degli account locali e restringendo l’esposizione amministrativa. Monitorare l’uso anomalo di PsExec, WinRM, regsvr32 e rundll32—soprattutto in sequenze consistenti con l’esecuzione remota e la messa in scena. Regolare rilevamenti endpoint per rilevare la terminazione di strumenti di sicurezza comuni, l’eliminazione di copie shadow e le modifiche alle impostazioni BCD/boot. Ridurre le opportunità di esecuzione bloccando o controllando rigorosamente il caricamento di DLL non firmate e applicando politiche di controllo delle applicazioni tra endpoint e server.
Risposta
Quando vengono identificati indicatori di SafePay, isolare immediatamente i sistemi interessati, acquisire memoria volatile e preservare i log rilevanti di autenticazione, endpoint e rete. Identificare e bloccare l’infrastruttura di comando e controllo associata, poi terminare i processi malevoli e rimuovere i meccanismi di persistenza. Tentare azioni di recupero come il ripristino delle copie shadow dove possibile, ma supporre che possa essersi verificato un furto di dati e convalidare l’ambito dell’esfiltrazione. Completare una revisione forense completa per determinare i dati impattati ed eseguire notifiche e passaggi di escalation agli stakeholder in linea con le procedure di risposta alla doppia estorsione.
“graph TB %% Class definitions classDef technique fill:#99ccff classDef tool fill:#ffcc99 classDef operator fill:#ff9900 %% Initial Access tech_valid_accounts[“<b>Tecnica</b> – T1078 Account Validi<br />Gli avversari utilizzano credenziali rubate o ottenute tramite brute-force per accedere a VPN o RDP”] class tech_valid_accounts technique tech_brute_force[“<b>Tecnica</b> – T1110 Forza Bruta<br />Indovinare password per ottenere credenziali valide”] class tech_brute_force technique tool_vpn[“<b>Strumento</b> – Gateway VPN”] class tool_vpn tool tool_rdp[“<b>Strumento</b> – Servizio RDP”] class tool_rdp tool op_and_access((“AND”)) class op_and_access operator %% Execution tech_regsvr32[“<b>Tecnica</b> – T1218.010 Regsvr32<br />Carica DLL dannose tramite registrazione”] class tech_regsvr32 technique tech_rundll32[“<b>Tecnica</b> – T1218.011 Rundll32<br />Esegue codice da una DLL”] class tech_rundll32 technique tech_powershell[“<b>Tecnica</b> – T1059.001 PowerShell<br />Esegue comandi PowerShell post-deployment”] class tech_powershell technique tech_cmd[“<b>Tecnica</b> – T1059.003 Command Shell<br />Esegue istruzioni del terminale Windows”] class tech_cmd technique op_and_execution((“AND”)) class op_and_execution operator %% Persistence tech_boot_autostart[“<b>Tecnica</b> – T1547.010 Esecuzione in Avvio o Accesso<br />DLL registrata con Regsvr32 per persistenza”] class tech_boot_autostart technique tech_appinit[“<b>Tecnica</b> – T1546.010 DLLs AppInit<br />Carica DLL dannose all’avvio del sistema”] class tech_appinit technique op_and_persistence((“AND”)) class op_and_persistence operator %% Discovery tech_share_discovery[“<b>Tecnica</b> – T1135 Scoperta Condivisioni di Rete<br />ShareFinder.ps1 enumera le condivisioni SMB”] class tech_share_discovery technique %% Lateral Movement tech_psexec[“<b>Tecnica</b> – T1021.002 PsExec<br />Esegue comandi su condivisioni amministrative SMB”] class tech_psexec technique tech_rdp_lm[“<b>Tecnica</b> – T1021.001 Servizi Remoti RDP<br />Usa RDP per movimento laterale”] class tech_rdp_lm technique tech_deploy_tools[“<b>Tecnica</b> – T1072 Strumenti di Distribuzione Software<br />Sfrutta le utilità di distribuzione per eseguire comandi su host remoti”] class tech_deploy_tools technique op_and_lateral((“AND”)) class op_and_lateral operator %% Evasione Difensiva tech_service_stop[“<b>Tecnica</b> – T1489 Arresto Servizio<br />Termina i servizi antivirus o di backup”] class tech_service_stop technique tech_inhibit_recovery[“<b>Tecnica</b> – T1490 Inibire il Recupero del Sistema<br />Cancella istantanee VSS e modifica configurazione di avvio”] class tech_inhibit_recovery technique tech_cmstp[“<b>Tecnica</b> – T1548.002 Bypass UAC tramite CMSTP<br />Usa CMSTP per eseguire codice con diritti elevati”] class tech_cmstp technique op_and_evasion((“AND”)) class op_and_evasion operator %% Raccolta & Esfiltrazione tech_winrar[“<b>Tecnica</b> – T1560.001 Archiviazione tramite WinRAR<br />Crea archivi .rar criptati dei dati raccolti”] class tech_winrar technique tech_lateral_transfer[“<b>Tecnica</b> – T1570 Trasferimento Strumenti Laterale<br />Sposta file di archivio tra host compromessi”] class tech_lateral_transfer technique tech_ingress_transfer[“<b>Tecnica</b> – T1105 Trasferimento Strumenti in Ingresso<br />Carica archivi su server esterno”] class tech_ingress_transfer technique op_and_collection((“AND”)) class op_and_collection operator %% Impatto tech_encrypt_impact[“<b>Tecnica</b> – T1486 Dati Cifrati per Impatto<br />Cripta file con AES/ChaCha20 e archivia le chiavi con RSA/x25519”] class tech_encrypt_impact technique %% Comando e Controllo tech_encrypted_c2[“<b>Tecnica</b> – T1573.001 Canale Cifrato Criptografia Simmetrica<br />Protegge il traffico C2 con crittografia”] class tech_encrypted_c2 technique %% Flow connections %% Initial Access flow tech_brute_force u002du002d>|porta a| tech_valid_accounts tech_valid_accounts u002du002d>|usa| tool_vpn tech_valid_accounts u002du002d>|usa| tool_rdp tech_valid_accounts u002du002d>|abilita| op_and_access op_and_access u002du002d>|porta a| tech_regsvr32 op_and_access u002du002d>|porta a| tech_rundll32 op_and_access u002du002d>|porta a| tech_powershell op_and_access u002du002d>|porta a| tech_cmd op_and_access u002du002d>|abilita| op_and_execution op_and_execution u002du002d>|abilita| tech_boot_autostart op_and_execution u002du002d>|abilita| tech_appinit op_and_execution u002du002d>|abilita| op_and_persistence op_and_persistence u002du002d>|porta a| tech_share_discovery tech_share_discovery u002du002d>|abilita| op_and_lateral op_and_lateral u002du002d>|usa| tech_psexec op_and_lateral u002du002d>|usa| tech_rdp_lm op_and_lateral u002du002d>|usa| tech_deploy_tools op_and_lateral u002du002d>|abilita| op_and_evasion op_and_evasion u002du002d>|usa| tech_service_stop op_and_evasion u002du002d>|usa| tech_inhibit_recovery op_and_evasion u002du002d>|usa| tech_cmstp op_and_evasion u002du002d>|abilita| op_and_collection op_and_collection u002du002d>|usa| tech_winrar op_and_collection u002du002d>|usa| tech_lateral_transfer op_and_collection u002du002d>|usa| tech_ingress_transfer op_and_collection u002du002d>|porta a| tech_encrypt_impact tech_encrypt_impact u002du002d>|supporta| tech_encrypted_c2 “
Flusso dell’Attacco
Rilevamenti
Esecuzione Bcdedit Sospetta (tramite cmdline)
Visualizza
Possibile Preparazione Pre-Crittografia di PowerShell (RunAs + Inibizione del Recupero) (tramite powershell)
Visualizza
Possibile Movimento Laterale tramite PsExec o Simile (tramite audit)
Visualizza
Esecuzione Comandi WMI Usando Gestione Remota di Windows (tramite cmdline)
Visualizza
Attività VSSADMIN Sospetta (tramite cmdline)
Visualizza
PsExec Avviato da Genitore nello Spazio Utente nelle Cartelle Pubbliche (tramite process_creation)
Visualizza
IOC (Email) da rilevare: All’interno di SafePay: Analisi del Nuovo Gruppo di Ransomware Centralizzato
Visualizza
Esecuzione Ransomware SafePay tramite PsExec e Esecuzione DLL [Creazione Processo Windows]
Visualizza
Accesso Iniziale di SafePay tramite Credenziali Compromesse e FortiGate Mal Configurato [Firewall]
Visualizza
File Crittografati Ransomware SafePay con Estensione .safepay [Evento File Windows]
Visualizza
Esecuzione della Simulazione
Prerequisito: Il Controllo di Telemetria & Baseline Pre-flight deve essere superato.
Motivazione: Questa sezione dettaglia l’esecuzione precisa della tecnica avversaria (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrativa DEVONO riflettere direttamente i TTP identificati e mirare a generare la telemetria esatta prevista dalla logica di rilevamento.
-
Narrativa dell’Attacco & Comandi:
Un avversario con credenziali di Amministratore di Dominio compromette una macchina di pivot e utilizza PsExec per lanciare un remotocmd.exesu un host secondario (TARGET_IP). Immediatamente dopo aver stabilito la shell remota, l’attaccante trasferisce una DLL malevola (malicious.dll) sull’host remoto e la carica usando regsvr32.exe (alternativamente rundll32.exe) per eseguire il payload ransomware. La sequenza produce due eventi distinti di creazione di processo che soddisfano la regola Sigma: un processo PsExec con la linea di comando esatta e un successivo processo di caricamento DLL. -
Script di Test di Regressione:
# ------------------------------------------------------------------------- # Simulazione Ransomware SafePay – PsExec + Regsvr32 # ------------------------------------------------------------------------- # Prerequisiti: # - PsExec.exe nella directory corrente o in PATH # - Una DLL malevola chiamata malicious.dll posizionata nella stessa cartella # - Credenziali di amministratore del dominio valide (sostituire i segnaposto) # ------------------------------------------------------------------------- $targetIP = "10.0.0.20" # <--- MODIFICARE CON IL PROPRIO TARGET $username = "DomainAdmin" # <--- MODIFICARE CON UN UTENTE VALIDO $password = "Password123!" # <--- MODIFICARE CON UNA PASSWORD VALIDA $dllPath = "$PSScriptRootmalicious.dll" # 1) Esecuzione remota di cmd.exe tramite PsExec Write-Host "[*] Lancio di cmd.exe remoto tramite PsExec..." $psexecArgs = "$targetIP -u $username -p $password cmd.exe" & .PsExec.exe $psexecArgs Start-Sleep -Seconds 5 # dare tempo alla sessione remota di avviarsi # 2) Copiare la DLL malevola sull'host remoto (usando SMB) Write-Host "[*] Copiando la DLL malevola sull'host remoto..." $destPath = "$targetIPC$Tempmalicious.dll" Copy-Item -Path $dllPath -Destination $destPath -Force # 3) Caricare la DLL tramite regsvr32 (questo genera il secondo evento) Write-Host "[*] Caricamento della DLL malevola con regsvr32..." $regsvrArgs = "/s $destPath" & regsvr32.exe $regsvrArgs Write-Host "[+] Simulazione completata. Controllare SIEM per avvisi." -
Comandi di Pulizia:
# ------------------------------------------------------------------------- # Pulizia per Simulazione SafePay # ------------------------------------------------------------------------- $targetIP = "10.0.0.20" $dllRemote = "$targetIPC$Tempmalicious.dll" # Rimuovere la DLL malevola dall'host remoto Write-Host "[*] Rimuovendo la DLL malevola dall'host remoto..." Remove-Item -Path $dllRemote -Force -ErrorAction SilentlyContinue # Eventualmente terminare eventuali processi regsvr32/rundll32 in sospeso Get-Process -Name regsvr32, rundll32 -ErrorAction SilentlyContinue | Where-Object {$_.Path -like "*$targetIP*"} | Stop-Process -Force Write-Host "[+] Pulizia completata."