Die bösartige Backdoor Pikabot ist modular aufgebaut und verfügt über einen Loader und eine Kernkomponente, 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, ohne Hinweise, ob es sich um die gleichen Malware-Autoren handelt. 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.
Bösartige Funktionalität
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.
Verzögerung der 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.
Mehr bei Zscaler.com
Über Zscaler Zscaler beschleunigt die digitale Transformation, damit Kunden agiler, effizienter, widerstandsfähiger und sicherer werden können. Zscaler Zero Trust Exchange schützt Tausende von Kunden vor Cyberangriffen und Datenverlusten, indem es Nutzer, Geräte und Anwendungen an jedem Standort sicher verbindet. Die SSE-basierte Zero Trust Exchange ist die weltweit größte Inline-Cloud-Sicherheitsplattform, die über mehr als 150 Rechenzentren auf der ganzen Welt verteilt ist.