Investigadores de ciberseguridad han descubierto un nuevo paquete NuGet malicioso que escribe y se hace pasar por la popular biblioteca de rastreo .NET y su autor para infiltrarse en un ladrón de billeteras de criptomonedas.
El paquete malicioso, denominado «Tracer.Fody.NLog», permaneció en el repositorio durante casi seis años. Fue publicado por un usuario llamado «csnemess» el 26 de febrero de 2020. Se hace pasar por «Tracer.Fody», mantenido por «csnemes». El paquete continúa estando disponible al momento de escribir este artículo y se ha descargado al menos 2000 veces, de las cuales 19 tuvieron lugar durante las últimas seis semanas para la versión 3.2.4.
«Se presenta como una integración de rastreo .NET estándar, pero en realidad funciona como un ladrón de billeteras de criptomonedas», dijo el investigador de seguridad de Socket, Kirill Boychenko. «Dentro del paquete malicioso, el Tracer.Fody.dll integrado escanea el directorio predeterminado de la billetera Stratis, lee los archivos *.wallet.json, extrae los datos de la billetera y los filtra junto con la contraseña de la billetera a la infraestructura controlada por el actor de amenazas en Rusia en 176.113.82(.)163».
La compañía de seguridad de la cadena de suministro de software dijo que la amenaza aprovechó una serie de tácticas que le permitieron eludir una revisión casual, incluida la imitación del mantenedor legítimo mediante el uso de un nombre que difiere en una sola letra («csnemes» frente a «csnemess»), el uso de caracteres cirílicos similares en el código fuente y la ocultación de la rutina maliciosa dentro de una función auxiliar genérica («Guard.NotNull») que se utiliza durante la ejecución normal del programa.

Una vez que un proyecto hace referencia al paquete malicioso, activa su comportamiento escaneando el directorio predeterminado de la billetera Stratis en Windows («%APPDATA%\StratisNode\stratis\StratisMain»), lee archivos *.wallet.json y contraseñas en memoria, y los extrae a la dirección IP alojada en Rusia.
«Todas las excepciones se detectan silenciosamente, por lo que incluso si la exfiltración falla, la aplicación host continúa ejecutándose sin ningún error visible, mientras que las llamadas exitosas filtran silenciosamente datos de la billetera a la infraestructura del actor de la amenaza», dijo Boychenko.
Socket dijo que la misma dirección IP se utilizó anteriormente en diciembre de 2023 en relación con otro ataque de suplantación de identidad de NuGet en el que el actor de amenazas publicó un paquete llamado «Cleary.AsyncExtensions» bajo el alias «stevencleary» e incorporó una funcionalidad para desviar frases iniciales de billetera. El paquete fue llamado para disfrazarse de la biblioteca AsyncEx NuGet.
Los hallazgos ilustran una vez cómo los typosquats maliciosos que reflejan herramientas legítimas pueden operar sigilosamente sin atraer atención en los ecosistemas de repositorios de código abierto.
«Los defensores deberían esperar ver una actividad similar e implantes posteriores que amplíen este patrón», dijo Socket. «Los objetivos probables incluyen otras integraciones de registro y seguimiento, bibliotecas de validación de argumentos y paquetes de utilidades que son comunes en proyectos .NET».


