Der FritzFrog-Wurm wurde entdeckt, der Server über SSH infizierte und ein dezentrales Botnetz aufbaute

Guardicore-Unternehmen, spezialisiert auf den Schutz von Rechenzentren und Cloud-Systemen, enthüllt FritzFrog, eine neue High-Tech-Malware, die Linux-basierte Server angreift. FritzFrog kombiniert einen Wurm, der sich durch einen Brute-Force-Angriff auf Server mit offenem SSH-Port verbreitet, und Komponenten zum Aufbau eines dezentralen Botnetzes, das ohne Kontrollknoten auskommt und keinen Single Point of Failure aufweist.

Zum Aufbau eines Botnetzes wird ein proprietäres P2P-Protokoll verwendet, bei dem Knoten miteinander interagieren, die Organisation von Angriffen koordinieren, den Betrieb des Netzwerks unterstützen und den Status des anderen überwachen. Durch einen Brute-Force-Angriff auf Server, die Anfragen per SSH entgegennehmen, werden neue Opfer gefunden. Wenn ein neuer Server erkannt wird, wird ein Wörterbuch typischer Kombinationen von Anmeldungen und Passwörtern durchsucht. Die Steuerung kann über jeden Knoten erfolgen, was die Identifizierung und Blockierung von Botnet-Betreibern erschwert.

Den Forschern zufolge verfügt das Botnetz bereits über etwa 500 Knoten, darunter die Server mehrerer Universitäten und eines großen Eisenbahnunternehmens. Es wird darauf hingewiesen, dass die Hauptziele des Angriffs Netzwerke von Bildungseinrichtungen, medizinischen Zentren, Regierungsbehörden, Banken und Telekommunikationsunternehmen sind. Nachdem der Server kompromittiert wurde, wird auf ihm der Prozess des Minings der Monero-Kryptowährung organisiert. Die Aktivität der betreffenden Schadsoftware wurde seit Januar 2020 verfolgt.

Das Besondere an FritzFrog ist, dass es alle Daten und ausführbaren Code nur im Speicher hält. Änderungen auf der Festplatte bestehen lediglich aus dem Hinzufügen eines neuen SSH-Schlüssels zur Datei „authorized_keys“, der anschließend für den Zugriff auf den Server verwendet wird. Systemdateien werden nicht verändert, was den Wurm für Systeme unsichtbar macht, die die Integrität mithilfe von Prüfsummen überprüfen. Der Speicher speichert auch Wörterbücher für Brute-Force-Passwörter und Daten für das Mining, die mithilfe des P2P-Protokolls zwischen Knoten synchronisiert werden.

Schädliche Komponenten werden als ifconfig-, libexec-, php-fpm- und nginx-Prozesse getarnt. Botnet-Knoten überwachen den Status ihrer Nachbarn und aktivieren schädliche Komponenten auf dem Host erneut, wenn der Server neu gestartet oder sogar das Betriebssystem neu installiert wird (wenn eine geänderte „authorized_keys“-Datei auf das neue System übertragen wurde). Für die Kommunikation wird Standard-SSH verwendet – die Malware startet zusätzlich ein lokales „Netcat“, das sich an die Localhost-Schnittstelle bindet und den Datenverkehr auf Port 1234 abhört, auf den externe Hosts über einen SSH-Tunnel zugreifen und für die Verbindung einen Schlüssel von „authorized_keys“ verwenden.

Der FritzFrog-Wurm wurde entdeckt, der Server über SSH infizierte und ein dezentrales Botnetz aufbaute

Der Code der FritzFrog-Komponente ist in Go geschrieben und läuft im Multithread-Modus. Die Malware umfasst mehrere Module, die in verschiedenen Threads laufen:

  • Cracker – sucht nach Passwörtern auf angegriffenen Servern.
  • CryptoComm + Parser – organisiert eine verschlüsselte P2P-Verbindung.
  • CastVotes ist ein Mechanismus zur gemeinsamen Auswahl von Zielhosts für einen Angriff.
  • TargetFeed – Empfängt eine Liste der anzugreifenden Knoten von benachbarten Knoten.
  • DeployMgmt ist eine Implementierung eines Wurms, der Schadcode an einen kompromittierten Server verteilt.
  • Im Besitz – verantwortlich für die Verbindung zu Servern, auf denen bereits Schadcode ausgeführt wird.
  • Assemble – setzt eine Datei im Speicher aus separat übertragenen Blöcken zusammen.
  • Antivir – ein Modul zur Unterdrückung konkurrierender Malware, identifiziert und beendet Prozesse mit der Zeichenfolge „xmr“, die CPU-Ressourcen verbrauchen.
  • Liexec ist ein Modul zum Mining der Kryptowährung Monero.

Das in FritzFrog verwendete P2P-Protokoll unterstützt etwa 30 Befehle, die für die Datenübertragung zwischen Knoten, die Ausführung von Skripts, die Übertragung von Malware-Komponenten, das Abfragen des Status, den Austausch von Protokollen, das Starten von Proxys usw. verantwortlich sind. Die Informationen werden über einen separaten verschlüsselten Kanal mit Serialisierung im JSON-Format übertragen. Die Verschlüsselung verwendet asymmetrische AES-Verschlüsselung und Base64-Verschlüsselung. Für den Schlüsselaustausch wird das DH-Protokoll verwendet (Diffie-Hellman). Um den Zustand zu ermitteln, tauschen Knoten ständig Ping-Anfragen aus.

Alle Botnet-Knoten unterhalten eine verteilte Datenbank mit Informationen über angegriffene und kompromittierte Systeme. Angriffsziele werden im gesamten Botnetz synchronisiert – jeder Knoten greift ein separates Ziel an, d. h. Zwei verschiedene Botnet-Knoten greifen nicht denselben Host an. Knoten sammeln auch lokale Statistiken und übermitteln sie an Nachbarn, wie z. B. die Größe des freien Speichers, die Betriebszeit, die CPU-Auslastung und die SSH-Anmeldeaktivität. Diese Informationen werden verwendet, um zu entscheiden, ob der Mining-Prozess gestartet werden soll oder der Knoten nur zum Angriff auf andere Systeme verwendet werden soll (z. B. startet das Mining nicht auf belasteten Systemen oder Systemen mit häufigen Administratorverbindungen).

Um FritzFrog zu identifizieren, haben Forscher einen einfachen Vorschlag gemacht Shell-Skript. Zur Feststellung von Systemschäden
Anzeichen wie das Vorhandensein einer Abhörverbindung auf Port 1234, das Vorhandensein bösartiger Schlüssel in autorisierten_Schlüsseln (auf allen Knoten ist derselbe SSH-Schlüssel installiert) und das Vorhandensein laufender Prozesse „ifconfig“, „libexec“, „php-fpm“ und „nginx“ im Speicher, denen keine ausführbaren Dateien zugeordnet sind („/proc/ /exe“ zeigt auf eine Remote-Datei). Ein Zeichen kann auch das Vorhandensein von Datenverkehr auf dem Netzwerkport 5555 sein, der auftritt, wenn Malware während des Minings der Monero-Kryptowährung auf den typischen Pool web.xmrpool.eu zugreift.

Source: opennet.ru

Kommentar hinzufügen