BotHelper RAT distribuisce payload crittografati per la sorveglianza in tempo reale dello schermo
Detection stack
- AIDR
- Alert
- ETL
- Query
Riepilogo
Una catena di infezione Windows a più stadi utilizza uno stager nativo per recuperare un payload crittografato che alla fine distribuisce un tool di accesso remoto .NET precedentemente non documentato chiamato BotHelper RAT. Il RAT supporta la sorveglianza dello schermo in tempo reale, il monitoraggio degli appunti, l’esecuzione di comandi shell e la consegna di plugin aggiuntivi. L’attacco è progettato per la furtività tramite decrittazione in memoria e mascheramento come processi legittimi di Microsoft Edge.
Indagine
Point Wild ha analizzato la catena di infezione e ha identificato uno stager nativo x64 che profila l’host prima di scaricare un file crittografato da un URL designato. L’indagine ha rilevato che lo stager disattiva la convalida del certificato TLS e decritta il payload del livello successivo interamente in memoria per ridurre il rilevamento su disco. BotHelper RAT, quindi, stabilisce la persistenza tramite attività pianificate e applica patch all’Antimalware Scan Interface (AMSI).
Mitigazione
La mitigazione dovrebbe prioritizzare il blocco dello stager iniziale e dell’infrastruttura C2 associata. I controlli di sicurezza dovrebbero rilevare la creazione non autorizzata di attività pianificate e il mascheramento di processi sospetti, inclusi i casi di msedge_proxy.exe che esegue dalla directory Temp. Le organizzazioni dovrebbero anche monitorare i tentativi di patch AMSI e le connessioni TLS in uscita insolite verso domini precedentemente sconosciuti o non attendibili.
Risposta
Quando viene rilevata l’attività di BotHelper RAT, isolare l’endpoint interessato per interrompere l’esecuzione di ulteriori comandi e l’esfiltrazione dei dati. Rimuovere le attività pianificate dannose e i file scaricati dalla directory temporanea dell’utente. Effettuare un’analisi forense della memoria per identificare componenti aggiuntivi in memoria e indagare per cercare prove di furto di appunti, monitoraggio dello schermo in diretta o screenshot acquisiti.
Flusso di Attacco
Rilevamenti
Schtasks punta a Directory / Binario / Script sospetto (tramite cmdline)
Attività programmata sospetta (via audit)
Comando e Controllo Sospetto tramite Richiesta DNS di Dominio di Primo Livello (TLD) Insolito (via dns)
IOC (HashSha256) per rilevare: BotHelper RAT: Da Payload Crittografato a Sorveglianza dello Schermo in Diretta
IOC (SourceIP) per rilevare: BotHelper RAT: Da Payload Crittografato a Sorveglianza dello Schermo in Diretta
IOC (DestinationIP) per rilevare: BotHelper RAT: Da Payload Crittografato a Sorveglianza dello Schermo in Diretta
Rilevare Decrittazione Ciclica XOR nel Payload BotHelper RAT [Windows Sysmon]
Attività Programmata Rilevata per la Persistenza di BotHelper RAT [Evento Registro di Sistema Windows]
Rilevare l’Esecuzione di BotHelper RAT e msedge_proxy.exe [Creazione Processo Windows]
Esecuzione della Simulazione
-
Narrazione dell’Attacco & Comandi: L’attaccante ha acquisito l’accesso iniziale e ora cerca di mantenere un punto d’appoggio. Per evitare il rilevamento da parte degli strumenti di sicurezza che cercano beacon “sempre attivi”, decidono di utilizzare l’utility
schtasks.exeper pianificare un payload dannoso. Seguendo il modello BotHelper RAT, configurano l’attività per attivarsi ogni 30 minuti. Ciò consente al malware di “dormire” la maggior parte del tempo, riducendo l’impronta nel traffico di rete e nel monitoraggio dei processi, garantendo al contempo che la connessione al server C2 sia ristabilita frequentemente. -
Script di Test di Regressione:
# Script di simulazione per imitare il meccanismo di persistenza di BotHelper RAT $taskName = "BotHelperUpdater" $payload = "C:WindowsSystem32calc.exe" # Utilizzo di calc.exe come proxy sicuro per il payload RAT Write-Host "[+] Simulazione di persistenza BotHelper RAT in corso..." # Questo comando è progettato per corrispondere alla logica di rilevamento: /create, /sc, e MINUTE=30 schtasks /create /tn "$taskName" /tr "$payload" /sc minute /mo 30 /f if ($LASTEXITCODE -eq 0) { Write-Host "[SUCCESSO] Attività creata. Controlla SIEM per il rilevamento." } else { Write-Host "[FALLIMENTO] Creazione attività non riuscita." } -
Comandi di Pulizia:
# Rimuovere l'attività di persistenza simulata schtasks /delete /tn "BotHelperUpdater" /f Write-Host "[+] Pulizia completata. Attività simulata rimossa."