SOC Prime Bias: Alta

30 Mar 2026 16:46

Abuso di Strumenti Legittimi a Basso Livello per Aiutare il Ransomware a Evitare il Rilevamento Antivirus

Author Photo
Ruslan Mikhalov Capo della Ricerca sulle Minacce presso SOC Prime linkedin icon Segui
Abuso di Strumenti Legittimi a Basso Livello per Aiutare il Ransomware a Evitare il Rilevamento Antivirus
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Sintesi

L’articolo spiega come gli operatori di ransomware abusino di utility legittime di basso livello come Process Hacker, IOBit Unlocker, PowerRun e strumenti simili per indebolire antivirus e protezione degli endpoint. Sfruttando in modo improprio questi binari firmati, gli attaccanti possono ottenere privilegi a livello SYSTEM o addirittura kernel, rubare credenziali e preparare l’ambiente per il dispiegamento del ransomware. L’articolo evidenzia come la neutralizzazione degli antivirus si sia evoluta da semplici script a set di funzionalità integrati nelle moderne offerte di Ransomware-as-a-Service. Fa riferimento anche a gruppi di ransomware nel mondo reale che hanno adottato questi metodi.

Indagine

L’indagine descrive un modello di intrusione in due fasi in cui gli avversari utilizzano prima strumenti di basso livello per l’escalation dei privilegi e l’evasione dell’antivirus, quindi si spostano al furto di credenziali, alla manomissione del kernel e all’esecuzione del payload del ransomware. L’attività degli strumenti è mappata sulle tecniche del MITRE ATT&CK, incluse T1548.002, T1562.001 e T1003.001. Esempi di casi collegano queste utility ad operazioni di ransomware come LockBit 3.0, Phobos, MedusaLocker e altri.

Mitigazione

Le mitigazioni raccomandate includono l’applicazione di una whitelist delle applicazioni, il monitoraggio della terminazione su larga scala dei processi, il controllo delle modifiche al registro che influenzano le impostazioni antivirus e la limitazione dell’esecuzione delle utility amministrative solo agli account approvati. Le piattaforme di protezione degli endpoint dovrebbero anche rafforzare i controlli di autoprotezione per resistere allo spegnimento forzato dei processi e dei servizi di sicurezza.

Risposta

Quando viene rilevato questo comportamento, le organizzazioni dovrebbero avvisare in caso di terminazione sospetta dei processi AV o EDR, isolare l’host interessato, conservare le prove forensi delle modifiche al registro e ai file, e indagare per accessi a LSASS collegati al furto di credenziali. La risposta all’incidente dovrebbe seguire rapidamente la catena di attacco osservata per contenere l’intrusione prima che inizi la crittografia del ransomware.

"graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#cccccc classDef operator fill:#ff9900 %% Action nodes action_initial_access["<b>Azione</b> – <b>T1566.001 Phishing: Allegato di spearphishing</b><br/><b>Descrizione</b>: L’avversario invia un allegato e-mail dannoso che, quando aperto, rilascia un caricatore bootstrap.<br/><b>ID Tecnica</b>: T1566.001"] class action_initial_access action action_priv_esc["<b>Azione</b> – <b>T1548.002 Superamento del Controllo Account Utente</b><br/><b>Descrizione</b>: Sfruttare utility legittime per bypassare UAC e ottenere privilegi di SYSTEM o kernel.<br/><b>ID Tecnica</b>: T1548.002"] class action_priv_esc action action_defense_evasion["<b>Azione</b> – <b>T1562 Compromissione delle Difese</b><br/><b>Descrizione</b>: Terminare o scaricare componenti antivirus ed EDR per evitare il rilevamento.<br/><b>ID Tecnica</b>: T1562"] class action_defense_evasion action action_credential_access["<b>Azione</b> – <b>T1003 Dumping delle Credenziali di Sistema</b><br/><b>Descrizione</b>: Dumpare credenziali in cache dalla memoria usando strumenti come Mimikatz.<br/><b>ID Tecnica</b>: T1003"] class action_credential_access action action_persistence["<b>Azione</b> – <b>T1112 Modifica del Registro</b><br/><b>Descrizione</b>: Eliminare o modificare chiavi di registro che attivano componenti AV per rimozione persistente.<br/><b>ID Tecnica</b>: T1112"] class action_persistence action action_indicator_removal["<b>Azione</b> – <b>T1070.004 Cancellazione del File</b><br/><b>Descrizione</b>: Rimuovere log AV e altri artefatti forensi dal disco.<br/><b>ID Tecnica</b>: T1070.004"] class action_indicator_removal action action_impact["<b>Azione</b> – <b>T1486 Dati Cifrati per Impatto</b><br/><b>Descrizione</b>: Cifrare file utente con payload ransomware dopo aver ottenuto diritti di SYSTEM.<br/><b>ID Tecnica</b>: T1486"] class action_impact action %% Tool nodes tool_powerrun["<b>Strumento</b> – <b>Nome</b>: PowerRun<br/><b>Scopo</b>: Eseguire binari con privilegi elevati"] class tool_powerrun tool tool_wke["<b>Strumento</b> – <b>Nome</b>: Windows Kernel Explorer (WKE)<br/><b>Scopo</b>: Ottenere esecuzione a livello di kernel"] class tool_wke tool tool_ydark["<b>Strumento</b> – <b>Nome</b>: YDArk<br/><b>Scopo</b>: Elevare a SYSTEM"] class tool_ydark tool tool_process_hacker["<b>Strumento</b> – <b>Nome</b>: Process Hacker<br/><b>Scopo</b>: Terminare i processi di sicurezza"] class tool_process_hacker tool tool_iobit["<b>Strumento</b> – <b>Nome</b>: IOBit Unlocker<br/><b>Scopo</b>: Fermare i servizi AV"] class tool_iobit tool tool_aukills["<b>Strumento</b> – <b>Nome</b>: AuKill / ProcessKO<br/><b>Scopo</b>: Uccidere specifici processi AV"] class tool_aukills tool tool_mimikatz["<b>Strumento</b> – <b>Nome</b>: Mimikatz<br/><b>Scopo</b>: Dumpare credenziali Windows"] class tool_mimikatz tool tool_unlock_it["<b>Strumento</b> – <b>Nome</b>: Unlock_IT<br/><b>Scopo</b>: Eliminare chiavi di registro e log AV"] class tool_unlock_it tool tool_atool["<b>Strumento</b> – <b>Nome</b>: Atool_ExperModel<br/><b>Scopo</b>: Rimuovere chiavi di avvio AV"] class tool_atool tool %% Operator node (optional) op_and1(("AND")) class op_and1 operator %% Flow connections action_initial_access –>|leads_to| action_priv_esc action_priv_esc –>|leads_to| action_defense_evasion action_defense_evasion –>|leads_to| action_credential_access action_credential_access –>|leads_to| action_persistence action_persistence –>|leads_to| action_indicator_removal action_indicator_removal –>|leads_to| action_impact %% Tool usage connections action_priv_esc –>|uses| tool_powerrun action_priv_esc –>|uses| tool_wke action_priv_esc –>|uses| tool_ydark action_defense_evasion –>|uses| tool_process_hacker action_defense_evasion –>|uses| tool_iobit action_defense_evasion –>|uses| tool_aukills action_credential_access –>|uses| tool_mimikatz action_persistence –>|uses| tool_unlock_it action_persistence –>|uses| tool_atool action_indicator_removal –>|uses| tool_unlock_it "

Flusso dell’attacco

Esecuzione di simulazione

Prerequisito: Il controllo pre‑flight di Telemetria e Baseline deve essere superato.

  • Narrazione dell’attacco e comandi:

    L’avversario ha ottenuto diritti amministrativi sull’host della vittima e vuole neutralizzare la protezione dell’endpoint prima di distribuire payload di ransomware. Utilizzando l’utility legittima HRSword.exe, emettono un comando che ferma il servizio antivirus (avservice) e ne disabilita il riavvio automatico, assicurando che il difensore non possa ripristinare il servizio durante la finestra di attacco. Il comando viene eseguito direttamente in una console PowerShell per generare un chiaro evento di creazione del processo Sysmon che corrisponde alla regola di rilevamento.

  • Script di test di regressione:

    <# 
    Simulazione dell'uso di HRSword.exe per fermare un servizio AV e disabilitarne il riavvio.
    Questo script deve essere eseguito con privilegi elevati (Amministratore).
    #>
    
    # Variabili
    $hrswordPath = "$env:ProgramFilesHRSwordHRSword.exe"
    $serviceName = "avservice"
    
    # Assicurarsi che HRSword.exe esista (crea un mock se non esiste)
    if (-Not (Test-Path $hrswordPath)) {
        Write-Host "Creazione di un mock HRSword.exe per la simulazione..."
        # Creare un eseguibile dummy (una copia di cmd.exe) solo a fini di registrazione
        Copy-Item "$env:windirSystem32cmd.exe" $hrswordPath -Force
    }
    
    # Eseguire la riga di comando esatta che la regola Sigma osserva
    $command = "& `"$hrswordPath`" /service stop $serviceName /disable"
    Write-Host "Esecuzione: $command"
    Invoke-Expression $command
    
    # Facoltativo: Registrare un evento personalizzato per indicare il completamento (aiuta a verificare end-to-end)
    Write-EventLog -LogName Application -Source "HRSwordSimulation" -EventId 3000 -EntryType Information -Message "Simulazione di arresto del servizio HRSword completata."
  • Comandi di pulizia:

    <#
    Ripristinare il servizio AV al suo stato originale e rimuovere l'eseguibile mock.
    #>
    
    # Riavviare il servizio AV (se esiste)
    $serviceName = "avservice"
    if (Get-Service -Name $serviceName -ErrorAction SilentlyContinue) {
        Write-Host "Riavvio del servizio $serviceName ..."
        Start-Service -Name $serviceName -ErrorAction SilentlyContinue
    }
    
    # Rimuovere il mock HRSword.exe (se è stato creato)
    $hrswordPath = "$env:ProgramFilesHRSwordHRSword.exe"
    if (Test-Path $hrswordPath) {
        Write-Host "Rimuovendo il mock HRSword.exe ..."
        Remove-Item $hrswordPath -Force
    }
    
    # Cancellare la voce di log evento personalizzata
    Get-EventLog -LogName Application -Source "HRSwordSimulation" -After (Get-Date).AddMinutes(-10) | Remove-EventLog