Los investigadores de ciberseguridad han identificado varios paquetes maliciosos en los ecosistemas npm, Python y Ruby que aprovechan Discord como canal de comando y control (C2) para transmitir datos robados a webhooks controlados por actores.
Los webhooks en Discord son una forma de publicar mensajes en canales de la plataforma sin requerir un usuario de bot o autenticación, lo que los convierte en un mecanismo atractivo para que los atacantes exfiltren datos a un canal bajo su control.
«Es importante destacar que las URL de webhook son efectivamente de sólo escritura», dijo en un análisis la investigadora de Socket, Olivia Brown. «No exponen el historial del canal y los defensores no pueden leer publicaciones anteriores con solo conocer la URL».
La empresa de seguridad de la cadena de suministro de software dijo que identificó varios paquetes que utilizan webhooks de Discord de varias maneras:
- mysql-dumpdiscord (npm), que desvía el contenido de los archivos de configuración del desarrollador como config.json, .env, ayarlar.js y ayarlar.json a un webhook de Discord.
- nodejs.discord (npm), que utiliza un webhook de Discord para probablemente registrar alertas (un enfoque que no es inherentemente malicioso)
- malinssx, malicus y maliinn (PyPI), que utiliza Discord como servidor C2 al activar una solicitud HTTP a un canal cada vez que se instalan los paquetes usando «pip install
« - sqlcommenter_rails (RubyGems.org), que recopila información del host, incluido el contenido de archivos confidenciales como «/etc/passwd» y «/etc/resolv.conf», y lo envía a un webhook de Discord codificado
«El abuso de los webhooks de Discord como C2 es importante porque cambia la economía de los ataques a la cadena de suministro», señaló Brown. «Al ser gratuitos y rápidos, los actores de amenazas evitan alojar y mantener su propia infraestructura. Además, a menudo se mezclan con el código normal y las reglas de firewall, lo que permite la filtración incluso de víctimas seguras».
«Cuando se combinan con enlaces de tiempo de instalación o scripts de compilación, los paquetes maliciosos con el mecanismo Discord C2 pueden desviar silenciosamente archivos .env, claves API y detalles del host de las máquinas de desarrollo y los ejecutores de CI mucho antes de que el monitoreo del tiempo de ejecución vea la aplicación».
Entrevista contagiosa inunda npm con paquetes falsos
La divulgación se produce cuando la compañía también marcó 338 paquetes maliciosos publicados por actores de amenazas norcoreanos asociados con la campaña Contagious Interview, usándolos para entregar familias de malware como HexEval, XORIndex y cargadores cifrados que entregan BeaverTail, en lugar de eliminar directamente el ladrón y descargador de JavaScript. Los paquetes se descargaron colectivamente más de 50.000 veces.
«En esta última ola, los actores de amenazas norcoreanos utilizaron más de 180 personas falsas vinculadas a nuevos alias de npm y correos electrónicos de registro, y ejecutaron más de una docena de puntos finales de comando y control (C2)», dijo el investigador de seguridad Kirill Boychenko.
Los objetivos de la campaña incluyen desarrolladores de Web3, criptomonedas y blockchain, así como solicitantes de empleo en el sector técnico, a quienes se les acercan oportunidades lucrativas en plataformas profesionales como LinkedIn. Luego, a los posibles objetivos se les indica que completen una tarea de codificación clonando un repositorio con trampa explosiva que hace referencia a un paquete malicioso (por ejemplo, eslint-detector) que ya está publicado en el registro npm.
Una vez ejecutado localmente en la máquina, el paquete al que se hace referencia en el supuesto proyecto actúa como un ladrón (es decir, BeaverTail) para recopilar credenciales del navegador, datos de billeteras de criptomonedas, llaveros de macOS, pulsaciones de teclas, contenido del portapapeles y capturas de pantalla. El malware está diseñado para descargar cargas útiles adicionales, incluida una puerta trasera Python multiplataforma con nombre en código InvisibleFerret.
De los cientos de paquetes subidos por actores norcoreanos, muchos de ellos son typosquats de sus contrapartes legítimas (por ejemplo, dotevn vs. dotenv), especialmente aquellos relacionados con Node.js, Express o frameworks frontend como React. También se ha descubierto que algunas de las bibliotecas identificadas son similares a los kits Web3 (por ejemplo, ethrs.js frente a ethers.js).
«Contagious Interview no es un pasatiempo de cibercrimen, funciona como una línea de montaje o una amenaza a la cadena de suministro modelo de fábrica», dijo Boychenko. «Es una operación dirigida por el estado y basada en cuotas con recursos duraderos, no un equipo de fin de semana, y eliminar un paquete malicioso es insuficiente si la cuenta del editor asociado permanece activa».
«La trayectoria de la campaña apunta a una operación duradera, estilo fábrica, que trata el ecosistema npm como un canal de acceso inicial renovable».