Das Netz der Cyberbedrohungen erweitert sich ständig, und PumaBot ist ein aktuelles Beispiel für die fortschreitende Entwicklung moderner Schadsoftware. Dieses Botnet hat sich speziell auf Linux-Geräte fokussiert, die häufig in Internet-of-Things (IoT)-Umgebungen zu finden sind, und nutzt gezielte Brute-Force-Attacken auf SSH-Zugangsdaten, um Kontrolle über Systeme zu erlangen. Die Besonderheit von PumaBot liegt dabei nicht nur in seiner Angriffsmethode, sondern vor allem in seiner gezielten Ausrichtung und komplexen Tarnmechanismen, die das Erkennen und Beseitigen erschweren. Forscher von Darktrace entdeckten die Schadsoftware, die in der Programmiersprache Go geschrieben ist. Das ist bemerkenswert, weil Go für seine Effizienz und Einfachheit im Bereich der Netzwerkprogramme bekannt ist, was dem PumaBot ermöglicht, sich schnell und schlank in unterschiedlichen Linux-Umgebungen zu verbreiten.
Anders als viele generische Botnets scannt PumaBot das Internet nicht wahllos nach Schwachstellen. Stattdessen arbeitet es mit speziell bereitgestellten IP-Adresslisten, die es von einem Command-and-Control-Server erhält. Somit konzentriert sich der Angriff auf ausgewählte Ziele, was auf eine geplante Kampagne oder gezielte Operationen hindeutet. Das Hauptangriffsziel ist der SSH-Dienst, der auf Port 22 läuft. Durch Brute-Force-Attacken versucht PumaBot die Zugangsdaten zu knacken, um sich Zugang zu den betroffenen Geräten zu verschaffen.
Besonders auffällig ist, dass die Malware während der Attacke nach der Zeichenkette „Pumatronix“ sucht. Dieser Hinweis deutet darauf hin, dass PumaBot gezielt Systeme eines bestimmten Herstellers von Videoüberwachungssystemen und Verkehrsüberwachungskameras angreift. Nachdem die Malware einen erfolgreichen Zugriff erhalten hat, führt sie eine Reihe von Aktionen durch, um das System auszuspionieren und sich dauerhaft zu etablieren. Ein erster Befehl, der ausgeführt wird, ist uname -a, um Informationen über das System zu sammeln und sicherzustellen, dass es sich nicht um einen Honeypot handelt – also ein System, das von Sicherheitsforschen zur Überwachung von Angriffen eingesetzt wird. Anschließend wird der Hauptkomponenten-Binärdatei von PumaBot, genannt „jierui“, im System abgelegt.
Interessanterweise versteckt sich dieser unter dem Pfad /lib/redis und tarnt sich, indem er den Namen eines legitimen Systemdienstes verwendet. Zur Gewährleistung eines globalen Starts nach Systemneustarts installiert PumaBot außerdem systemd-Dienste, die unter den Namen redis.service oder mysqI.service (mit ähnlich klingendem Namen zum Verwirren) laufen, um die Malware dauerhaft innerhalb des Systems zu verankern. Dadurch wird die Entfernung für den IT-Administrator sehr viel schwieriger, da die Malware sich selbständig neu startet.
Ein weiterer raffinierter Schritt der Malware ist die Manipulation des SSH-Anmeldesystems: PumaBot fügt seinen eigenen SSH-Schlüssel in die Datei authorized_keys ein. Das bedeutet, selbst wenn die Malware entdeckt und scheinbar bereinigt wird, behält der Angreifer weiterhin Zugang zum System über SSH, solange der Schlüssel nicht explizit entfernt wird. Die Steuerung von PumaBot erfolgt durch einen Command-and-Control-Server, der Befehle zum Datendiebstahl, zur Installation neuer schädlicher Module oder für seitliche Bewegungen innerhalb des Netzwerks senden kann. Dabei hat die Malware eine vielseitige Funktionalität, zu der neben Ausspähen auch das Einspielen weiterer Schadsoftware und das Abgreifen von Systeminformationen gehört. Unter den zusätzlichen Tools der Malware befinden sich auch selbstaktualisierende Skripte und PAM-Rootkits.
PAM steht für Pluggable Authentication Modules und ist ein System in Linux, das die Authentifizierung regelt. PumaBot nutzt einen manipulierten PAM-Modul namens pam_unix.so, der es ermöglicht, SSH-Zugangsdaten in Klartext auszulesen und diese Informationen in einer lokalen Datei namens con.txt zu speichern. Diese Datei wird anschließend an den Command-and-Control-Server übertragen.
Um Spuren zu verwischen, wird die Datei nach der Übertragung vom infizierten Host gelöscht. Zusätzlich werden Schadcode-Daemons mit dem kryptischen Dateinamen „1“ eingesetzt, die ebenfalls Teil der Malware-Infrastruktur sind. Neben der Datenspionage weist PumaBot auch Mining-Funktionen auf, um Kryptowährungen wie Monero zu schürfen. Befehle wie xmrig oder networkxm werden dafür verwendet. Das heißt, kompromittierte Geräte können zur unbemerkten Ressourcenausbeutung missbraucht werden – eine Verbreitung, von der der Angreifer finanziell profitiert.
Während der Analysephasen war der zentrale Steuerungsserver teilweise nicht erreichbar, was die genaue Einschätzung der langfristigen Ziele und des Ausmaßes des Botnets erschwert. Trotzdem zeigt der Fund von PumaBot, wie Cyberangreifer gezielt auf Nischenbereiche wie IoT-Linux-Geräte zugreifen, um sie in groß angelegte Botnetze einzubinden. Für Anwender und Unternehmen bedeutet das eine deutliche Warnung: Die Sicherheit von SSH-Zugängen muss verbessert und überwacht werden. Hierzu gehören der Einsatz von starken, individuellen Passwörtern, die Nutzung von SSH-Schlüsseln mit hoher Sicherheit und das regelmäßige Überprüfen von Logs auf verdächtige Login-Versuche. Auch das Einsatz von Intrusion Detection Systemen sowie das aktuelle Patchen des Systems sind unerlässlich.