2CLoader: Ein neuer Malware-Loader liefert Vidar und Remus
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
2CLoader ist ein neu entdeckter Malware-Loader, der verwendet wird, um Informationsstealer wie Vidar und Remus sowie den XWorm RAT bereitzustellen. Er verwendet fortschrittliche Umgehungstechniken wie indirekte Systemaufrufe über Hell’s Gate, Anti-Analyse- und Anti-VM-Prüfungen sowie Inline-Trampolin-Hooks zur Umgebungsspoofing. Der Loader ist hoch konfigurierbar und unterstützt mehrere Persistenz- und Ausführungsmechanismen.
Untersuchung
Zscaler ThreatLabz führte eine eingehende technische Analyse von 2CLoader durch, bei der die Ressourcenstruktur, Entschlüsselungsroutinen und Konfigurationsoptionen untersucht wurden. Forscher deckten einen mehrstufigen Entschlüsselungsprozess auf, der Rolling-XOR und AES-GCM kombiniert, wobei der AES-Schlüssel aus dem SHA256-Hash des eigenen .text-Abschnitts der Malware gewonnen wird. Die Untersuchung dokumentierte auch mehrere Persistenztechniken und umfangreiche Anti-Analyse-Funktionen.
Minderung
Organisationen sollten robuste Endpunktsicherheitslösungen einsetzen, die in der Lage sind, indirekte Systemaufrufe und Prozessinjektionsaktivitäten zu identifizieren. Die Überwachung verdächtiger geplanter Aufgaben, einschließlich SecurityHealthService.exe, und unerwarteter Änderungen an Run/RunOnce-Registrierungsschlüsseln ist unerlässlich. Sicherheitsteams sollten auch auf unerlaubtes API-Hooking und ungewöhnliche Eltern-Kind-Prozessbeziehungen achten, wie z.B. explorer.exe, das verdächtige Prozesse startet.
Reaktion
Wenn 2CLoader-Aktivität erkannt wird, isolieren Sie den kompromittierten Host vom Netzwerk, um mögliche Datenabflüsse durch Informationsstealer zu begrenzen. Führen Sie eine Forensikanalyse des Speichers durch, um gehookte APIs und injizierte Nutzlasten zu identifizieren. Überprüfen Sie Netzwerkprotokolle auf Verbindungen zur bekannten C2-Infrastruktur, einschließlich aware-cr1[.]com, und führen Sie eine umfassende Suche nach Persistenzmechanismen wie geplanten Aufgaben und bösartigen Registrierungseinträgen durch.
Angriffsablauf
Dieser Teil wird noch aktualisiert.
Erkennungen
Verdächtige geplante Aufgabe (über Audit)
Mögliche Persistenzpunkte [ASEPs – Software/NTUSER Hive] (über registry_event)
Verdächtige Binär- / Skripte im Autostart-Ort (über file_event)
Verdächtiger Dateidownload Direkte IP (über Proxy)
IOCs (HashSha256) zur Erkennung: 2CLoader: Ein neuer Malware-Loader, der Vidar und Remus bereitstellt
IOCs (HashMd5) zur Erkennung: 2CLoader: Ein neuer Malware-Loader, der Vidar und Remus bereitstellt
IOCs (SourceIP) zur Erkennung: 2CLoader: Ein neuer Malware-Loader, der Vidar und Remus bereitstellt
IOCs (DestinationIP) zur Erkennung: 2CLoader: Ein neuer Malware-Loader, der Vidar und Remus bereitstellt
2CLoader C2-Kommunikationserkennung [Windows-Netzwerkverbindung]
Erkennung von 2CLoader-Malware-Umgehungstechniken [Windows-Prozesserstellung]
Simulationsausführung
-
Angriffsgeschichte & Befehle: Das Ziel des Gegners ist es, eine Nutzlast bereitzustellen und dabei Sandbox-Erkennung zu umgehen. Um dies zu erreichen, überprüft das simulierte Malware zuerst, ob es debuggt wird, indem sie abfragt
ProcessDebugPortviaNtQueryInformationProcess. Sobald eine „saubere“ Umgebung bestätigt wird, versucht sie, ihren eigenen Speicherplatz zu manipulieren, um eine bösartige Phase zu entpacken, indem sie speziellNtProtectVirtualMemoryaufruft, um Seitenerlaubnisse in Ausführen/Lesen/Schreiben (RWX) zu ändern. Die Simulation verwendet einen C++ Wrapper, um diese als „indirekte“ Aufrufe auszuführen, um den 2CLoader-Umgehungsstil zu imitieren. -
Regressionstest-Skript:
#include <windows.h> #include <winternl.h> #include <stdio.h> // Vereinfachte Darstellung der 2CLoader-ähnlichen Systemaufrufsequenz typedef NTSTATUS (NTAPI *pNtQueryInformationProcess)( HANDLE ProcessHandle, PROCESSINFOCLASS ProcessInformationClass, PVOID ProcessInformation, ULONG ProcessInformationLength, PULONG ReturnLength); int main() { printf("[+] Starten der 2CLoader-Umgehungssimulation...n"); // 1. Simulieren von Anti-Debugging (T1497.002) // Dies imitiert den Aufruf von NtQueryInformationProcess, um ProcessDebugPort zu prüfen HANDLE hProcess = GetCurrentProcess(); DWORD_PTR debugPort = 0; // In einem echten Szenario wäre dies ein indirekter Systemaufruf. // Hier lösen wir die Logik über die API aus, um die Sichtbarkeit der Telemetrie sicherzustellen. printf("[+] Überprüfen auf Debugger über NtQueryInformationProcess...n"); // 2. Simulieren der Speichermanipulation (T1055.005 / T1497) // Nachahmen von NtProtectVirtualMemory, um den Speicherschutz zu ändern printf("[+] Manipulieren des Speicherschutzes über NtProtectVirtualMemory...n"); void* buffer = VirtualAlloc(NULL, 1024, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE); if (buffer) { BOOL success = VirtualProtect(buffer, 1024, PAGE_EXECUTE_READWRITE, &DWORD); if (success) { printf("[!] Erfolg: Speicherschutz auf RWX geändert.n"); } VirtualFree(buffer, 0, MEM_RELEASE); } printf("[+] Simulation abgeschlossen.n"); return 0; } -
Bereinigungskommandos:
# Durch dieses Simulationsskript werden keine persistenten Artefakte erstellt. # Stellen Sie sicher, dass alle kompilierten Binärdateien entfernt werden: Remove-Item -Path ".simulation.exe" -ErrorAction SilentlyContinue