Bösartige npm-Pakete greifen Malware-Autoren an

JFrog entdeckt 25 bösartige Pakete in der npm-Registry

Das Forschungsteam von JFrog Security überwacht kontinuierlich populäre Open-Source-Software (OSS)-Repositories mit automatisierten Werkzeugen, um potenzielle Sicherheitsbedrohungen in der Software-Lieferkette abzuwenden. Zusätzlich werden alle entdeckten Schwachstellen oder bösartigen Pakete den Repository-Betreibern und der breiteren Community gemeldet. Kürzlich haben die Forscher 25 bösartige Pakete im npm-Repository aufgedeckt, die von den automatischen Scanning-Tools entdeckt wurden. Alle gemeldeten bösartigen Pakete wurden von den npm-Betreuern schnell entfernt.

Interessanterweise scheinen sich viele bösartigen npm-Pakete immer noch als das berüchtigte colors.js npm-Paket auszugeben, das vor ein paar Wochen für einen großen Denial-of-Service-Angriff anfällig war. Diese Maskerade ist wahrscheinlich auf die Tatsache zurückzuführen, dass colors.js immer noch eines der am häufigsten installierten Pakete in npm ist. Es ist überraschend einen Fall zu sehen, in dem Malware-Autoren andere Malware-Autoren angreifen. Eines der bösartigen Pakete, das von unseren Scannern entdeckt wurde, „lemaaa“, ist selbst eine Bibliothek, die von bösartigen Bedrohungsakteuren zur Manipulation von Discord-Konten eingesetzt wird. Wenn die Bibliothek auf eine bestimmte Art und Weise verwendet wird, entwendet sie das geheime Discord-Token, das ihr übergeben wurde und führt zusätzlich die gewünschte Funktion aus.

Technische Analyse ausgewählter Pakete

Lemaaa-Paket

Das Paket ist ein Hilfsmodul für unerfahrene Discord-Malware-Autoren, das gängige Funktionen bereitstellt, die sie wiederverwenden können, wenn sie das Discord-Token des Opfers erhalten, z.B. um die Kreditkartendaten des Opfers zu erhalten, das Konto des Opfers zu stehlen (Ändern des Kontopassworts und der E-Mail) usw. Der Code des Moduls ist verschleiert, so dass diese bösartige Aktivität verborgen bleibt. Da es sich bei dem Modul um ein Malware-Dienstprogramm (Bibliothek) handelt, ist es in diesem Fall nicht übermäßig verdächtig, dass das Modul verschleiert ist. Daher könnten unerfahrene Malware-Autoren diesem Modul trotz seiner Verschleierung vertrauen.

Markedjs & crypto-standarts Pakete – doppelte Trojaner-Pakete

Diese Pakete sind interessant, da sie einen Trend aufzeigen, bei dem npm-Malware-Autoren ein bekanntes Paket vollständig duplizieren (sowohl den Code als auch die Metadaten). Dann fügen sie diesem Duplikat ein kleines Stück Schadcode hinzu, wodurch im Wesentlichen „trojanische“ Pakete entstehen. Zunächst einmal werden die meisten Metadaten des Pakets (README.md, Github-Referenz usw.) eins zu eins kopiert. Vergleicht man den Code des Schadpakets (markedjs) mit dem Code des Originalpakets (marked), so stellt man fest, dass der einzige Unterschied zum Originalpaket eine Zeile in „/lib/marked.js“ ist, die den verschleierten Schadcode enthält. Da diese Zeile im Rest des Pakets versteckt ist, welches viele legitime Codezeilen enthält, wäre es äußerst schwierig, diese Zeile ohne automatisches Scannen oder Diffing-Tools zu finden.

Vera.js-Paket

Das Vera.js-Paket ist sehr klein und der bösartige Code ist leicht zu erkennen, da er nicht verschleiert ist. Auffällig ist, dass der Autor dieses bösartigen Pakets sich entschieden hat, das Discord-Token nicht aus dem lokalen Festplattenspeicher zu stehlen (wie es die meisten Discord-Token-Diebe tun), sondern aus dem lokalen Speicher des Browsers. Diese Technik kann hilfreich sein, um Token zu stehlen, die bei der Anmeldung über den Webbrowser auf der Discord-Website generiert wurden, im Gegensatz zur Verwendung der Discord-App (die das Token im lokalen Speicher ablegt).

Fazit

Zusammenfassend lässt sich sagen, dass unerfahrene Hacker npm weiterhin mit dem Ziel missbrauchen, Angriffe mit hohem ROI durchzuführen, da der Aufwand für die Entwicklung und Veröffentlichung eines bösartigen Pakets so gering ist. Die Sicherheitsexperten von JFrog gehen davon aus, dass sich dieser Trend noch verstärken wird, da die npm-Scanner jeden Tag Dutzende neuer bösartiger Pakete erkennen.

Weitere Details und technische Hinweise befinden sich im vollständigen Bericht, der hier aufrufbar ist.