Die mit TELEPUZ verknüpfte ClickFix-Angriffskette führt zur Ausführung von PowerShell. Darüber wird von einer entfernten Adresse eine zweite Stufe nachgeladen und gestartet. Diese Nutzlast ist eine in Go geschriebene Variante des Vidar Stealer, der laut Elastic dafür bekannt ist, sensible Daten von infizierten Systemen abzugreifen und weitere Schadsoftware nachzuladen. In diesem Fall bringt er eine Stager-Binärdatei nach, die TELEPUZ als „telepuz.dll“ über „rundll32.exe“ startet. Sowohl der Stager als auch die eigentliche DLL werden von der Domain „hurgadatour[.]shop“ bezogen.
TELEPUZ selbst ist in C geschrieben und laut Elastic leichtgewichtig sowie modular. Die Forscher sehen Anzeichen dafür, dass die Malware von einem einzelnen Entwickler oder einem sehr kleinen Team mit Programmiererfahrung erstellt wurde. Das kontinuierliche tägliche Aufkommen zugehöriger Einreichungen bei VirusTotal deute zudem darauf hin, dass TELEPUZ wahrscheinlich im Modell Malware-as-a-Service angeboten wird.
Um Analysen zu erschweren, nutzt die Schadsoftware mehrere Verschleierungstechniken. Elastic nennt funktionslose Füllbefehle, das Auflösen von Importen über gehashte Namen, String-Verschlüsselung und indirekte Systemaufrufe. Danach folgen Prüfungen auf virtuelle Umgebungen und den geografischen Standort. TELEPUZ kontrolliert unter anderem, ob ein System weniger als zwei CPUs, weniger als 2 GByte Arbeitsspeicher oder zu wenig Festplattenspeicher hat. Zusätzlich prüft die Malware, ob die Locale-ID des Systems zu einer fest eincodierten Liste von Staaten der Gemeinschaft Unabhängiger Staaten gehört.
Hinzu kommen Vergleiche des aktuellen Benutzernamens und Computernamens mit einer fest hinterlegten Liste typischer Kennungen aus Sandboxes und der Malware-Forschung. Wird eine virtuelle oder überwachte Umgebung oder ein nicht erlaubter geografischer Standort erkannt, beendet TELEPUZ die Ausführung sofort.
Bestehen diese Prüfungen, versucht die Malware laut Elastic Sicherheitsüberwachung auszuschalten. Dazu entfernt sie Hooks in NTDLL, deaktiviert die Antimalware Scan Interface (AMSI) sowie Event Tracing for Windows (ETW) und entfernt DllNotification-Rückrufe von Drittanbietern. Anschließend sucht sie nach Debuggern und versucht, diese zum Absturz zu bringen. Danach ermittelt sie die Prozess-ID des Elternprozesses und gleicht dessen Namen mit bekannten Startern wie „rundll32.exe“ und „svchost.exe“ ab. In der letzten Phase erzeugt TELEPUZ eine eindeutige Opferkennung aus der Hardware-Seriennummer, dem Computernamen und dem Installationsdatum des Betriebssystems.
Laut François startet die Malware nach erfolgreicher Sitzungsidentifikation zwei parallele Threads: einen für Rechteausweitung und Installation als Dienst sowie einen zweiten für die Kommunikation mit dem C2-System. Der Installations-Thread versucht zunächst, sich über die COM-Elevation-Moniker-Technik Administratorrechte zu verschaffen. Abhängig von der Konfiguration versucht TELEPUZ danach, durch das Stehlen des Tokens des zuerst gefundenen Prozesses mit einem der Namen „spoolsv.exe“, „msdtc.exe“, „WmiPrvSE.exe“ oder „svchost.exe“ SYSTEM-Rechte zu erlangen. Anschließend registriert sich die Malware als Dienst, indem sie die nötigen Registry-Schlüssel anlegt, damit Windows sie in einer neuen „svchost.exe“-Instanz lädt.
Parallel dazu versucht TELEPUZ bis zu zehnmal, eine Verbindung zu seinem C2-Server aufzubauen. Schlagen diese Versuche fehl, ruft die Malware die Ausweichadresse des C2 über vier verschiedene Methoden ab. Für die Kommunikation mit dem C2 nutzt TELEPUZ WebSockets mit optionalem TLS und wartet dort auf Anweisungen des Operators. Laut Elastic kann die Malware dann Dateien auflisten und bearbeiten, Tastatureingaben protokollieren, Befehle ausführen, Prozesse verwalten, Bildschirmaufnahmen erstellen, Web-Injektionen durchführen und Cookies aus Chromium-basierten Browsern extrahieren. Außerdem kann sie ausführbare Dateien und DLL-Module herunterladen und starten.
Die Web-Injektionskomponente kann auch direkt mit dem C2-Server kommunizieren, um Befehle für Chromium-basierte Browser und Mozilla Firefox zu empfangen und auszuführen. Diese Befehle ermöglichen laut Elastic das Abziehen von Cookies und die Ausführung beliebigen JavaScripts in den Browsern über das Chrome DevTools Protocol und das WebDriver-BiDi-Protokoll.
Elastic zufolge spricht die geringe Zahl beobachteter C2-Systeme dafür, dass sich das mutmaßliche Malware-as-a-Service-Angebot trotz der hohen Zahl erzeugter Builds noch in einem frühen Stadium befindet. Während die Staging-Domains durch Cloudflare abgeschirmt seien und damit ihre tatsächlichen Hosting-Standorte verborgen blieben, hätten sich die C2-Server als kompromittierte Websites in Brasilien beziehungsweise Indien identifizieren lassen.
