Krypto-Mining auf einen Blick Rechenleistung kapern mit Krypto-Mining

Autor / Redakteur: Gilad Yehudai und Nadav Avital / Peter Schmitz |

Das Jahr 2018 ist gerade erst ein paar Monate alt, und schon jetzt setzt sich der Trend der letzten Monate des Jahres 2017 weiter fort. Krypto-Mining-Malware wird rasch zum bevorzugten Modus Operandi der Angreifer. Im Dezember 2017 sandten 88 Prozent aller Remote Code Execution-Angriffe (RCE) einen Request an eine externe Quelle, um eine Krypto-Mining-Malware herunterzuladen.

Anbieter zum Thema

Krypto-Mining ist laut neuesten Untersuchungen das Motiv hinter fast 90 Prozent aller Remote Code Execution-Angriffen.
Krypto-Mining ist laut neuesten Untersuchungen das Motiv hinter fast 90 Prozent aller Remote Code Execution-Angriffen.
(Bild: Pixabay / CC0 )

RCE-Angriffe zielen darauf ab, Schwachstellen im Quellcode von Webanwendungen auszunutzen – hauptsächlich solche, die Remotecodeausführung ermöglichen –, um dann Krypto-Mining-Malware auf den betroffenen Servern herunterzuladen und auszuführen. RCE-Schwachstellen gehören zu den gefährlichsten Sicherheitslücken schlechthin, da sie Angreifern die Möglichkeit geben, Schadcode auf einem anfälligen Server auszuführen. Bei einem kürzlich durchgeführten Forschungsprojekt wurde ein extremer Anstieg der RCE-Angriffe festgestellt.

RCE-Schwachstellen und Payload-Familien

Im Folgenden geht es um RCE-Angriffe, bei denen die Payload versuchte, einen Request an eine externe Quelle zu senden. Die Methoden zum Senden dieser Requests sind unterschiedlich, je nach Betriebssystem und gewünschtem Resultat. Beispielsweise verwendeten Angreifer von Windows-Servern einen Powershell-Befehl, um eine Datei aus einer externen Quelle herunterzuladen (Abb. 1). Angreifer, die Linux-Server attackierten, nutzten zu dem gleichen Zweck Bash-Skripte und wget- oder curl-Befehle.

Powershell-Befehl, mit dem ein bösartiges Skript auf einen anfälligen Windows-Server heruntergeladen wird.
Powershell-Befehl, mit dem ein bösartiges Skript auf einen anfälligen Windows-Server heruntergeladen wird.
(Bild: Imperva)

Die Payloads von RCE-Angriffen lassen sich in drei Kategorien einteilen:

  • Krypto-Mining-Malware: Diese Payload versucht, ein Skript von einem entfernten Server herunterzuladen und lokal auf dem anfälligen Rechner auszuführen. Das Skript veranlasst den Server, nach einer Kryptowährung zu schürfen, insbesondere Monero. Auf diese Angriffsart gehen wir nachfolgend näher ein.
  • DDoS-Botnet: Genau wie die Krypto-Miner-Payload versucht auch diese Payload, ein Skript herunterzuladen und auszuführen. Der Unterschied ist, dass in dieser Payload das Skript den anfälligen Server in ein DDoS-Botnet einbindet, sodass er auf Wunsch der Angreifer an DDoS-Attacken mitwirkt.
  • Erkundung: Eine solche Payload wird verwendet, wenn ein Angreifer herauszufinden versucht, ob ein Server verwundbar ist oder nicht. Bei Angriffen mit Payloads dieser Art werden meist zahlreiche Requests an einen bestimmten Server gesandt, von denen jeder auf einen anderen Parameter abzielt.

Krypto-Mining auf einen Blick

Beim Krypto-Mining wird Rechenleistung aufgewandt, um komplizierte mathematische Aufgaben zu lösen, die als Proof-of-Work-Funktionen bezeichnet werden. Jedes Mal, wenn ein solches Problem gelöst wird, erhält der Miner, der es gelöst hat, eine bestimmte Anzahl von Coins, abhängig davon, welche Währung er geschürft hat. So erhalten beispielsweise Bitcoin-Miner derzeit für jedes gelöste Problem 12,5 Bitcoins (115.812,44 US-Dollar).

Diese Aufgaben alleine zu lösen, ist jedoch nicht einfach und erfordert sehr hohe Rechenleistung. Deshalb nutzen Schürfer sogenannte Mining-Pools, um ihre Chancen auf Bezahlung zu erhöhen. Mining-Pools sind Plattformen, die es Minern ermöglichen, zusammenzuarbeiten und Rechenressourcen zu teilen, um die Aufgaben zu lösen. Wenn eine Aufgabe gelöst ist, werden die Coins unter den Pool-Teilnehmern aufgeteilt, je nach der Rechenleistung, die der Einzelne beigetragen hat.

Rezept für einen Krypto-Mining-Angriff

Der folgende Angriff (Abb. 2) wurde im Post-Body eines HTTP-Requests gefunden, der eine RCE-Schwachstelle auszunützen versuchte, um einen wget-Befehl zu senden und so ein Skript herunterzuladen und auszuführen. Hier kann beobachtet werden, wie der Angreifer versucht, seine Spuren mit der Option „-q“ zu verwischen, die für „Quiet-Modus“ steht.

Code, der in einen Parameter eingeschleust wurde, um ein Krypto-Mining-Skript herunterzuladen und auszuführen.
Code, der in einen Parameter eingeschleust wurde, um ein Krypto-Mining-Skript herunterzuladen und auszuführen.
(Bild: Imperva)

Der Link ist als JPEG-Bild getarnt, enthält aber in Wirklichkeit ein Bash-Skript, das den anfälligen Server mit Krypto-Mining-Malware infiziert.

Dieses heruntergeladene Skript umfasst drei Phasen:

  • Hintergrundprozesse beenden
  • Persistenz erreichen
  • Die Malware herunterladen und ausführen

Zunächst beendet das Skript Prozesse, die auf dem Server im Hintergrund laufen (Abb. 3). Zu diesen Prozessen gehören vor allem konkurrierende Krypto-Miner, aber auch Sicherheitsmechanismen sowie CPU-intensive Prozesse.

Das Skript beendet Prozesse, die im Hintergrund laufen.
Das Skript beendet Prozesse, die im Hintergrund laufen.
(Bild: Imperva)

Das Skript identifiziert konkurrierende Krypto-Miner, indem es entweder Prozesse mit bekannter Krypto-Mining-Software beendet oder Prozesse, die bestimmte IPs oder Teile von Krypto-Wallets beinhalten. Anscheinend weiß der Angreifer genau, wer seine Konkurrenten sind, da er Prozesse killt, die mit spezifischen IPs und Wallets zusammenhängen – und er mag offensichtlich keine Konkurrenz.

In der zweiten Phase (Abb. 4) löscht das Skript die aktuellen Cronjobs im System. Ein Cronjob ist ein Prozess für geplante Aufgaben unter Linux.

Das Skript löscht die aktuellen Cronjobs im System.
Das Skript löscht die aktuellen Cronjobs im System.
(Bild: Imperva)

In der dritten und letzten Phase (Abb. 5) wird das System schließlich infiziert. Zunächst lädt das Skript eine dynamische Konfigurationsdatei herunter (Abb. 6). Bei den Angriffen, die wir beobachtet haben, stammte die Konfigurationsdatei von demselben Host, von dem auch das Skript heruntergeladen wurde.

Herunterladen und Ausführen der Krypto-Mining-Malware.
Herunterladen und Ausführen der Krypto-Mining-Malware.
(Bild: Imperva)

Als Nächstes wird die Malware selbst heruntergeladen. Das Skript errechnet dann die Zahl der Kerne im Server und führt die Malware mit der Konfigurationsdatei und der Zahl der Kerne als Eingabeparameter aus.

Dynamische Konfigurationsdatei mit dem Mining-Pool und der Krypto-Wallet des Angreifers.
Dynamische Konfigurationsdatei mit dem Mining-Pool und der Krypto-Wallet des Angreifers.
(Bild: Imperva)

Um die Erfolgschancen zu erhöhen, wiederholt das Skript die dritte Phase anschließend noch vier Mal und lädt dabei jedes Mal eine andere Konfigurationsdatei und ein anderes Schadprogramm herunter. Die anderen Schadprogramme führt es nur aus, wenn die vorhergehenden Versuche nicht erfolgreich waren.

Wenn das Skript erfolgreich war, wird der anfällige Server, auf dem es ausgeführt wurde, mit Malware infiziert, die Kryptowährung für den Angreifer verdient.

Die Spur des Geldes

In den heruntergeladenen Konfigurationsdateien, die wir gefunden haben, befanden sich aktive Monero-Wallets, die den Angreifern gehörten. Wir verfolgten die Wallets und die Mining-Pools und konnten auf diese Weise feststellen, wie viel Geld sich mit Krypto-Mining verdienen lässt. Abb. 7 zeigt den Gesamtbetrag, den der Angreifer bei „mineXMR.com“ verdiente – einem beliebten Mining-Pool für Monero.

Zu diesem Zeitpunkt hatte der Angreifer ca. 41 Monero verdient, was (gemäß dem aktuellen Monero/Dollar-Kurs) rund 10.000 US-Dollar entspricht.

Gesamtbetrag in Monero, den der Angreifer bei „mineXMR.com“ verdiente.
Gesamtbetrag in Monero, den der Angreifer bei „mineXMR.com“ verdiente.
(Bild: Imperva)

Fazit

Die Zahl der Angreifer, die anfällige Server mit Krypto-Mining-Malware zu infizieren versuchen, steigt rasant, und die Gründe dafür sind offensichtlich. Im vergangenen Dezember beinhalteten fast 90 Prozent aller RCE-Angriffe, die einen Request an eine externe Quelle sandten, Malware für Krypto-Mining.

Eine Krypto-Mining-Malware löst bei dem infizierten Server einen Denial-of-Service aus. Wenn der größte Teil der Rechenleistung des Servers auf Krypto-Mining entfällt, ist der Server nicht mehr verfügbar. Um Webanwendungen vor Krypto-Mining-Malware zu schützen, müssen die anfänglichen Angriffe geblockt werden. Unternehmen, die betroffene Server verwenden, sollten den neuesten Patch vom Hersteller installieren, um Sicherheitslücken dieser Art zu entschärfen.

Eine Alternative zum manuellen Patchen ist virtuelles Patchen. Eine Web Application Firewall, welche virtuelles Patchen ermöglicht, stört den gewöhnlichen Workflow der Anwendungen nicht. Sie schützt die Website und erlaubt gleichzeitig den Website-Betreibern, den Patch-Prozess zeitlich besser zu gestalten.

Über die Autoren: Gilad Yehudai und Nadav Avital sind Security-Forscher bei Imperva Incapsula.

(ID:45321455)