Inhaltsverzeichnis
Die Entwicklungen von qBittorrent
Die Funktionen von BitTorrent-Clients haben sich in den letzten 20 Jahren nicht grundlegend geändert, aber die Entwickler der beliebtesten Clients haben ihre Software nicht stagnieren lassen.
Ein gutes Beispiel ist das hervorragende qBittorrent, ein funktionsreicher Open-Source-Client, der regelmäßig aktualisiert wird. Wie andere ähnliche Clients kann qBittorrent auf GitHub gefunden werden, wo auch sein Quellcode und die Installationsanweisungen zu finden sind.
Vor kurzem versuchten Nutzer derselben Plattform zu verstehen, wie die Standardinstallation von qBittorrent plötzlich dazu führte, dass auf demselben Rechner eine unerwünschte Kryptowährungs-Mining-Software auftauchte.
Proxmox und LXC
Für diejenigen, die Proxmox VE nicht kennen: Es handelt sich um eine Umgebung für virtuelle Maschinen, die sehr schnell sehr nützlich wird, wenn man sie erst einmal ausprobiert hat. Außerdem ist sie für Normalsterbliche kostenlos und in den meisten Fällen sehr einfach zu installieren und zu verwenden.
Mithilfe verschiedener "Hilfsskripte", die von tteck auf GitHub angeboten werden (kleines Beispiel rechts), können selbst Anfänger mithilfe der LXC-Container in Sekundenschnelle eines der vielen verfügbaren Softwarepakete installieren.
Auch wenn das alles keinen Sinn ergibt, spielt es keine Rolle. Wer z. B. qBittorrent installieren will, kann eine einzige Textzeile in Proxmox kopieren und einfügen - und das war's. Da der gesamte Prozess fast immer fehlerfrei abläuft, sind Probleme von Nutzern sehr selten, daher war es überraschend, vor kurzem von einer möglichen Infektion mit Malware zu hören.
Entdeckung des Kryptominer
Kurz gesagt: Ein Proxmox-Benutzer benutzte ein Skript von tteck, um qBittorrent zu installieren. Einen Monat später stellte er fest, dass sein Rechner intensiv von einer als xmrig bekannten Kryptowährungs-Mining-Software genutzt wurde. Während er das Problem untersuchte, entfernte tteck vorsichtshalber das LXC-Skript von qBittorrent, aber es wurde schnell klar, dass weder Proxmox noch ttecks Skript etwas mit dem Problem zu tun hatten.
Die unerwünschte Software war tatsächlich böswillig installiert worden, allerdings aufgrund einer Reihe von vermeidbaren Ereignissen und nicht aufgrund eines genialen Hackerangriffs.
Wenn eine qBittorrent-Installation wie diese abgeschlossen ist und die Software gestartet wird, erfolgt der Zugriff auf qBittorrent über ein Webinterface, das von den meisten Webbrowsern aus zugänglich ist. Standardmäßig verwendet qBittorrent den Port 8080. Da viele Benutzer gerne über entfernte Netzwerke auf ihre Torrent-Clients zugreifen, verwendet qBittorrent Universal Plug and Play (UPnP), um die Port-Weiterleitung zu automatisieren, wodurch die Weboberfläche dem Internet ausgesetzt wird.
Dies in Rekordzeit funktionsfähig zu haben, ist sehr angenehm, aber es bedeutet nicht, dass es sicher ist. Um sicherzustellen, dass nur der Betreiber des Clients auf das Webinterface zugreifen kann, erlaubt qBittorrent dem Benutzer, einen Benutzernamen und ein Passwort zu Authentifizierungszwecken einzurichten.
Das bedeutet in der Regel, dass zufällige Passanten diese Anmeldeinformationen besitzen müssen, bevor sie Schaden anrichten können. In diesem Fall wurden der Standardbenutzername und das Standardpasswort für den Administrator nicht geändert, sodass ein Angreifer problemlos auf die Weboberfläche zugreifen konnte.
Der Angreifer hat qBittorrent angewiesen, ein externes Programm auszuführen
Damit die Benutzer verschiedene Aufgaben im Zusammenhang mit dem Herunterladen und Organisieren ihrer Dateien automatisieren können, verfügt qBittorrent über eine Funktion, die automatisch ein externes Programm ausführen kann, wenn ein Torrent hinzugefügt wird und/oder wenn ein Torrent beendet wird.
Die Optionen hier sind nur durch die Vorstellungskraft und die Fähigkeiten des Benutzers begrenzt, aber leider gilt dies auch für jeden Angreifer, der Zugriff auf die Webschnittstelle des Kunden hat.
In diesem Fall wies der Angreifer den qBittorrent-Client an, am Ende eines Torrents ein Basisskript auszuführen. Das Skript griff auf die Domain http://cdnsrv.in zu, von der es eine Datei namens update.sh herunterlud und dann ausführte. Die Folgen davon werden von tteck ausführlich erläutert, die wichtigsten Punkte sind jedoch: a) unerlaubtes Mining von Kryptowährung auf dem Host-Rechner und b) Aufrechterhaltung des Root-Zugriffs durch SSH-Schlüsselauthentifizierung.
Leicht vermeidbar
Der Standard-Administrator-Benutzername von qBittorrent lautet "admin", während das Standard-Passwort "adminadmin" lautet. Wenn diese wohlbekannten Standardwerte nach der Installation geändert worden wären, hätte der Angreifer die Webschnittstelle trotzdem finden können, aber er hätte keine nützlichen Anmeldeinformationen für den normalen Zugriff gehabt.
Grundsätzlich hätte der Besitz der richtigen Anmeldeinformationen nur einen begrenzten Wert gehabt, wenn der qBittorrent-Client nicht UPnP verwendet hätte, um die Webschnittstelle überhaupt erst freizulegen. Einen Schritt weiter gedacht: Wenn UPnP im Router des Benutzers nicht aktiviert gewesen wäre, hätte qBittorrent keinen Zugriff auf UPnP gehabt und hätte keine Ports umleiten oder die Schnittstelle dem Internet aussetzen können.
Kurz gesagt: Deaktivieren Sie UPnP im Router und aktivieren Sie es nur, wenn seine Funktion vollständig verstanden wird und absolut notwendig ist. Lassen Sie die Standardpasswörter nie unverändert und wenn etwas nicht unbedingt dem Internet ausgesetzt sein muss, setzen Sie es nicht unnötig aus.
Schließlich sollte noch erwähnt werden, dass die Antwort von tteck, auf ein Problem, das nichts mit Proxmox oder seinen Skripten zu tun hatte, erstklassig war. Jeder, der von hier aus qBittorrent LXC installiert, wird feststellen, dass das Standard-Administratorpasswort geändert und UPnP automatisch deaktiviert wurde.
Jede gewonnene Zeit kann für die automatisierte Installation von Plex, Tautulli, Emby, Jellyfin, Jellyseerr, Overseerr, Navidrome, Bazarr, Lidarr, Prowlarr, Radarr, Readarr, Sonarr, Tdarr, Whisparr und vielen anderen verwendet werden.