Erneut betrügerische Pakete auf PyPI

phishing-g0dfb7c114_1280

Die Sicherheitsexperten hinter CloudGuard Spectral, einer entwicklerzentrierten Code-Sicherheitsplattform von Check Point Software Technologies Ltd., entdeckten kürzlich ein Phishing-Konto auf PyPI, dem führenden Python-Paketindex. Benutzer, welche die Pakete des Kontos installierten, waren einem Hacker ausgesetzt, wahrscheinlich einem PII-Dieb. PyPI (Python Package Index) ist das offizielle Repository für Softwarepakete der Programmiersprache Python und eine zentrale Plattform, auf der Python-Entwickler ihre Open-Source-Pakete für Python finden, installieren und mit anderen teilen können. Jeder kann ein Paket in PyPI hochladen, solange es bestimmte Anforderungen und Richtlinien erfüllt. Cyber-Kriminelle wollten daraus nun über Phishing-Methoden einen Nutzen ziehen und private Informationen ihrer Opfer erbeuten. Dies ist das zweite Mal innerhalb eines Monats, dass die Experten verseuchte Pakete auf PyPi entdecken.

Mithilfe maschineller Lernmodelle konnte Check Point die betrügerischen Pakete, die Vorgaben, Hilfsprogramme zu sein, auf PyPI erkennen. Diese luden im Rahmen ihres Installationsprozesses heimlich verschleierten Code herunter und führten diesen aus. Zusätzlich hat der Angreifer verschiedene Versionen desselben Pakets mit leichten Änderungen veröffentlicht, womöglich, damit der Schwindel für diejenigen, die auf PyPI nach verseuchten Paketen suchen, weniger sichtbar ist. Viele Details zu den entdeckten Paketen stehen noch aus.

Das erste Paket, welches die Aufmerksamkeit der Experten erregte, war aiotoolsbox. „aio“ steht hierbei für „all in one“ und bezeichnet ein Paket, das diverse Funktionen zur Systemoptimierung auf Android bietet, wie das Löschen von Junk-Dateien oder die Verbesserung der Batterieleistung. Obwohl es auf den ersten Blick harmlos aussah, entpuppte sich das verdächtige Paket als eine exakte Kopie des legitimen Pakets aiotools. Bemerkenswert ist, dass Typosquating (die Verwendung von Paketnamen, die beliebten und gutartigen Namen ähneln, um die Benutzer zur Installation der bösartigen Pakete zu verleiten) eigentliche eine häufig beobachtete Angriffsmethode gegen Lieferketten ist. Gleichzeitig ist die Anfertigung einer identischen Kopie des gutartigen Pakets eher in der Phishing-Welt anzutreffen. Ein solcher Aufwand kann auf eine gewitzte Kampagne hindeuten, die bedenkt, dass die Nutzer möglicherweise einen zweiten Blick auf die Pakete werfen, die sie gerade installieren wollen.

Ein Blick in die Metadaten der Pakete zeigt, dass beide denselben Autor haben, aber einen anderen Betreuer. Aufgrund der Tatsache, dass gemäß dem PyPI-Paketveröffentlichungsprotokoll die Autorenfelder Freitext sind, während der Betreuer ein authentifizierter Benutzer ist, konnte der Angreifer das Autorenfeld leicht imitieren, während er sich für die Betreuerfelder etwas anderes einfallen lassen musste. Ein Blick in die heruntergeladene Zip-Datei zeigte einen mit pyArmor verschleierten Code, der es schwierig macht, die bösartige Absicht zu erkennen. Wenn man sich jedoch die Namen der heruntergeladenen Dateien ansieht, kann man davon ausgehen, dass es sich bei dem Paket um einen PII-Diebstahl handelt, der die Absicht hat, Informationen des Nutzers zu sammeln und zu stehlen.

Sucht man nach früheren Versionen von aiotoolsbox, dann stellt man zudem fest, dass dieses mehrfach mit verschiedenen Versionen hochgeladen wurde (zuerst 1.4.7 und erst dann 1.4.5 und 1.4.6, doch die Struktur ist dieselbe. Der einzige Unterschied liegt in der Datei setup.py und in der verwendeten Server-IP. Die Überprüfung der IP-Details ergab, dass die erste Version eine russische IP war, während die spätere Version aus Deutschland stammte. Wahrscheinlich handelt es sich um eine weitere Verschleierung, da eine russische IP als alarmierender angesehen wird als eine deutsche.

Angesichts der zunehmenden Häufigkeit von Angriffen gegen Lieferketten ist es unerlässlich, sich zu schützen, indem Benutzer von PyPI alle von Ihnen verwendeten Software-Bestandteile gründlich prüfen, insbesondere solche, die nicht von ihnen selbst entwickelt wurden.

Verantwortungsvolle Offenlegung

Check Point hat das Konto bei PyPI gemeldet und kurz darauf wurden die genannten Pakete vom PyPI-Team entfernt.