Überblick:
Batloader ist keine neue Malware in der Serie, sondern eine sich entwickelnde. In unseren vorherigen Blogs haben wir besprochen, wie Batloader verschiedene Arten von Malware, darunter Stealer und Ransomware, verbreiten kann. Wir haben uns auch mit seiner Rolle als Erstzugriffsermittler befasst und seine äußerst schwer zu erratende Natur sowie seine Fähigkeit, sich im Laufe der Zeit kontinuierlich zu verbessern, hervorgehoben.
Zur Einschleusung von Schadsoftware auf das System des Nutzers werden verschiedene Techniken eingesetzt. Dazu gehören Phishing-E-Mails, das Fälschen von Dokumenten und das Herunterladen gecrackter Software. Letzteres mag für normale Nutzer harmlos erscheinen, da Schadsoftware oft authentische Dateinamen verwendet und die meisten schädlichen Aktivitäten im Hintergrund ausführt oder eine scheinbar harmlose Datei mit Schadcode infiziert.
In diesem Blog analysieren wir, wie Batloader die Nutzlast lädt, die in diesem Fall ein Stealer ist.
Technische Analyse:

Abbildung 1: Infektionskette
Die Cabinet-Datei enthält eine Bat-Datei, die an einem temporären Speicherort abgelegt, ausgeführt und später gelöscht wird.

Abbildung 2: Cabinet-Datei

Abbildung 3: Extrahierte Bat-Datei
Der Startkommentar für die verschleierte Bat-Datei ist ein Base64-codierter, AES-verschlüsselter gZip-Stream. Dieser wird später in eine Dotnet-Datei entschlüsselt und dann an einem temporären Ort abgelegt.

Abbildung 4 : Verschleierte Fledermausdatei

Abbildung 5: Verschleierte Bat-Datei
Die entschlüsselte Batch-Datei enthält ein PowerShell-Skript, das die Originaldatei powershell.exe in den aktuellen Ordner kopiert und ausführt. Anschließend verwendet das PowerShell -Skript den Startkommentar der Batch-Datei, um die folgenden Aktionen durchzuführen:
- Entfernen Sie bestimmte Schlüsselwörter.
- Konvertieren Sie es von der Base64-Kodierung.
- AES-Entschlüsselung mit CBC-Modus.
- Dekomprimiert den GZipStream von 3rd
- Laden Sie die Assembly von EntryPoint.

Abbildung 6: PowerShell-Skript
Das Powershell-Skript legt die Asyncrat-Malware-Dotnet-EXE im temporären Ordner ab und startet ihre Ausführung.
Stufe 3: AsyncRat
Die abgelegte Datei ist ungeschützt und deobfuskiert.

Abbildung 7 : Abgelegte EXE-Datei
Die Ausführung von Asyncrat beginnt mit der Initialisierung der Konfigurationen durch Entschlüsselung der Werte, die im CBC-Modus mit Base64-Kodierung AES-verschlüsselt sind.

Abbildung 8: Konfigurationsinitialisierung

Abbildung 9: AES-Entschlüsselung
Anti-Analyse-Modul
Es untersucht die Umgebung, um herauszufinden, ob die Probe analysiert wird. Dazu wird geprüft, ob ein Debugger, eine Sandbox oder andere Indikatoren vorhanden sind. Werden solche Indikatoren erkannt, wird die Ausführung beendet.

Abbildung 10: Anti-Analyse-Modul
Wenn während der Ausführung Prozesse aus der Liste wie Taskmgr, ProcessHacker, ProcExp usw. erkannt werden, führt dies zur Beendigung der Prozesse.

Abbildung 11: Prozess beenden
AMSI und Event Tracing Bypass
Um die AMSI-/Ereignisverfolgung zu umgehen, wird die Systemarchitektur identifiziert, auf deren Grundlage entsprechende Funktionen aufgerufen werden.

Abbildung 12: ByPass
AMSI ist eine Anti-Malware-Scan-Schnittstelle für Windows, die die Integration von Anwendungen und Diensten mit Anti-Malware-Produkten ermöglicht.
In AMSI integrierte Komponenten sind:
- User Access Control
- Powershell
- Windows Script Host
- JavaScript und VBScript
- Office VBA-Makro
Um dies zu umgehen, patchen Sie die Funktion amsiscanbuffer() von amsi.dll.

Abbildung 13: AMSI ByPass
Um das zu erreichen
- Zuerst ruft es die Adresse der entsprechenden Funktion ab – amsiscanbuffer
- Anschließend ändert es mithilfe von NtProtectVirtualMemory() den Speicherschutz, damit die Seite die neuen Anweisungen schreiben kann.
- Außerdem wird der Speicher mit entsprechenden neuen Bytes gepatcht:
- x86_am_si_patch = 0xB8, 0x57, 0x00, 0x07, 0x80, 0xc2, 0x18, 0x00;
- x64_am_si_patch = 0xB8, 0x57, 0x00, 0x07, 0x80, 0xc3;

Abbildung 14: Speicher patchen
Die Ereignisverfolgung ist ein Mechanismus zur Verfolgung von Anwendungen/Treibern auf Benutzer- und Kernelebene und Teil des Windows-Betriebssystems. Sie ist eine wichtige Funktion, die Sicherheitsanbietern hilft, anomales Verhalten in laufenden Anwendungen zu erkennen.
Um dies zu umgehen, wird die EtwEventWrite()-Funktion von ntdll gepatcht. Der Prozess hierfür ist derselbe wie oben für die AMSI-Umgehung beschrieben. Neu geschriebene Bytes sind:
- x64_etw_patch = 0x48, 0x33, 0xc0, 0xc3;
- x86_etw_patch = 0x33, 0xc0, 0xc2, 0x14, 0x00;

Abbildung 15: Ereignisverfolgungs-ByPass
Beharrlichkeit
Es erstellt einen Ausführungseintrag, wenn es über Administratorrechte verfügt. Andernfalls wird eine geplante Aufgabe zur zeitnahen Ausführung erstellt.

Abbildung 16: Registrierungseintrag

Abbildung 17: Task planen
Es erstellt eine temporäre Bat-Datei, die sich selbst an den Speicherort %temp% kopiert, löscht später die Bat-Datei und startet die Ausführung der abgelegten Datei.

Abbildung 18: Installation
Anschließend wird nach Pastebin-Details gesucht. Wenn diese auf Null gesetzt sind, wird versucht, eine Verbindung mit der URL „jzx100.myddns.me“ herzustellen. Danach wird in einer Schleife so lange versucht, eine Verbindung herzustellen, bis die Verbindung hergestellt ist.

Abbildung 19: CNC-Verbindung
Sobald die Verbindung erfolgreich ist, werden die folgenden Informationen gesendet: Benutzername, Betriebssystem, Kamera, installiertes Antivirenprogramm usw., wie im Bild gezeigt.

Abbildung 20: Senden von Informationen an CnC
Zum Zeitpunkt unserer Analyse war die URL nicht aktiv. Durch die Codeanalyse sieht es auch so aus, als würde sie die folgenden Befehle von CnC empfangen und entsprechend funktionieren, wobei sie das im Paket empfangene Plugin aufzurufen und die Verbindung aufrechtzuerhalten scheint.

Abbildung 21: CNC-Befehle
Fazit:
Nutzer sollten den Download von gecrackter Software vermeiden, da diese ohne ihr Wissen größeren Schaden anrichtet. Diebstahler, die sensible Daten an die CnC senden, könnten diese zur Planung von Angriffen oder zur Erzielung von Gewinnen nutzen. Darüber hinaus verfügen diese Diebstahler über Funktionen zum Herunterladen weiterer Payloads, die zur Verbreitung von Ransomware auf dem System führen können.
IOCs:
96B07F8951F4BDEB95856D9477071865
1528F443777A42B09AE19D7E6F5F508A
Autor:
Rumana Siddiqui



