SOC Prime Bias: Alto

17 Jun 2026 13:09 UTC

Dentro un Proxy e RAT Basati su Deno

Author Photo
SOC Prime Team linkedin icon Segui
Dentro un Proxy e RAT Basati su Deno
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Riepilogo

Un attaccante ha distribuito un Trojan ad accesso remoto (RAT) modulare e un framework proxy sfruttando il runtime JavaScript di Deno. L’attacco ha utilizzato mailbombing e impersonificazione di Microsoft Teams per facilitare il download di un archivio dannoso. L’impianto opera tramite più file JavaScript modulari che utilizzano specifici flag di permesso Deno per eseguire comunicazioni C2, esecuzione di comandi locali e pivoting di rete.

Indagine

L’indagine ha rivelato una fase di accesso iniziale costituita da flooding di email e ingegneria sociale tramite Microsoft Teams. Il malware è stato identificato come un sistema modulare non tradizionale basato su Deno suddiviso in quattro script: app.js, back.js, helper.js e webui.js. Il rilevamento è avvenuto durante attività di ricognizione post-sfruttamento piuttosto che durante l’esecuzione iniziale.

Mitigazione

Le organizzazioni dovrebbero monitorare l’esecuzione di runtime di scripting come Deno da directory scrivibili dagli utenti e avvisare sui flag di permesso sospetti come –allow-run o –allow-net. Si raccomanda di implementare il monitoraggio per i servizi HTTP di loopback locale e la correlazione di avvisi di impersonificazione Teams con anomalie email. Inoltre, restringere la possibilità di eseguire runtime non firmati o non approvati può ridurre la superficie di attacco.

Risposta

Al rilevamento, i risponditori dovrebbero isolare gli host affetti e indagare sulla fonte dell’impersonificazione Teams. L’analisi dovrebbe concentrarsi sulla filiera dei processi Deno e su eventuali servizi locali legati a porte loopback 10021 o 10022. Esaminare i Microsoft 365 Unified Audit Logs per eventi TeamsImpersonationDetected è fondamentale per determinare l’ambito della campagna di ingegneria sociale.

graph TB %% Definizioni delle classi classDef action fill:#99ccff classDef builtin fill:#cccccc classDef malware fill:#ff9999 classDef discovery fill:#ccffcc classDef command_control fill:#ffff99 %% Fase di attacco iniziale attack_email_bombing[“<b>Azione</b> – <b>T1667 Bombardamento di e-mail</b><br/>Descrizione: Campagna di e-mail ad alto volume<br/>utilizzata per creare confusione e affaticamento nell’utente.”] class attack_email_bombing action attack_social_eng[“<b>Azione</b> – <b>T1684.001 Ingegneria sociale: Impersonificazione</b><br/>Descrizione: Gli attaccanti si spacciano per il supporto IT<br/>tramite chiamate Microsoft Teams per acquisire credibilità.”] class attack_social_eng action attack_user_exec[“<b>Azione</b> – <b>T1204.002 Esecuzione dell’utente: File dannoso</b><br/>Descrizione: La vittima scarica ed estrae<br/>un archivio malevolo.”] class attack_user_exec action file_malicious_archive[“<b>File</b>: patch09913.b<br/>Descrizione: Archivio dannoso contenente<br/>il framework malware basato su Deno.”] class file_malicious_archive builtin %% Esecuzione del framework malware malware_deno_framework[“<b>Malware</b>: Framework basato su Deno<br/>Descrizione: Malware modulare che utilizza app.js<br/>come orchestratore.”] class malware_deno_framework malware module_app_js[“<b>Modulo</b>: app.js<br/>Descrizione: Orchestratore JavaScript<br/>che avvia moduli specializzati.”] class module_app_js malware action_js_interpreter[“<b>Azione</b> – <b>T1059.007 Interprete di comandi e script: JavaScript</b><br/>Descrizione: Utilizzato da app.js per avviare i moduli.”] class action_js_interpreter action action_hide_artifacts[“<b>Azione</b> – <b>T1564.011 Nascondere artefatti: Ignorare le interruzioni di processo</b><br/>Descrizione: Utilizza conhost.exe –headless<br/>per sopprimere le finestre della console.”] class action_hide_artifacts action %% Fase di persistenza module_back_js[“<b>Modulo</b>: back.js<br/>Descrizione: Gestisce la persistenza e le comunicazioni C2.”] class module_back_js malware action_persistence[“<b>Azione</b> – <b>T1037.004 Script di inizializzazione all’avvio o accesso: Script RC</b><br/>Descrizione: Modifica la chiave di registro Windows<br/>HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run.”] class action_persistence action %% Fase di scoperta module_helper_js[“<b>Modulo</b>: helper.js<br/>Descrizione: Esegue attività di enumerazione del sistema.”] class module_helper_js malware action_process_discovery[“<b>Azione</b> – <b>T1057 Scoperta dei processi</b><br/>Descrizione: Esegue tasklist per identificare i processi attivi.”] class action_process_discovery discovery action_sys_info_discovery[“<b>Azione</b> – <b>T1082 Scoperta delle informazioni di sistema</b><br/>Descrizione: Esegue ipconfig /all e set per raccogliere<br/>informazioni di rete e dell’ambiente.”] class action_sys_info_discovery discovery %% Fase C2 e pivoting action_c2_protocol[“<b>Azione</b> – <b>T1071.001 Protocollo a livello applicativo: Protocolli Web</b><br/>Descrizione: Mantiene una connessione WebSocket persistente<br/>con un endpoint C2 ospitato su CloudFront.”] class action_c2_protocol command_control module_webui_js[“<b>Modulo</b>: webui.js<br/>Descrizione: Facilita il movimento all’interno della rete interna.”] class module_webui_js malware action_proxy_pivoting[“<b>Azione</b> – <b>T1090 Proxy (Pivoting interno)</b><br/>Descrizione: Agisce come intermediario di accesso per<br/>instradare il traffico TCP verso la rete interna.”] class action_proxy_pivoting command_control %% Connessioni attack_email_bombing –>|crea_confusione_per| attack_social_eng attack_social_eng –>|porta_a| attack_user_exec attack_user_exec –>|coinvolge| file_malicious_archive file_malicious_archive –>|esegue| malware_deno_framework malware_deno_framework –>|orchestrato_da| module_app_js module_app_js –>|utilizza| action_js_interpreter module_app_js –>|implementa| action_hide_artifacts module_app_js –>|avvia| module_back_js module_app_js –>|avvia| module_helper_js module_app_js –>|avvia| module_webui_js module_back_js –>|esegue| action_persistence module_back_js –>|stabilisce| action_c2_protocol module_helper_js –>|esegue| action_process_discovery module_helper_js –>|esegue| action_sys_info_discovery module_webui_js –>|esegue| action_proxy_pivoting

Flusso di Attacco

Esecuzione di Simulazione

Prerequisito: Il Controllo Pre-volo di Telemetria e Baseline deve essere passato.

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

  • Narrativa di Attacco e Comandi: L’avversario ha consegnato con successo un RAT malevolo basato su Deno sul computer della vittima tramite un allegato di spearphishing (T1566.004). Per eludere l’AV basato su firme tradizionali, l’attaccante nasconde il binario Deno all’interno di una sottodirectory profonda e non standard del profilo di roaming dell’utente: C:Utenti ome.utenteAppDataRoamingDenoJSEnv. L’attaccante esegue quindi il binario usando i --allow-run and --allow-net flag. Questo permette al malware basato su JavaScript di eseguire comandi shell arbitrari per la scoperta del sistema (T1082) e comunicare con un server C2 esterno su HTTPS (T1071.001).

  • Script di Test di Regressione:

    # Nota: Questo script simula l'esistenza della directory e del binario 
    # per attivare la logica della regola. In un vero test, il file deve esistere nel percorso esatto.
    
    $targetDir = "C:Utenti
    ome.utenteAppDataRoamingDenoJSEnv"
    $targetExe = "$targetDirdeno.exe"
    
    # 1. Crea la struttura di directory specifica richiesta dalla regola di rilevamento
    if (!(Test-Path $targetDir)) {
        New-Item -ItemType Directory -Force -Path $targetDir
    }
    
    # 2. Crea un file dummy per agire come 'deno.exe'
    # In una simulazione reale, questo sarebbe il binario Deno effettivo.
    New-Item -ItemType File -Force -Path $targetExe
    
    # 3. Esegui il comando 'malevolo'
    # Usiamo Start-Process per assicurarci che appaia come un processo figlio nei log di Sysmon.
    # Poiché 'deno.exe' è un esempio fittizio, chiameremo 'cmd.exe' ma maschereremo la stringa di comando 
    # per adattarla alla logica, O, se si sta testando la regola EFFETTIVA, assicurare che il binario 
    # sia reale e chiamarlo. Per questa simulazione, assumiamo che l'utente fornisca un 
    # vero binario Deno in quel percorso.
    
    Write-Host "[!] Simulazione dell'esecuzione di $targetExe con flag malevoli..."
    Start-Process -FilePath "cmd.exe" -ArgumentList "/c echo Simulazione Attivazione Regola..." 
    # Nota: Per attivare veramente la regola, il vero deno.exe deve essere presente.
    # Se la regola sta cercando strettamente il percorso Immagine, il binario DEVE essere presente.
    # Per il bene di uno script di simulazione funzionale, chiamiamo il percorso:
    # Start-Process -FilePath $targetExe -ArgumentList "--allow-run --allow-net"
  • Comandi di Pulizia:

    # Rimuovi la directory e i file dannosi simulati
    Remove-Item -Path "C:Utenti
    ome.utenteAppDataRoamingDenoJSEnv" -Recurse -Force
    Write-Host "[+] Pulizia completata."