Angriff auf GitHub-Aktionen für Kryptowährungs-Mining auf GitHub-Servern

GitHub untersucht eine Reihe von Angriffen, bei denen es Angreifern gelang, mithilfe des GitHub Actions-Mechanismus zum Ausführen ihres Codes Kryptowährungen auf der GitHub-Cloud-Infrastruktur zu schürfen. Die ersten Versuche, GitHub Actions für das Mining zu nutzen, datieren auf November letzten Jahres zurück.

Mit GitHub Actions können Codeentwickler Handler anhängen, um verschiedene Vorgänge in GitHub zu automatisieren. Mit GitHub Actions können Sie beispielsweise bestimmte Prüfungen und Tests beim Commit durchführen oder die Bearbeitung neuer Issues automatisieren. Um mit dem Mining zu beginnen, erstellen Angreifer einen Fork des Repositorys, der GitHub Actions verwendet, fügen ihrer Kopie neue GitHub Actions hinzu und senden eine Pull-Anfrage an das ursprüngliche Repository, in der sie vorschlagen, die vorhandenen GitHub Actions-Handler durch die neuen „.github/workflows“ zu ersetzen /ci.yml“-Handler.

Der bösartige Pull-Request generiert mehrere Versuche, den vom Angreifer angegebenen GitHub Actions-Handler auszuführen, der nach 72 Stunden aufgrund einer Zeitüberschreitung unterbrochen wird, fehlschlägt und dann erneut ausgeführt wird. Um anzugreifen, muss ein Angreifer lediglich eine Pull-Anfrage erstellen – der Handler wird automatisch ohne Bestätigung oder Beteiligung der ursprünglichen Repository-Betreuer ausgeführt, die nur verdächtige Aktivitäten ersetzen und bereits ausgeführte GitHub-Aktionen stoppen können.

Im von den Angreifern hinzugefügten ci.yml-Handler enthält der Parameter „run“ verschleierten Code (eval „$(echo 'YXB0IHVwZGF0ZSAt…' | base64 -d“), der bei seiner Ausführung versucht, das Mining-Programm herunterzuladen und auszuführen. In den ersten Varianten des Angriffs aus verschiedenen Repositories wurde ein Programm namens npm.exe auf GitHub und GitLab hochgeladen und in eine ausführbare ELF-Datei für Alpine Linux (verwendet in Docker-Images) kompiliert. Neuere Angriffsformen laden den Code eines generischen XMRig herunter Miner aus dem offiziellen Projekt-Repository, der dann mit einer Adressersetzungs-Wallet und Servern zum Senden von Daten erstellt wird.

Source: opennet.ru

Kommentar hinzufügen