{"id":29092,"date":"2022-08-05T07:45:06","date_gmt":"2022-08-05T05:45:06","guid":{"rendered":"https:\/\/www.kaspersky.de\/blog\/?p=29092"},"modified":"2022-08-05T07:45:06","modified_gmt":"2022-08-05T05:45:06","slug":"lofylife-malicious-packages-in-npm-repository","status":"publish","type":"post","link":"https:\/\/www.kaspersky.de\/blog\/lofylife-malicious-packages-in-npm-repository\/29092\/","title":{"rendered":"Vier Schadpakete in npm-Repository"},"content":{"rendered":"<p>Open-Source-Code ist ein Segen f\u00fcr die IT-Branche, da er Programmierern dabei hilft, Zeit zu sparen und Produkte schneller und effizienter zu entwickeln. Um diesen Wissensaustausch zu erleichtern, gibt es sogenannte <em>Repositories<\/em>, bei denen es sich um offene Plattformen handelt, auf denen Entwickler ihre eigenen Pakete inklusive Code ver\u00f6ffentlichen k\u00f6nnen, um den Entwicklungsprozess f\u00fcr andere zu beschleunigen.<\/p>\n<p>Solche Repositorien erf\u00fcllen zahllose Bed\u00fcrfnisse der IT-Community und werden bei der Entwicklung so gut wie jeder modernen Software eingesetzt: Webanwendungen, mobile Anwendungen, intelligente Ger\u00e4te, Roboter uvm. Die beliebtesten Pakete werden dabei w\u00f6chentlich millionenfach heruntergeladen und bilden die Grundlage vieler Anwendungen, von kleinen Projekten bis hin zu bekannten Tech-Startups.<\/p>\n<p><a href=\"https:\/\/medium.com\/npm-inc\/this-year-in-javascript-2018-in-review-and-npms-predictions-for-2019-3a3d7e5298ef\" target=\"_blank\" rel=\"noopener nofollow\">Sch\u00e4tzungen zufolge<\/a> stammen 97 % des Codes in modernen Webanwendungen aus npm-Modulen. Ihre Popularit\u00e4t und Offenheit beim Hochladen beliebiger Pakete zieht jedoch auch unweigerlich Cyberkriminelle an. Auf diese Weise <a href=\"https:\/\/www.kaspersky.de\/blog\/uaparser-js-infected-versions\/27646\/\" target=\"_blank\" rel=\"noopener\">kompromittierten<\/a> unbekannte Angreifer im Jahr 2021 mehrere Versionen einer beliebten JavaScript-Bibliothek, UAParser.js, indem sie Schadcode einschleusten. Die Bibliothek wurde zu diesem Zeitpunkt w\u00f6chentlich 6 bis 8 Millionen Mal heruntergeladen. Mithilfe der Infizierung waren Cyberkriminelle dazu in der Lage, Kryptow\u00e4hrung zu sch\u00fcrfen und vertrauliche Informationen wie Browser-Cookies, Kennw\u00f6rter und Betriebssystem-Anmeldeinformationen von infizierten Ger\u00e4ten zu entwenden.<\/p>\n<p>Hier aber ein noch aktuelleres Beispiel: Am 26. Juli 2022 <a href=\"https:\/\/securelist.com\/lofylife-malicious-npm-packages\/107014\/\" target=\"_blank\" rel=\"noopener\">entdeckten unsere Forscher eine neue Bedrohung<\/a>, die im Open-Source-Repository <em>npm<\/em> auftauchte und die sie als LofyLife tauften.<\/p>\n<p>\u00a0<\/p>\n<h2>Was ist LofyLife?<\/h2>\n<p>Indem sie ein internes, automatisiertes System zur \u00dcberwachung von Open-Source-Repositories nutzten, konnten unsere Forscher die b\u00f6sartige Kampagne LofyLife identifizieren. Die Kampagne setzt vier Schadpakete ein, die die Malware Volt Stealer und Lofy Stealer im npm-Repository verbreiten, um Informationen wie Discord-Tokens und verkn\u00fcpfte Kreditkarteninformationen der Opfer zu sammeln und Letztere \u00fcber einen l\u00e4ngeren Zeitraum auszuspionieren.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1100\" height=\"440\" class=\"size-full wp-image-29096\" src=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/96\/2022\/08\/05074122\/lofylife-malicious-packages-in-npm-repository-proc-title.jpg\"><\/p>\n<p>\u00a0<\/p>\n<p>Die identifizierten Schadpakete scheinen f\u00fcr gew\u00f6hnliche Aufgaben wie die Formatierung von \u00dcberschriften oder bestimmte Spielfunktionen genutzt zu werden. Die Beschreibungen der Pakete sind unvollst\u00e4ndig und vermitteln einen eher unseri\u00f6sen Eindruck. Das Paket zum Formatieren von \u00dcberschriften war mit dem Hashtag \u201e#brazil\u201c versehen und in brasilianischem Portugiesisch verfasst, was darauf hindeutet, dass es die Angreifer h\u00f6chstwahrscheinlich auf Nutzer in Brasilien abgesehen haben. Andere Pakete hingegen wurden auf Englisch pr\u00e4sentiert, und zielen daher vermutlich auf Nutzer aus anderen L\u00e4ndern ab.<\/p>\n<p>\u00a0<\/p>\n<p><strong>[lofylife-malicious-packages-in-npm-repository-proc-title]<\/strong><\/p>\n<p><strong>[Alt\/title: Beschreibung des infizierten Pakets namens \u201eproc-title\u201c]<\/strong><\/p>\n<p><strong>[Caption: Beschreibung eines der infizierten Pakete namens \u201eproc-title\u201c (\u00dcbersetzung aus dem Portugiesischen: Mit diesem Paket wird die korrekte Gro\u00df- und Kleinschreibung in \u00dcberschriften gem\u00e4\u00df dem <em>Chicago Manual of Style<\/em> gew\u00e4hrleistet.)<\/strong><\/p>\n<p>Diese Pakete enthielten jedoch stark verschleierten JavaScript- und Python-Schadcode, was ihre Analyse nach dem Upload ins Repository deutlich schwieriger machte. Die b\u00f6sartige Nutzlast bestand aus in Python geschriebener Malware namens Volt Stealer \u2013 einem sch\u00e4dlichen Open-Source-Skript \u2013 sowie der JavaScript-Malware Lofy Stealer, die zahlreiche Funktionen aufweist.<\/p>\n<p>Volt Stealer wurde verwendet, um Discord-Tokens von den infizierten Computern zusammen mit der IP-Adresse des Opfers zu stehlen und diese dann \u00fcber HTTP hochzuladen. Der Lofy Stealer, eine neu entwickelte Malware der Angreifer, ist in der Lage, Discord-Clientdateien zu infizieren und die Handlungen des Opfers zu \u00fcberwachen \u2013 so erkennt Lofy Stealer beispielsweise, wenn sich ein Nutzer anmeldet, die registrierte E-Mail oder das Passwort \u00e4ndert, die Multi-Faktor-Authentifizierung aktiviert oder deaktiviert und neue Zahlungsmethoden hinzuf\u00fcgt (in diesem Fall stiehlt die Malware die vollst\u00e4ndigen Kreditkartendaten).<\/p>\n<p>\u00a0<\/p>\n<h2>So sch\u00fctzen Sie sich vor Schadpaketen<\/h2>\n<p>Open-Source-Repositorien erm\u00f6glichen die willk\u00fcrliche Ver\u00f6ffentlichung von Paketen, von denen nicht alle zu 100 % sicher sind. So k\u00f6nnen Angreifer beliebte npm-Pakete beispielsweise imitieren, indem sie einen oder zwei Buchstaben im Namen \u00e4ndern, um dem Nutzer vorzugaukeln, er w\u00fcrde das echte Paket herunterladen. Wir empfehlen daher, solche Pakete grunds\u00e4tzlich nie als vertrauensw\u00fcrdig zu behandeln.<\/p>\n<p>Im Allgemeinen sind Entwicklungs- oder Build-Umgebungen beliebte Ziele f\u00fcr Angreifer, die versuchen, Supply-Chain-Angriffe zu organisieren. Das bedeutet, dass solche Umgebungen dringend einen starken Anti-Malware-Schutz wie <a href=\"https:\/\/www.kaspersky.de\/enterprise-security\/devops-security?icid=de_kdailyplacehold_acq_ona_smm__onl_b2b_kasperskydaily_wpplaceholder_______\" target=\"_blank\" rel=\"noopener\">Kaspersky Hybrid Cloud Security<\/a> ben\u00f6tigen. Unsere Produkte identifizieren einen Angriff mit LofyLife folgenderma\u00dfen: HEUR:Trojan.Script.Lofy.gen and Trojan.Python.Lofy.a.<\/p>\n<p>Wenn Sie von Kampagnen wie dieser, die sich \u00fcber Open-Source-Code verbreiten, als Erste\/r erfahren m\u00f6chten, sollten Sie Feeds und Berichte abonnieren, die beispielsweise \u00fcber das <a href=\"https:\/\/opentip.kaspersky.com\/?icid=de_kdailyplacehold_acq_ona_smm__onl_b2b_kasperskydaily_wpplaceholder_______&amp;utm_source=kdaily&amp;utm_medium=blog&amp;utm_campaign=dach_wpplaceholder_nv0092&amp;utm_content=link&amp;utm_term=dach_kdaily_organic_undefined\" target=\"_blank\" rel=\"noopener nofollow\">Threat Intelligence Portal<\/a> bereitgestellt werden.<\/p>\n<p>\u00a0<\/p>\n<input type=\"hidden\" class=\"category_for_banner\" value=\"kasap\">\n","protected":false},"excerpt":{"rendered":"<p>Neue Kampagne macht \u00fcber infizierte npm-Pakete Jagd auf Discord-Tokens und Kreditkarteninformationen.<\/p>\n","protected":false},"author":2632,"featured_media":29095,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2711],"tags":[3767,604,3971,3972,2967],"class_list":{"0":"post-29092","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-threats","8":"tag-discord","9":"tag-kreditkarten","10":"tag-npm","11":"tag-password-stealer","12":"tag-supply-chain"},"hreflang":[{"hreflang":"de","url":"https:\/\/www.kaspersky.de\/blog\/lofylife-malicious-packages-in-npm-repository\/29092\/"},{"hreflang":"en-in","url":"https:\/\/www.kaspersky.co.in\/blog\/lofylife-malicious-packages-in-npm-repository\/24418\/"},{"hreflang":"en-ae","url":"https:\/\/me-en.kaspersky.com\/blog\/lofylife-malicious-packages-in-npm-repository\/19884\/"},{"hreflang":"en-us","url":"https:\/\/usa.kaspersky.com\/blog\/lofylife-malicious-packages-in-npm-repository\/26814\/"},{"hreflang":"en-gb","url":"https:\/\/www.kaspersky.co.uk\/blog\/lofylife-malicious-packages-in-npm-repository\/24719\/"},{"hreflang":"es-mx","url":"https:\/\/latam.kaspersky.com\/blog\/lofylife-malicious-packages-in-npm-repository\/25123\/"},{"hreflang":"es","url":"https:\/\/www.kaspersky.es\/blog\/lofylife-malicious-packages-in-npm-repository\/27466\/"},{"hreflang":"ru","url":"https:\/\/www.kaspersky.ru\/blog\/lofylife-malicious-packages-in-npm-repository\/33783\/"},{"hreflang":"tr","url":"https:\/\/www.kaspersky.com.tr\/blog\/lofylife-malicious-packages-in-npm-repository\/10901\/"},{"hreflang":"x-default","url":"https:\/\/www.kaspersky.com\/blog\/lofylife-malicious-packages-in-npm-repository\/45042\/"},{"hreflang":"fr","url":"https:\/\/www.kaspersky.fr\/blog\/lofylife-malicious-packages-in-npm-repository\/19244\/"},{"hreflang":"pt-br","url":"https:\/\/www.kaspersky.com.br\/blog\/lofylife-malicious-packages-in-npm-repository\/19802\/"},{"hreflang":"ru-kz","url":"https:\/\/blog.kaspersky.kz\/lofylife-malicious-packages-in-npm-repository\/25316\/"},{"hreflang":"en-au","url":"https:\/\/www.kaspersky.com.au\/blog\/lofylife-malicious-packages-in-npm-repository\/30784\/"},{"hreflang":"en-za","url":"https:\/\/www.kaspersky.co.za\/blog\/lofylife-malicious-packages-in-npm-repository\/30530\/"}],"acf":[],"banners":"","maintag":{"url":"https:\/\/www.kaspersky.de\/blog\/tag\/supply-chain\/","name":"Supply Chain"},"_links":{"self":[{"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/posts\/29092","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/users\/2632"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/comments?post=29092"}],"version-history":[{"count":4,"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/posts\/29092\/revisions"}],"predecessor-version":[{"id":29098,"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/posts\/29092\/revisions\/29098"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/media\/29095"}],"wp:attachment":[{"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/media?parent=29092"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/categories?post=29092"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/tags?post=29092"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}