Registrando en las Sombras: Cómo una Falsa Librería .NET se Convirtió en una Ladrona de Criptomonedas
Un paquete de NuGet aparentemente inofensivo transformó herramientas de desarrollo confiables en una máquina encubierta para robar billeteras, exponiendo el lado oscuro de las dependencias de código abierto.
Todo comenzó como un día rutinario más para los desarrolladores de .NET en busca de herramientas de registro confiables. Pero, oculto entre los miles de paquetes en NuGet Gallery, se encontraba un lobo con piel de cordero: una librería de registro que hacía mucho más que registrar errores. En cambio, extraía en silencio los secretos de billeteras de criptomonedas, dejando a las víctimas sin sospechar nada.
Dentro del Engaño: Errores Tipográficos, Homógrafos y Amenazas Ocultas
El paquete Tracer.Fody.NLog parecía, a simple vista, ser solo otra extensión para el registro en .NET: confiable, familiar y útil. Pero su creador, usando el alias csnemess (una variación de una letra respecto al mantenedor legítimo csnemes), tenía otros planes. La descripción del paquete, el nombre e incluso la estructura de archivos imitaban de cerca los proyectos auténticos de Tracer, engañando incluso a desarrolladores experimentados.
El engaño iba más allá: la DLL maliciosa incrustada en el paquete utilizaba homógrafos cirílicos - caracteres Unicode que parecen idénticos a las letras latinas pero son técnicamente diferentes. Este truco lingüístico permitió que el malware se camuflara entre el código legítimo y evadiera los escaneos automáticos que dependen de la coincidencia de cadenas. Nombres como “Тrасer” y “Fоdy” lucían perfectamente normales, pero ocultaban una carga peligrosa.
Del Registro al Saqueo: Cómo Funcionó el Ataque
Una vez que un desarrollador integraba este paquete sin saberlo, se enganchaba silenciosamente a un método auxiliar comúnmente usado: Guard.NotNull<T>. Cada vez que este método procesaba un objeto que contenía una propiedad WalletPassword, el malware entraba en acción. Buscaba en el directorio predeterminado de billeteras Stratis, leía todos los datos y contraseñas de las billeteras, y los transmitía silenciosamente a un servidor ruso (176.113.82.163:4444), todo sin generar una sola alerta o entrada de registro.
No se trataba de un robo rápido y ruidoso. La operación era calculada, persistente e invisible, apuntando al mismo núcleo de la seguridad blockchain: las claves privadas y las credenciales de las billeteras.
Implicaciones Más Amplias: Los Peligros Silenciosos de los Ataques a la Cadena de Suministro
Este no es un incidente aislado. La misma infraestructura ha sido vinculada a ataques previos dirigidos a billeteras blockchain a través de NuGet, y el servidor malicioso sigue en línea. Los investigadores de seguridad advierten que, a medida que los componentes de código abierto se integran más profundamente en los flujos de trabajo empresariales, el riesgo de este tipo de ataques sigilosos a la cadena de suministro solo aumenta.
Los expertos instan a los desarrolladores a verificar la autenticidad de los mantenedores de los paquetes y a desplegar herramientas avanzadas de detección - como el AI Scanner de Socket - para detectar dependencias maliciosas antes de que lleguen a producción.