Unentdeckter Schadcode in Python-Paketmanager aufgetaucht

Erneut Schadcode im Python-Paketmanager aufgetaucht

Ein Entwickler hat im Python-Paketmanager PyPI (Python Package Index) zwei Pakete entdeckt die schädlichen Code in Projekte einschleusen sollten. Die Pakete waren unter Namen registriert die denen nützlicher Pakete ähnelten um eigenen Code zu ersetzen. Eines der Pakete wurde im November registriert während das andere bereits seit einem Jahr unentdeckt blieb.



Das ältere Paket heißt jeIlyfish und genau ähnlich wie damit dem jellyfish-Paket. Es handelt sich bei der Schreibweise eher um eine Tarnung als um klassisches Typosquatting, da es das erste kleine "l" durch ein großes "I" ersetzt. Das Paket enthält den eigentlichen Schadcode der über einen Umweg versucht SSH- & GPG-Schlüssel vom Rechner auszulesen und an die IP-Adressehttp://68.183.212.246zuschicken. Ausschnitte finden sich in dem GitHub-Issue, mit dem der in Mannheim lebende Entwickler Lukas Martini den Angriff beschrieben hat.



Zweistufiger Angriff


Ende November tauchte im Paketmanager ein weiteres Paket auf, das den Namen python3-dateutil trägt und auf Projekte zielt, die welche dateutil-Library integrieren. Das Paket enthält zwar selbst keinen Schadcode importiert aber seinerseits jeIlyfish. Auch dort findet sich die verdächtigen Zeilen nicht direkt.


Die Newssite ZDNet hat mit Paul Ganssle einen der Entwickler des richtigen dateutil-Pakets gebeten, den Schadcode genauer zu untersuchen. Die jeIlyfish-Bibliothek lädt eine Datei mit dem Namen hashsum von GitLab die es in eine Python-Datei dekodiert und ausführt. Neben dem versuchten Hochladen der SSH- & GPG-Schlüssel sucht und durchsucht der Schadcode einige Verzeichnisse. Nach Ganssles Einschätzung soll er auf die Weise die passenden Ressourcen zu den 🔑 Schlüsseln aufspüren.


Kein Einzelfall


Inzwischen haben die PyPI-Betreiber sowie jeIlyfish als ebenfalls python3-dateutil aus dem Paketmanager entfernt. Betroffene sollten dadurch lediglich eine Fehlermeldung wegen des oder der fehlenden Ressourcen finden. In dem Fall sollten sie dringend handeln – da es durchaus möglich ist. Dass Schadcode zuvor bereits die Schlüssel abgegriffen hat.



Ähnliche Angriffe fallen immer wieder auf. Beim Typosquatting geben die Entwickler von Schadcode ihren Paketen Namen die den Bezeichnungen beliebter Pakete ähneln. Dabei nutzen sie zum einen Tippfehler und verwenden zum anderen Trennzeichen wie Unter- & Bindestrichen. Aus einem my-packet wird my-paket, mypacket oder my_packet. Irgendwer wird sich schon vertippen – so die durchaus berechtigte Annahme der Angreifer. Vor zwei Jahren hat das slowakische CERT SK-CSIRT eine Liste von zehn Paketen gemeldet die darauf setzten und beispielsweise crypt statt crypto oder urllib beziehungsweise urlib3 statt urllib3 hießen.


Kurz zuvor stand der JavaScript-Paketmanager npm im Visier von Angreifern. Im Sommer 2017 erregte der Fall von hacktask Aufmerksamkeit der wie aus einem Lehrbuch für Typosquatting unter anderem Pakete mit den Namen jquery.js statt jquery, babelcli statt babel-cli und ffmepg statt ffmpeg veröffentlicht hatte. Aufgefallen war schließlich der Schadcode in crossenv, das auf cross-env-Nutzer zielte. Insgesamt 40 Pakete von hacktask hat npm seinerzeit entfernt.


Zuletzt aktualisiert am Uhr



Kommentare


Anzeige