Sophos News

Abuso de paquetes JavaScript NPM para crear enlaces scambait en masa

Johnathan Swift es probablemente más famoso por su novela Los viajes de Gulliver, en la que el narrador, Lemuel Gulliver, se encuentra con un cisma sociopolítico en la sociedad liliputiense causado por las interminables discusiones sobre si debes abrir un huevo cocido por el extremo grande o por el pequeño.

Esta observación satírica se ha trasladado directamente a la informática moderna: las CPU que representan números enteros con los bytes menos significativos en las direcciones de memoria más bajas se denominan little-endian (es como escribir el año 1984 d.C. como 4 8 9 1, en la secuencia unidades-decenas-cientos-mil), y las que ponen los bytes más significativos primero en la memoria (como se escriben convencionalmente los números: 1 9 8 4) se conocen como big-endian.

Swift, por supuesto, nos dio otra nota satírica que se aplica bastante bien a los ataques a la cadena de suministro de código abierto, donde los programadores deciden utilizar el proyecto X, sólo para descubrir que X depende de Y, que a su vez depende de Z, que depende de A, B y C, que a su vez… ya te haces una idea.

Por tanto, nos hemos acostumbrado a la idea  que el contenido fraudulento que se sube a los repositorios de paquetes de código abierto suele tener como objetivo inyectarse inadvertidamente en dependencias de código que algunos productos descargan inadvertidamente al actualizarse automáticamente.

Pero los investigadores del equipo de pruebas de seguridad de la cadena de suministro sw Checkmarx advirtieron recientemente sobre un abuso mucho menos sofisticado, aunque potencialmente mucho más intrusivo, de los repositorios populares: como “redireccionadores” de enlaces de phishing.

Los investigadores detectaron cientos de propiedades en línea, como sitios de blogs de WordPress, que estaban llenos de publicaciones de aspecto fraudulento que enlazaban con miles de URL alojadas en el repositorio de paquetes NPM.

Pero esos “paquetes” no existían para publicar código fuente.

Existían simplemente como marcadores de posición para archivos README que incluían los enlaces finales en los que los estafadores querían que la gente hiciera clic.

Estos enlaces solían incluir códigos de referencia que proporcionarían a los estafadores una modesta recompensa, incluso si la persona que hacía clic lo hacía simplemente para ver qué demonios estaba pasando.

Los nombres de los paquetes NPM no eran precisamente sutiles, así que deberías detectarlos.

Afortunadamente, los delincuentes (suponemos que sin darse cuenta) consiguieron incluir su lista de paquetes venenosos en una de sus cargas.

Por tanto, Checkmarx ha publicado una lista con más de 17.000 nombres falsos únicos, de los que sólo una pequeña muestra (uno por cada una de las primeras letras del alfabeto) te muestra qué tipo de “bienes y servicios” dicen ofrecer estos estafadores:

active-amazon-promo-codes-list-that-work-updates-daily-106

bingo-bash-free-bingo-chips-and-daily-bonus-222

call-of-duty-warzone-2400-points-for-free-gamerhash-com778

dice-dream-free-rolls

evony-kings-return-upgrade-keep-level-35-without-spending-money779

fifa-mobile-23–new-toty-23-make-millions546

get-free-tiktok-followers505

how-can-i-get-my-snap-score-higher796

instagram_followers_bot_free_apk991

jackpot_world_free_coins_and_jewels307

king-of-avalon–tips-and-tricks-to-get-free-gold429

lakers-shirt-nba-jersey023

. . .

Checkmarx también publicó una lista de cerca de 200 páginas web en las que se habían publicado posts que promocionaban y enlazaban a estos paquetes NPM falsos.

Parece que los estafadores ya tenían nombres de usuario y contraseñas para algunos de estos sitios, lo que les permitía publicar como usuarios o revisores “de confianza”.

Pero cualquier sitio con comentarios no moderados o mal moderados podría verse salpicado anónimamente por este tipo de enlaces fraudulentos, por lo que obligar simplemente a todos los miembros de tu comunidad a crear una cuenta en tu sitio no basta por sí solo para controlar este tipo de abusos.

Crear enlaces clicables en muchos, si no en la mayoría, de los repositorios de código fuente en línea es sorprendentemente fácil, y sigue automáticamente el aspecto del sitio en su conjunto.

Ni siquiera necesitas crear diseños HTML completos o estilos de página CSS; normalmente, solo tienes que crear un archivo en el directorio raíz de tu proyecto llamado README.md.

La extensión .md es la abreviatura de Markdown, un lenguaje de marcado de texto muy fácil de usar (¿ves lo que han hecho?) que sustituye las complejas etiquetas y atributos de corchetes angulares de HTML por simples anotaciones de texto.

Por ejemplo, para poner un texto en negrita en Markdown, basta con ponerle estrellas alrededor, de modo que **este trozo** estaría en negrita. Para los párrafos, basta con dejar líneas en blanco. Para crear un enlace, basta con poner un texto entre corchetes y seguirlo con una URL entre corchetes. Para mostrar una imagen desde una URL en lugar de crear un texto en el que se pueda hacer clic, pon un signo de exclamación delante del enlace, y así sucesivamente.

¿Qué hacer?

Recuerda: piensa antes de hacer clic, y en caso de duda, ¡no le des!