Im Inneren von SHADOW-WATER-063s Banana RAT: Vom Build-Server zum Bankbetrug
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Banana RAT ist ein Banking-Trojaner, der von dem finanziell motivierten Bedrohungsakteur SHADOW-WATER-063 eingesetzt wird, um Anmeldedaten zu stehlen und betrügerische Transaktionen auf brasilianische Banken abzuzielen. Die Malware wird über eine bösartige Batch-Datei ausgeliefert und nutzt verschachtelte PowerShell-Verschleierung, In-Memory-Ausführung und AES-256-Verschlüsselung, um einer Erkennung zu entgehen. Sie behält Persistenz durch eine versteckte geplante Aufgabe bei und kommuniziert über HTTP und TLS mit ihrem Command-and-Control-Server. Die Kampagne umfasst auch eine Pix-QR-Code-Abfangfähigkeit, die auf das Instant-Payment-Ökosystem Brasiliens abzielt.
Untersuchung
Trend Micro MDR-Analysten erhielten sowohl Server-seitige Tools als auch Client-seitige Nutzlasten, die es ihnen ermöglichten, die gesamte Angriffskette von einem auf FastAPI basierenden polymorphen Crypter bis hin zum PowerShell-Stager und dem endgültigen In-Memory C#-Kompilierungsstadium zu rekonstruieren. Ihre Analyse deckte die Infrastruktur des Angreifers auf, den Verschleierungs-Workflow und eine Reihe von Fähigkeiten, die Bildschirm-Streaming, Eingabemanipulation und QR-Code-Manipulation beinhalteten. Die Operation wurde mit dem breiteren Tetrade-Banking-Trojaner-Ökosystem in Verbindung gebracht, obwohl Forscher mehrere architektonische Unterschiede feststellten.
Minderung
Verteidiger sollten die anfängliche HTTP-GET-Anfrage an den Malware-Auslieferungspunkt am Netzwerkrand blockieren, das Verhalten spezifischer versteckter geplanter Aufgaben überwachen und strikte Kontrollen über PowerShell und csc.exe Ausführung durchsetzen. Endpunktschutz sollte auch dateilose PowerShell-Aktivitäten, In-Memory-DLL-Ladevorgänge und die Erstellung von Dateien in trügerischen Pfaden wie ProgramDataMicrosoftDiagnosisETWerkennen. Schulungen zur Sensibilisierung der Benutzer sollten auch bösartige Batch-Dateien und Phishing-Links thematisieren, die über Kanäle wie WhatsApp verteilt werden.
Reaktion
Wenn Banana RAT-Aktivität festgestellt wird, isolieren Sie den betroffenen Endpunkt sofort, beenden Sie den bösartigen PowerShell-Prozess, entfernen Sie die versteckte geplante Aufgabe und löschen Sie eventuell abgelegte Dateien aus öffentlichen und maskierten Verzeichnissen. Ermittler sollten die vollständige PowerShell-Befehlszeile sammeln, eventuell C#-Kompilierungsartefakte bewahren und den Netzwerkverkehr zu den Command-and-Control-Domänen überprüfen. Offen gelegte Anmeldeinformationen sollten zurückgesetzt und Finanzteams sollten wachsam auf Anzeichen von betrügerischer Bankaktivität gemacht werden.
"graph TB %% Klassendefinitionen classDef technique fill:#99ccff %% Knotendefinitionen step_A["<b>Technik</b> – <b>T1204.001 Benutzer Ausführung</b>: Bösartiger Link wird über WhatsApp oder E-Mail zum Herunterladen der Batch-Datei übermittelt."] class step_A technique step_B["<b>Technik</b> – <b>T1027.014 Verschleierte Dateien</b>: Batch-Datei führt verschleierten PowerShell-Code aus."] class step_B technique step_C["<b>Technik</b> – <b>T1027.016 Junk-Code-Einfügung</b>: Neun benutzerdefinierte Verschleierungsschichten, Variablen-Umbenennung, XOR, AES."] class step_C technique step_D["<b>Technik</b> – <b>T1036.008 Tarnung</b>: Legt msedge.txt in öffentliche Dokumente ab, die den Microsoft ETW-Pfad nachahmen."] class step_D technique step_E["<b>Technik</b> – <b>T1564.005 Artefakte verstecken</b>: Schreibt bösartige Datei in ProgramData Microsoft Diagnosis ETW, um sich mit legitimen Dateien zu vermischen."] class step_E technique step_F["<b>Technik</b> – <b>T1620 Reflektierende Code-Ladung</b>: Verwendet csc.exe, um C#-DLLs im Speicher zu kompilieren."] class step_F technique step_G["<b>Technik</b> – <b>T1134.001 Token-Imitierung</b>: Dupliziert SYSTEM-Token und startet PowerShell in interaktiver Sitzung."] class step_G technique step_H["<b>Technik</b> – <b>T1134.002 Prozess mit Token erstellen</b>: Startet Prozess mit dupliziertem Token."] class step_H technique step_I["<b>Technik</b> – <b>T1571 Nicht-Standard-Port</b>: C2-Kommunikation über HTTPS-Port 443 mit benutzerdefiniertem AES-256-CBC-Protokoll."] class step_I technique step_J["<b>Technik</b> – <b>T1048.002 Exfiltration über alternatives Protokoll</b>: Verschlüsselte Datenexfiltration unter Verwendung asymmetrisch verschlüsseltem non-C2-Protokoll."] class step_J technique step_K["<b>Technik</b> – <b>T1140 Deobfuskieren Dekodieren</b>: PowerShell entschlüsselt im Speicher AES-verpackte Nutzlast."] class step_K technique step_L["<b>Technik</b> – <b>T1659 Inhalteinspritzung</b>: PowerShell verwendet Net.WebClient oder Start-BitsTransfer, um Nutzlast vom Angreifer-Webserver abzurufen."] class step_L technique step_M["<b>Technik</b> – <b>T1566 Phishing</b>: Bösartiger Link wird über WhatsApp/E-Mail zum Herunterladen einer Batch-Datei übermittelt."] class step_M technique %% Verbindungen step_A –>|führt zu| step_B step_B –>|führt zu| step_C step_C –>|führt zu| step_D step_D –>|führt zu| step_E step_E –>|führt zu| step_F step_F –>|führt zu| step_G step_G –>|führt zu| step_H step_H –>|führt zu| step_I step_I –>|führt zu| step_J step_J –>|führt zu| step_K step_K –>|führt zu| step_L step_L –>|führt zu| step_M "
Angriffsfluss
Erkennungen
Verdächtige geplante Aufgabe (über Prüfung)
Anzeigen
Rufe verdächtige .NET-Methoden von PowerShell aus auf (über PowerShell)
Anzeigen
Die Möglichkeit der Ausführung durch versteckte PowerShell-Befehlszeilen (über cmdline)
Anzeigen
Verdächtige PowerShell-Zeichenfolgen (über PowerShell)
Anzeigen
Rufe verdächtige Windows-API-Funktionen von PowerShell aus auf (über PowerShell)
Anzeigen
Verdächtige Dateien im öffentlichen Benutzerprofil (über file_event)
Anzeigen
Verdächtiger Datei-Download mit direkter IP (über Proxy)
Anzeigen
IOCs (HashSha256) zur Erkennung: In SHADOW-WATER-063s Banana RAT: Vom Build-Server bis zum Bankenbetrug
Anzeigen
IOCs (SourceIP) zur Erkennung: In SHADOW-WATER-063s Banana RAT: Vom Build-Server bis zum Bankenbetrug
Anzeigen
IOCs (DestinationIP) zur Erkennung: In SHADOW-WATER-063s Banana RAT: Vom Build-Server bis zum Bankenbetrug
Anzeigen
Erkennung der SHADOW-WATER-063 C2-Kommunikation [Windows Netzwerkverbindung]
Anzeigen
Erkennung des Banana RAT Erstzugriffs und der Ausführung [Windows PowerShell]
Anzeigen
Simulation der Ausführung
Voraussetzung: Die Telemetrie & Baseline Pre-flight Check muss bestanden haben.
Begründung: Dieser Abschnitt beschreibt die präzise Ausführung der Gegnertechnik (C2-Kommunikation), die zur Auslösung der Erkennungsregel entwickelt wurde. Die Befehle und die Erzählung spiegeln direkt die identifizierten TTPs wider und zielen darauf ab, die von der Erkennung erwartete genaue Telemetrie zu erzeugen.
-
Angriffserzählung & Befehle:
Der Bedrohungsakteur hat Banana RAT auf dem Endpunkt des Opfers eingesetzt. Um Persistenz zu bewahren und Befehle zu empfangen, initiiert der RAT eine ausgehende Kommunikation zu seiner festcodierten C2-Infrastruktur:- HTTP-Beacon (IP 24.199.90.58:80): Öffnet einen rohen TCP-Socket und sendet eine minimale HTTP GET-Anfrage.
- HTTPS-Beacon (IP 162.141.111.227:443): Verwendet
Invoke-WebRequestmit TLS zum C2-Server. - Domain-basierter Beacon: Führt eine DNS-Abfrage für
c.windowsk-cdn.comaus, die das C2 auf Abfragemenge überwacht.
Alle drei Aktionen werden nacheinander ausgeführt, um die Chance zu maximieren, mindestens eine Auswahl in der Sigma-Regel zu treffen.
-
Regressionstest-Skript:
# ------------------------------------------------- # Banana RAT C2-Kommunikationssimulation (TC-20260522-A1B2C) # ------------------------------------------------- # 1. HTTP-Beacon zu 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("Verbindung: Schließen") $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 fehlgeschlagen: $_" } # 2. HTTPS-Beacon zu 162.141.111.227:443 try { Invoke-WebRequest -Uri "https://162.141.111.227" -UseBasicParsing -TimeoutSec 10 } catch { Write-Error "HTTPS-Beacon fehlgeschlagen: $_" } # 3. DNS-Abfrage für bösartige Domain try { Resolve-DnsName -Name "c.windowsk-cdn.com" -Type A -ErrorAction Stop } catch { Write-Error "DNS-Abfrage fehlgeschlagen: $_" } # Ende der Simulation -
Aufräumkommandos:
# ------------------------------------------------- # Bereinigung - Entfernen aller verbleibenden Sockets oder temporären Dateien # ------------------------------------------------- # Keine persistenten Artefakte werden durch die Simulation erstellt. # Sicherstellen, dass keine verbleibenden Netzwerkverbindungen bestehen: Get-NetTCPConnection -RemotePort 80,443 ` | Where-Object {$_.RemoteAddress -in @("24.199.90.58","162.141.111.227")} ` | ForEach-Object { Stop-Process -Id $_.OwningProcess -Force } # DNS-Cache löschen, um nachfolgende Tests nicht zu beeinträchtigen Clear-DnsClientCache