Die Verbreitung erfolgt über einen Dropper, der zwei verschlüsselte Komponenten mitbringt und die nativen SessionInstaller-APIs missbraucht, um Einschränkungen zu umgehen. Die Architektur von RatHat besteht laut Zimperium aus drei Teilen: einer bösartigen Android-Anwendung, einem in Go geschriebenen Agenten und einem FRP-Client.

Die App beschafft sich die kritischen Systemberechtigungen, stößt die Infektionskette an und liefert die Benutzeroberfläche. Über eine dynamische Konfiguration können die Betreiber verschiedene Activity-Aliase aktivieren. Für den Zugriff auf die Bedienungshilfen (Accessibility Services) und die anschließende Rechteausweitung kommt ein lokalisierter HTML-Köder zum Einsatz.

Zum Funktionsumfang der Anwendung gehört eine ausgefeilte Engine für WebView-Overlay-Injektionen, die gefälschte Oberflächen populärer Apps einblendet. Sie zeichnet Bildschirminhalte und Nutzereingaben auf, fängt SMS-Nachrichten ab und fordert Device-Admin-Rechte an, die es ihr erlauben, das Gerät zu löschen.

Anzeige

Das auffälligste Merkmal ist die Anbindung an einen generativen KI-Assistenten. Dafür serialisiert die Malware den aktuellen Accessibility-Baum des Geräts nach XML und übergibt ihn der KI, die Bildschirminhalt und Layout liest, um das Gerät automatisch zu navigieren und zu bedienen. Diese KI-gestützte Steuerung nutzt RatHat nach Angaben von Zimperium für nicht-bösartige Aktionen.

Nachdem sich die Schadsoftware über den lokalen ADB-Daemon eine Shell verschafft hat, legt sie den Go-Agenten ab und führt ihn aus. Er fungiert als Steuerzentrale von RatHat, führt Befehle aus und sichert sich Persistenz auf Systemebene sowie Ausnahmen vom Energiemanagement.

Die dritte Komponente ist frpc, ein von fatedier/frp abgeleiteter Reverse-Proxy-Client. Er baut einen dauerhaften, abgesicherten Rückwärtstunnel auf und verschafft den Angreifern so Zugang zum ADB-Daemon, um Befehle auszuführen.

Deinstallationsversuche kann RatHat abfangen und abbrechen. Selbst wenn Nutzer die Anwendung entfernen, verbleibt der Shell-Dienst auf dem Gerät, prüft in regelmäßigen Abständen, ob die App noch vorhanden ist, und installiert sie andernfalls erneut.

Das Mitschneiden von Eingaben setzt die Malware über drei getrennte Mechanismen um: Sie wertet Textänderungsereignisse der Bedienungshilfen aus, um Getipptes zu rekonstruieren, liest Browser-Adressleisten anhand der Ressourcen-ID aus, und der Go-Agent zeichnet auf Hardware-Ebene auf, wo der Finger den Bildschirm berührt. Dazu nutzt der Agent seine Ausführung in der Shell-Umgebung und greift auf das Standard-Debugging-Werkzeug getevent von Android zurück, um die vom Kernel beschriebene Gerätedatei auszulesen. Aus den rohen Ereigniskoordinaten lässt sich durch Abgleich mit dem Tastenfeld-Layout die Eingabe – etwa eine PIN – rekonstruieren.