Censys stieß nach eigenen Angaben in diesem Monat auf die Kampagne, nachdem die Forscher ein offenes Verzeichnis unter der IP-Adresse 77.110.96[.]200 entdeckt hatten. Diese Adresse wird dem als kugelsicher geltenden Hosting-Anbieter Aeza Group zugeordnet. Das Verzeichnis enthielt demnach einen bislang nicht dokumentierten Werkzeugsatz, darunter zwei Aufklärungstools, die exponierte ComfyUI-Instanzen in der Cloud-Infrastruktur erfassen, Installationen mit ComfyUI-Manager identifizieren und die für den Exploit anfälligen Ziele herausfiltern.

Eines der beiden Python-Skripte dient zugleich als Exploit-Framework. Es missbraucht ComfyUI-Custom-Nodes zur Codeausführung — eine Technik, deren Grundlagen Snyk im Dezember 2024 teilweise beschrieben hat. Sie nutzt aus, dass manche Custom Nodes rohen Python-Code als Eingabe annehmen und ihn ohne jede Authentifizierung direkt ausführen. Der Scanner sucht gezielt nach bestimmten Node-Familien, die eine solche beliebige Codeausführung erlauben.

Ist keiner der gesuchten Nodes vorhanden, prüft der Scanner laut Censys, ob der ComfyUI-Manager installiert ist. Trifft das zu, installiert er selbst ein verwundbares Node-Paket und versucht den Exploit erneut. Das dafür eingesetzte Paket „ComfyUI-Shell-Executor" wurde vom Angreifer erstellt und lädt ein Shell-Skript namens „ghost.sh" von der genannten IP-Adresse nach. Nach erfolgreicher Codeausführung löscht der Scanner die ComfyUI-Prompt-Historie, um Spuren zu beseitigen.

Eine neuere Version des Scanners bringt zusätzliche Persistenzmechanismen mit: Das Shell-Skript wird alle sechs Stunden heruntergeladen, und bei jedem Start von ComfyUI läuft der Exploit erneut. Das Skript selbst deaktiviert die Shell-Historie, beendet konkurrierende Miner, startet den Mining-Prozess und versteckt über einen LD_PRELOAD-Hook einen Watchdog, der den Miner bei Beendigung neu startet. Der Miner wird zudem an mehrere Orte kopiert, sodass er aus einem Ausweichverzeichnis starten kann, falls das Hauptverzeichnis gelöscht wird. Mit dem Befehl „chattr +i" werden die Miner-Dateien gesperrt, sodass selbst der Root-Nutzer sie nicht löschen, ändern oder umbenennen kann.

Eigener Code richtet sich gegen einen Konkurrenten namens „Hisana", offenbar ein weiteres Mining-Botnet. Statt es schlicht zu beenden, überschreibt „ghost.sh" dessen Konfiguration, um Hisanas Mining-Erträge auf die eigene Wallet-Adresse umzuleiten, und belegt anschließend dessen C2-Port (10808) mit einem Platzhalter-Listener in Python, damit Hisana nicht neu starten kann.

Über das Flask-basierte C2-Panel kann der Betreiber Befehle ausspielen oder weitere Schadlasten verteilen — etwa ein Skript, das Hysteria V2 installiert, vermutlich um kompromittierte Knoten als Proxys zu verkaufen. Die Auswertung der Shell-Befehlshistorie offenbarte zudem einen SSH-Login-Versuch als Root auf die IP-Adresse 120.241.40[.]237, die mit einer laufenden Wurm-Kampagne gegen exponierte Redis-Server in Verbindung gebracht wird.

Vieles an dem Werkzeugsatz wirke hastig zusammengesetzt, so Censys; die Vorgehensweise könne zunächst wenig versiert erscheinen. Die genutzte Infrastruktur deute jedoch darauf hin, dass die Aktivität Teil einer größeren Kampagne sei, die exponierte Dienste aufspürt, ausnutzt und anschließend eigene Werkzeuge zur Persistenz, zum Scannen oder zur Monetarisierung einsetzt.