Das Windows-Implantat TernDoor wird über DLL-Side-Loading ausgeliefert. Dabei nutzen die Angreifer die legitime ausführbare Datei “wsprint.exe”, um eine bösartige DLL (“BugSplatRc64.dll”) zu laden, die die finale Schadsoftware entschlüsselt und im Speicher ausführt. TernDoor ist eine Variante von Crowdoor, das seinerseits von SparrowDoor abstammt. Nach Angaben von Talos setzt UAT-9244 die Hintertür mindestens seit November 2024 ein.
TernDoor verankert sich über eine geplante Aufgabe oder den Registry-Run-Schlüssel im System. Im Vergleich zu CrowDoor verwendet es einen abweichenden Satz von Befehlscodes und bettet einen Windows-Treiber ein, um Prozesse anzuhalten, fortzusetzen und zu beenden. Es unterstützt zudem nur einen einzigen Kommandozeilenschalter ("-u"), mit dem es sich selbst entfernt und alle zugehörigen Artefakte löscht. Nach dem Start prüft das Implantat, ob es in “msiexec.exe” injiziert wurde, dekodiert anschließend seine Konfiguration und stellt die Verbindung zum Command-and-Control-Server (C2) her. Darüber kann es Prozesse erzeugen, beliebige Befehle ausführen, Dateien lesen und schreiben, Systeminformationen sammeln und den Treiber ausrollen.
Bei der Untersuchung der Infrastruktur stießen die Forscher auf PeerTime, eine Peer-to-Peer-Hintertür für Linux. Sie ist für mehrere Architekturen kompiliert (ARM, AARCH, PPC und MIPS), um unterschiedliche eingebettete Systeme zu infizieren. Die ELF-Hintertür wird zusammen mit einer sogenannten Instrumentor-Binärdatei über ein Shell-Skript ausgeliefert.
“Die Instrumentor-ELF-Binärdatei prüft mit den Befehlen docker und docker –q, ob auf dem kompromittierten Host Docker vorhanden ist”, erklären die Talos-Forscher Asheer Malhotra und Brandon White. Wird Docker gefunden, startet der PeerTime-Loader. Der Instrumentor enthält Debug-Zeichenketten in vereinfachtem Chinesisch, was nach Einschätzung der Forscher darauf hindeutet, dass es sich um eine maßgeschneiderte Binärdatei chinesischsprachiger Akteure handelt.
Der Loader entschlüsselt und entpackt die finale PeerTime-Schadsoftware und führt sie direkt im Speicher aus. PeerTime existiert in zwei Ausführungen: einer in C/C++ geschriebenen sowie einer neueren Variante in Rust. Die Hintertür kann sich als harmloser Prozess umbenennen, um der Erkennung zu entgehen, und nutzt das BitTorrent-Protokoll, um C2-Informationen zu beziehen, Dateien von ihren Peers herunterzuladen und auf dem kompromittierten System auszuführen.
Auf den Servern des Akteurs lagern zudem Shell-Skripte und Schadprogramme, darunter der Brute-Force-Scanner BruteEntry. Er wird auf Edge-Geräten installiert und verwandelt diese in Massen-Scan-Knoten innerhalb einer Operational Relay Box (ORB), die Postgres-, SSH- und Tomcat-Server per Brute-Force angreift. Dafür legt ein Shell-Skript zwei in Go geschriebene Komponenten ab: einen Orchestrator, der BruteEntry ausliefert. Dieses kontaktiert anschließend einen C2-Server, um die Liste der anzugreifenden IP-Adressen zu erhalten, und meldet erfolgreiche Anmeldungen zurück. Laut Talos zeigt das Feld “success” an, ob ein Brute-Force-Versuch erfolgreich war, während “notes” Details liefert; bei einem fehlgeschlagenen Login lautet der Hinweis “Alle Anmeldedaten ausprobiert”.
