11,7 millones de descargas en cuatro días — y no despertó sospechas en nadie.
La plataforma de distribución de bibliotecas .NET NuGet volvió a convertirse en un canal de difusión de código malicioso. Esta vez los atacantes emplearon una técnica de sustitución de caracteres para crear paquete malicioso que imitaba la conocida biblioteca Nethereum, utilizada para trabajar con Ethereum en el entorno .NET. Según expertos de Socket, el objetivo del ataque fue el robo de datos confidenciales de carteras de criptomonedas, incluidas frases mnemónicas, claves privadas y archivos de claves.
La biblioteca maliciosa denominada «Netherеum.All» fue subida el 16 de octubre por un usuario con el alias «nethereumgroup». Cuatro días después, tras detectarse una violación de las condiciones de uso del servicio, fue eliminada. La particularidad del paquete fue la sustitución de la última letra «e» por su análogo cirílico, visualmente idéntico al carácter latino pero con un código Unicode distinto. Esto permitió engañar a los desarrolladores, que no advirtieron la sustitución y descargaron la versión maliciosa en lugar del original.
Para aumentar la confianza en el paquete, los autores del ataque recurrieron a inflar artificialmente el número de descargas. El paquete mostraba una cifra de 11,7 millones de descargas, lo que resulta imposible para una biblioteca nueva y desconocida. Los especialistas explicaron que ese efecto se conseguía publicando numerosas versiones del paquete y provocando la descarga automática de cada una de ellas usando distintas direcciones IP, encabezados y solicitudes paralelas. Estas acciones permitieron eludir las cachés de los clientes y crear la apariencia de popularidad.
El código malicioso principal estaba oculto en una función llamada EIP70221TransactionService.Shuffle. En su interior se decodificaba una cadena cifrada y se extraía la dirección del servidor de mando solananetworkinstance[.]info/api/gads. A continuación, desde el sistema del usuario se enviaban los datos robados de la cartera de criptomonedas.
Anteriormente ese mismo grupo ya había publicado en NuGet otro paquete malicioso denominado «NethereumNet» con funcionalidad similar. También fue eliminado rápidamente por los moderadores de la plataforma. Sin embargo, el incidente señala una actividad persistente dirigida a comprometer el ecosistema .NET mediante sustituciones visualmente indetectables en los nombres de las bibliotecas.
La técnica de sustitución de caracteres ya se había aplicado en el pasado. Por ejemplo, a mediados de 2024 el equipo de ReversingLabs registró casos similares en los que bibliotecas maliciosas se hacían pasar por legítimas sustituyendo letras por otras de aspecto parecido. La situación se agrava por el hecho de que, a diferencia de otros gestores de paquetes populares como PyPI, npm, Maven Central, Go Module y RubyGems, en NuGet no existe la restricción de usar solo caracteres ASCII en los nombres. Esto crea condiciones favorables para el typosquatting.
Para reducir el riesgo, los especialistas recomiendan verificar cuidadosamente el origen de las bibliotecas antes de descargarlas, prestando atención a picos en las descargas y a la reputación comprobada del autor. Además, se aconseja vigilar la actividad de red en busca de conexiones sospechosas que indiquen una posible fuga de datos.