Dentro il Banana RAT di SHADOW-WATER-063: Dal Server di Build alla Frode Bancaria
Detection stack
- AIDR
- Alert
- ETL
- Query
Riepilogo
Banana RAT è un trojan bancario utilizzato dall’attore di minacce finanziariamente motivato SHADOW-WATER-063 per rubare credenziali ed effettuare transazioni fraudolente rivolte a banche brasiliane. Il malware viene distribuito tramite un file batch dannoso e si basa su offuscamento di PowerShell a strati, esecuzione in memoria e crittografia AES-256 per evitare il rilevamento. Mantiene la persistenza attraverso un’attività pianificata nascosta e comunica con il suo server di comando e controllo tramite HTTP e TLS. La campagna presenta anche una capacità di intercettazione del codice QR Pix mirata all’ecosistema di pagamento istantaneo del Brasile.
Investigazione
Gli analisti MDR di Trend Micro hanno ottenuto sia strumenti lato server che payload lato client, permettendo loro di ricostruire l’intera catena di attacco da un crypter polimorfico basato su FastAPI allo stager PowerShell e alla fase finale di compilazione C# in memoria. La loro analisi ha svelato l’infrastruttura dell’attaccante, il flusso di lavoro dell’offuscamento e un insieme di capacità che includevano streaming dello schermo, manipolazione degli input e manomissione dei codici QR. L’operazione è stata collegata all’ecosistema più ampio dei trojan bancari Tetrade, anche se i ricercatori hanno notato diverse differenze architettoniche.
Mitigazione
I difensori dovrebbero bloccare la richiesta iniziale HTTP GET al punto di consegna del malware al perimetro di rete, monitorare il comportamento specifico dell’attività programmata nascosta ed imporre controlli severi su PowerShell e csc.exe esecuzione. Le difese per l’endpoint dovrebbero anche rilevare attività di fileless PowerShell, il caricamento in memoria di DLL, e la creazione di file in percorsi ingannevoli come ProgramDataMicrosoftDiagnosisETW. La formazione sulla consapevolezza degli utenti dovrebbe anche affrontare file batch dannosi e link di phishing distribuiti tramite canali come WhatsApp.
Risposta
Se viene rilevata l’attività del Banana RAT, isolare immediatamente l’endpoint colpito, terminare il processo PowerShell malevolo, rimuovere l’attività pianificata nascosta, ed eliminare eventuali file scaricati da directory pubbliche e camuffate. Gli investigatori dovrebbero raccogliere tutta la linea di comando di PowerShell, conservare eventuali artefatti di compilazione C# e esaminare il traffico di rete connesso ai domini di comando e controllo. Le credenziali esposte dovrebbero essere reimpostate e i team finanziari avvisati per controllare segni di attività bancaria fraudolenta.
"graph TB %% Class definitions classDef technique fill:#99ccff %% Node definitions step_A["<b>Technique</b> – <b>T1204.001 Esecuzione Utente</b>: Link dannoso consegnato tramite WhatsApp o email per scaricare il file batch."] class step_A technique step_B["<b>Technique</b> – <b>T1027.014 File Offuscati</b>: Il file batch esegue codice PowerShell offuscato."] class step_B technique step_C["<b>Technique</b> – <b>T1027.016 Inserzione di Codice Spazzatura</b>: Nove strati di offuscamento personalizzati, rinominazione di variabili, XOR, AES."] class step_C technique step_D["<b>Technique</b> – <b>T1036.008 Mascheramento</b>: Lascia msedge.txt nei Documenti Pubblici imitando il percorso Microsoft ETW."] class step_D technique step_E["<b>Technique</b> – <b>T1564.005 Nascondere Artefatti</b>: Scrive file malevolo in ProgramData Microsoft Diagnosis ETW per mescolarsi con file legittimi."] class step_E technique step_F["<b>Technique</b> – <b>T1620 Caricamento Riflessivo di Codice</b>: Usa csc.exe per compilare DLL C# in memoria."] class step_F technique step_G["<b>Technique</b> – <b>T1134.001 Impersonazione di Token</b>: Duplica il token di SISTEMA e avvia PowerShell in sessione interattiva."] class step_G technique step_H["<b>Technique</b> – <b>T1134.002 Creazione di Processo con Token</b>: Avvia il processo con il token duplicato."] class step_H technique step_I["<b>Technique</b> – <b>T1571 Porta Non Standard</b>: Comunicazione C2 su porta HTTPS 443 utilizzando protocollo AES-256-CBC personalizzato."] class step_I technique step_J["<b>Technique</b> – <b>T1048.002 Esfiltrazione Tramite Protocollo Alternativo</b>: Esfiltrazione di dati cifrati utilizzando protocollo non-C2 crittografato asimmetricamente."] class step_J technique step_K["<b>Technique</b> – <b>T1140 Deoffuscamento Decodifica</b>: PowerShell decripta il payload avvolto in AESu2011 in memoria."] class step_K technique step_L["<b>Technique</b> – <b>T1659 Iniezione di Contenuti</b>: PowerShell usa Net.WebClient o Startu2011BitsTransfer per recuperare il payload dal server web dell’attaccante."] class step_L technique step_M["<b>Technique</b> – <b>T1566 Phishing</b>: Link dannoso consegnato tramite WhatsApp/email per scaricare il file batch."] class step_M technique %% Connections step_A –>|leads_to| step_B step_B –>|leads_to| step_C step_C –>|leads_to| step_D step_D –>|leads_to| step_E step_E –>|leads_to| step_F step_F –>|leads_to| step_G step_G –>|leads_to| step_H step_H –>|leads_to| step_I step_I –>|leads_to| step_J step_J –>|leads_to| step_K step_K –>|leads_to| step_L step_L –>|leads_to| step_M "
Flusso di Attacco
Rilevamenti
Attività Programmata Sospetta (tramite audit)
Visualizza
Chiama Metodi .NET Sospetti da Powershell (tramite powershell)
Visualizza
La Possibilità di Esecuzione Tramite Linee di Comando PowerShell Nascoste (tramite cmdline)
Visualizza
Stringhe Powershell Sospette (tramite powershell)
Visualizza
Chiama Funzioni API di Windows Sospette da Powershell (tramite powershell)
Visualizza
File Sospetti nel Profilo Utente Pubblico (tramite file_event)
Visualizza
Download File Sospetto Indirizzo IP Diretto (tramite proxy)
Visualizza
IOC (HashSha256) per rilevare: All’interno di Banana RAT di SHADOW-WATER-063: Dal Server di Costruzione alla Frode Bancaria
Visualizza
IOC (SourceIP) per rilevare: All’interno di Banana RAT di SHADOW-WATER-063: Dal Server di Costruzione alla Frode Bancaria
Visualizza
IOC (DestinationIP) per rilevare: All’interno di Banana RAT di SHADOW-WATER-063: Dal Server di Costruzione alla Frode Bancaria
Visualizza
Rilevazione della Comunicazione C2 di SHADOW-WATER-063 [Connessione di Rete Windows]
Visualizza
Rilevazione di Accesso Iniziale ed Esecuzione di Banana RAT [Windows Powershell]
Visualizza
Esecuzione Simulazione
Prerequisito: Il Controllo Prevolo di Telemetria & Baseline deve essere passato.
Motivo: Questa sezione dettaglia l’esecuzione precisa della tecnica dell’avversario (comunicazione C2) progettata per attivare la regola di rilevamento. I comandi e la narrazione riflettono direttamente le TTP identificate e mirano a generare la telemetria esatta attesa dalla logica di rilevamento.
-
Narrativa e Comandi dell’Attacco:
L’attore della minaccia ha distribuito Banana RAT sull’endpoint della vittima. Per mantenere la persistenza e ricevere comandi, il RAT avvia la comunicazione in uscita con la sua infrastruttura di C2 codificata:- Beacon HTTP (IP 24.199.90.58:80): Apre un socket TCP grezzo e invia una richiesta HTTP GET minima.
- Beacon HTTPS (IP 162.141.111.227:443): Usa
Invoke-WebRequestcon TLS al server C2. - Beacon Basato su Dominio: Esegue una ricerca DNS per
c.windowsk-cdn.com, che il C2 monitora per volume di query.
Tutte e tre le azioni vengono eseguite sequenzialmente per massimizzare la possibilità di colpire almeno una selezione nella regola Sigma.
-
Script di Test di Regressione:
# ------------------------------------------------- # Simulazione Comunicazione C2 Banana RAT (TC-20260522-A1B2C) # ------------------------------------------------- # 1. Beacon HTTP a 24.199.90.58:80 try { $httpClient = New-Object System.Net.Sockets.TcpClient("24.199.90.58",80) $stream = $httpClient.GetStream() $writer = New-Object System.IO.StreamWriter($stream) $writer.WriteLine("GET / HTTP/1.1") $writer.WriteLine("Host: 24.199.90.58") $writer.WriteLine("Connection: Close") $writer.WriteLine() $writer.Flush() $reader = New-Object System.IO.StreamReader($stream) $response = $reader.ReadToEnd() $writer.Dispose() $reader.Dispose() $httpClient.Close() } catch { Write-Error "HTTP beacon failed: $_" } # 2. Beacon HTTPS a 162.141.111.227:443 try { Invoke-WebRequest -Uri "https://162.141.111.227" -UseBasicParsing -TimeoutSec 10 } catch { Write-Error "HTTPS beacon failed: $_" } # 3. Query DNS per dominio malevolo try { Resolve-DnsName -Name "c.windowsk-cdn.com" -Type A -ErrorAction Stop } catch { Write-Error "DNS query failed: $_" } # Fine della simulazione -
Comandi per la Pulizia:
# ------------------------------------------------- # Pulizia – rimuovere eventuali socket residui o file temporanei # ------------------------------------------------- # Nessun artefatto persistente viene creato dalla simulazione. # Assicurarsi che non rimangano connessioni di rete residue: Get-NetTCPConnection -RemotePort 80,443 ` | Where-Object {$_.RemoteAddress -in @("24.199.90.58","162.141.111.227")} ` | ForEach-Object { Stop-Process -Id $_.OwningProcess -Force } # Pulisci la cache DNS per evitare di influenzare i test successivi Clear-DnsClientCache