Das ThreatlabZ-Team von Zscaler beobachtet seit Anfang 2023 eine neue Backdoor mit dem Namen Pikabot, die für die Verbreitung von Cobalt-Strike eingesetzt wird. Eine technische Analyse zeigt, dass die bösartige Backdoor modular aufgebaut ist und über einen Loader und eine Kernkomponente verfügt, die den Großteil der Funktionen implementiert. Es kommen eine Reihe an Anti-Analysetechniken zum Einsatz, die die Erkennung der schädlichen Aktivitäten erschwert. Im Rahmen der Analyse wurde eine Ähnlichkeit mit Qakbot hinsichtlich des Verbreitungsmodus, der Kampagnen und des Malware-Verhaltens festgestellt. Sie ist in der Lage, Befehle von einem Command-and-Control-Server zu empfangen, der für die Einschleusung von beliebigem Shellcode, DLLs oder ausführbaren Dateien sorgt.
Code-Injektor entschlüsselt Kernmodul
Nach der Erstinfektion durch den Loader implementiert das Kernmodul die bösartige Funktionalität, die die Fähigkeit zur Ausführung beliebiger Befehle und zur Injektion der eigentlichen Payload umfasst. Dabei wird ein Code-Injektor verwendet, der das Kernmodul entschlüsselt. Sie verwenden eine Reihe von Anti-Analyse-Techniken, wie die Windows API-Funktion Beep, um die Ausführung zu verzögern, die Windows API-Funktionen CheckRemoteDebuggerPresent oder das Nachladen von falschen Libraries, um Sandboxen zu erkennen. Zusätzlich werden Systeminformationen, wie Memory oder die Anzahl der Prozessoren abgefragt. Darüber hinaus wird das öffentliche Tool ADVobfuscator eingesetzt, um wichtige Strings der Malware zu verschleiern. Wenn die Anti-Analyse Tests fehlschlagen, terminiert Pikabot die Ausführung.
Beim Nachladen der Kernmodule geht Pikabot wie folgt vor: Zuerst wird ein Satz an png-Bildern geladen, die im Ressourcen-Bereich gespeichert sind. Diese werden durch einen bitwise XOR-Vorgang decodiert. Jedes der Bilder enthält dabei einen verschlüsselten Teil des Kernmoduls. Zur Entschlüsselung des Codes über AES (CBC Modus) kommt ein 32-byte Key zum Einsatz, bei dem die ersten 16 Bytes der verschlüsselten Daten als Initialisierungsvektor eingesetzt werden. Nach der Entschlüsselung der Haupt-Payload kreiert der Pikabot-Injektor einen Prozess über einen Datenpfad, wie WerFault und injiziert das Kernmodul.
Schlaffunktion verzögert Ausführung
Ähnlich dem Injektor setzt auch das Kernmodul auf zusätzliche Anti-Analyse-Checks, wie beispielsweise eine „Schlaffunktion“ zur Verzögerung der Ausführung. Dabei kommt die API-Funktion NtContinue mit einem Timer zur Aktivierung zum Einsatz. Zusätzlich zu diesen Tests wird die Sprache des infizierten Systems erfasst. Wird dabei eine der folgenden Sprachen entdeckt, wird die weitere Ausführung abgebrochen: Georgisch, Kasachisch, Usbekisch, Tadschikisch, Russisch, Ukrainisch, Weißrussisch oder Slowenisch. Ein solches Vorgehen wird häufig bei Bedrohungsakteuren aus GUS-Staaten beobachtet, um der Strafverfolgung zu entgehen.
Nach Abschluss des Ladevorgangs registriert Pikabot den kompromittierten Host auf dem Command und Control-Server mit Hilfe gesammelter Systeminformation. Ähnlich wie bei anderen Botnets wird dabei ein einzigartiger Identifier erstellt. Wenn die Registrierung abgeschlossen ist, startet Pikabot seine Aktivität mit Abfragen an den Server.
Neueste Kommentare
Noch keine Kommentare zu Trojaner Pikabot treibt sein Unwesen
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.