{"id":27466,"date":"2022-08-04T08:17:03","date_gmt":"2022-08-04T06:17:03","guid":{"rendered":"https:\/\/www.kaspersky.es\/blog\/?p=27466"},"modified":"2022-08-04T08:17:03","modified_gmt":"2022-08-04T06:17:03","slug":"lofylife-malicious-packages-in-npm-repository","status":"publish","type":"post","link":"https:\/\/www.kaspersky.es\/blog\/lofylife-malicious-packages-in-npm-repository\/27466\/","title":{"rendered":"Cuatro paquetes maliciosos en el repositorio npm"},"content":{"rendered":"<p>El c\u00f3digo abierto es una bendici\u00f3n para la industria de TI: ayuda a los programadores a ahorrar tiempo y crear productos de forma m\u00e1s r\u00e1pida y eficiente al no ser necesario escribir c\u00f3digo com\u00fan repetitivo. Para facilitar este intercambio de conocimientos, existen repositorios, plataformas abiertas donde cualquier desarrollador puede publicar sus propios paquetes con su c\u00f3digo para acelerar el proceso de desarrollo de otras personas.<\/p>\n<p>Estos repositorios satisfacen innumerables necesidades de la comunidad de TI y son muy utilizados en el desarrollo de pr\u00e1cticamente cualquier <em>software<\/em> moderno: aplicaciones web, aplicaciones m\u00f3viles, dispositivos inteligentes, robots, etc. Los paquetes m\u00e1s populares tienen millones de descargas semanales y forman la base de muchas aplicaciones, desde proyectos especiales a famosas <em>startups<\/em> tecnol\u00f3gicas.<\/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\">Seg\u00fan algunas estimaciones<\/a>, el 97 % del c\u00f3digo de las aplicaciones web modernas proviene de m\u00f3dulos npm. Sin embargo, su popularidad y la libertad y facilidad de cargar cualquier paquete tambi\u00e9n atrae de forma inevitable a los ciberdelincuentes. Por ejemplo, en 2021, unos desconocidos atacantes <a href=\"https:\/\/www.kaspersky.es\/blog\/uaparser-js-infected-versions\/26330\/\" target=\"_blank\" rel=\"noopener\">comprometieron<\/a> varias versiones de una popular biblioteca de JavaScript, UAParser.js, insertando c\u00f3digo malicioso. Esta biblioteca se descargaba de 6 a 8 millones de veces por semana. Al infectarla, los ciberdelincuentes pudieron extraer criptomonedas y robar informaci\u00f3n confidencial, como las <em>cookies<\/em> del navegador, las contrase\u00f1as y credenciales de los sistemas operativos de los dispositivos infectados.<\/p>\n<p>Y aqu\u00ed va un ejemplo m\u00e1s reciente: el 26 de julio de 2022, nuestros investigadores <a href=\"https:\/\/securelist.com\/lofylife-malicious-npm-packages\/107014\/\" target=\"_blank\" rel=\"noopener\">descubrieron una nueva amenaza<\/a> que apareci\u00f3 en el repositorio npm de c\u00f3digo abierto a la que llamaron LofyLife.<\/p>\n<h2>Bueno, \u00bfy qu\u00e9 es LofyLife?<\/h2>\n<p>Nuestros investigadores identificaron la campa\u00f1a maliciosa LofyLife usando un sistema automatizado interno para monitorizar repositorios de c\u00f3digo abierto. La campa\u00f1a us\u00f3 cuatro paquetes maliciosos que difundieron el <em>malware<\/em> Volt Stealer y Lofy Stealer en el repositorio npm para recopilar informaci\u00f3n diversa de las v\u00edctimas (entre la que se incluyen los tokens de Discord y los datos de las tarjetas de cr\u00e9dito vinculadas) y espiarlas despu\u00e9s.<\/p>\n<p>Los paquetes maliciosos identificados parec\u00edan usarse para tareas ordinarias, como formatos de titulares o ciertas funciones de algunos juegos. Las descripciones de los paquetes estaban incompletas y, por lo general, parece que los atacantes no emplearon demasiado esfuerzo en ellos. Sin embargo, el paquete de \u201cformato de titulares\u201d estaba en portugu\u00e9s brasile\u00f1o con el <em>hashtag<\/em> #brazil, lo que sugiere que el objetivo de los atacantes es atacar a los usuarios que se encuentran en Brasil. Se encontraron otros paquetes en ingl\u00e9s, por lo que tambi\u00e9n podr\u00edan estar dirigidos a usuarios de otros pa\u00edses.<\/p>\n<div id=\"attachment_27467\" style=\"width: 1110px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-27467\" class=\"wp-image-27467 size-full\" src=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/88\/2022\/08\/04081244\/lofylife-malicious-packages-in-npm-repository-proc-title.jpg\" width=\"1100\" height=\"440\"><p id=\"caption-attachment-27467\" class=\"wp-caption-text\">Descripci\u00f3n de uno de los paquetes infectados llamado \u201cproc-title\u201d (Traducci\u00f3n del portugu\u00e9s: Este paquete escribe correctamente en may\u00fasculas tus t\u00edtulos siguiendo el manual de estilo de Chicago)<\/p><\/div>\n<p>Sin embargo, estos paquetes, conten\u00edan un confuso c\u00f3digo malicioso en JavaScript y Python. Esto hizo que fueran m\u00e1s dif\u00edciles de analizar cuando se sub\u00edan al repositorio. El cargamento malicioso estaba formado por un <em>malware <\/em>escrito en Python denominado Volt Stealer, un <em>script <\/em>malicioso de c\u00f3digo abierto, y un<em> malware<\/em> de JavaScript denominado Lofy Stealer, que tiene numerosas caracter\u00edsticas.<\/p>\n<p>Volt Stealer se utiliz\u00f3 para robar tokens de Discord de los dispositivos infectados junto con las direcciones IP de las v\u00edctimas y cargarlos mediante HTTP. Lofy Stealer, una nueva creaci\u00f3n de los atacantes, puede infectar los archivos del cliente de Discord y monitorizar las acciones de las v\u00edctimas, detectando cu\u00e1ndo un usuario inicia sesi\u00f3n, cambia el correo electr\u00f3nico registrado o la contrase\u00f1a, habilita o deshabilita la autenticaci\u00f3n multifactor y cu\u00e1ndo introduce un nuevo m\u00e9todo de pago (en cuyo caso roba los datos completos de la tarjeta de cr\u00e9dito). Y finalmente carga la informaci\u00f3n recopilada en el <em>endpoint <\/em>remoto.<\/p>\n<h2>C\u00f3mo protegerse de los paquetes maliciosos<\/h2>\n<p>Los repositorios de c\u00f3digo abierto permiten que cualquier persona publique sus propios paquetes, pero no todos son completamente seguros. Por ejemplo, los atacantes pueden imitar los paquetes npm m\u00e1s populares cambiando una o dos letras del nombre para enga\u00f1ar a los usuarios haci\u00e9ndoles creer que se est\u00e1n descargando el paquete original. Por lo tanto, recomendamos estar alerta y no dar por hecho que los paquetes son de confianza.<\/p>\n<p>En general, los entornos de desarrollo o construcci\u00f3n son objetivos ideales para los atacantes que intentan organizar ataques a la cadena de suministro. Eso significa que dichos entornos deben contar con una fuerte protecci\u00f3n <em>antimalware <\/em>como <a href=\"https:\/\/www.kaspersky.es\/enterprise-security\/devops-security?icid=es_kdailyplacehold_acq_ona_smm__onl_b2b_kasperskydaily_wpplaceholder_______\" target=\"_blank\" rel=\"noopener\">Kaspersky Hybrid Cloud Security<\/a>. Nuestros productos detectan con \u00e9xito el ataque LofyLife con los fallos HEUR:Trojan.Script.Lofy.gen y Trojan.Python.Lofy.a.<\/p>\n<p>Si quieres ser de los primeros en enterarte de las nuevas campa\u00f1as maliciosas que se propagan a trav\u00e9s del c\u00f3digo abierto, suscr\u00edbete a las fuentes de informaci\u00f3n y los informes de inteligencia de amenazas, como los proporcionados a trav\u00e9s de la plataforma <a href=\"https:\/\/opentip.kaspersky.com\/?icid=es_kdailyplacehold_acq_ona_smm__onl_b2b_kasperskydaily_wpplaceholder_______&amp;utm_source=kdaily&amp;utm_medium=blog&amp;utm_campaign=es_wpplaceholder_nv0092&amp;utm_content=link&amp;utm_term=es_kdaily_organic_undefined\" target=\"_blank\" rel=\"noopener nofollow\">Threat Intelligence Portal<\/a>.<\/p>\n<input type=\"hidden\" class=\"category_for_banner\" value=\"kasap\">\n","protected":false},"excerpt":{"rendered":"<p>Nueva campa\u00f1a maliciosa a la caza de tokens de Discord y datos de tarjetas de cr\u00e9dito usando paquetes npm infectados.<\/p>\n","protected":false},"author":2632,"featured_media":27468,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1348],"tags":[2621,3251,3129,3465,1343],"class_list":{"0":"post-27466","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-threats","8":"tag-cadena-de-suministro","9":"tag-discord","10":"tag-ladron-de-contrasenas","11":"tag-npm","12":"tag-tarjetas-bancarias"},"hreflang":[{"hreflang":"es","url":"https:\/\/www.kaspersky.es\/blog\/lofylife-malicious-packages-in-npm-repository\/27466\/"},{"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":"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":"de","url":"https:\/\/www.kaspersky.de\/blog\/lofylife-malicious-packages-in-npm-repository\/29092\/"},{"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.es\/blog\/tag\/cadena-de-suministro\/","name":"cadena de suministro"},"_links":{"self":[{"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/posts\/27466","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/users\/2632"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/comments?post=27466"}],"version-history":[{"count":2,"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/posts\/27466\/revisions"}],"predecessor-version":[{"id":27470,"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/posts\/27466\/revisions\/27470"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/media\/27468"}],"wp:attachment":[{"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/media?parent=27466"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/categories?post=27466"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/tags?post=27466"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}