
Un cargador de malware .NET, usando API-Hashing para evadir el análisis estático
Un cargador de malware .NET, que utiliza API-Hashing e invocación dinámica para evadir el análisis estático
NixImports utiliza mi implementación gestionada de API-Hashing, HInvoke, para resolver dinámicamente la mayoría de sus funciones llamadas en tiempo de ejecución. Para resolver las funciones, HInvoke requiere dos hashes: typeHash y methodHash. Estos hashes representan el nombre del tipo y el FullName del método; en tiempo de ejecución, HInvoke analiza todo mscorlib para encontrar el tipo y método coincidentes. Debido a este proceso, HInvoke no deja ninguna referencia de importación a los métodos llamados a través de él.
Otra característica interesante de NixImports es que evita llamar a métodos conocidos tanto como sea posible; cuando es aplicable, NixImports utiliza métodos internos en lugar de sus envoltorios. Al utilizar solo métodos internos, podemos evadir hooks básicos y la monitorización empleada por algunas herramientas de seguridad.
Para una explicación más detallada, consulta mi artículo del blog.
Puedes generar hashes para HInvoke usando esta herramienta
NixImports solo requiere la ruta de archivo del binario .NET que deseas empaquetar con él.
NixImports.exe <filepath>
Generará automáticamente un nuevo ejecutable llamado Loader.exe en su carpeta raíz. El ejecutable cargador contendrá tu payload codificado y el código stub necesario para ejecutarlo.
Si estás interesado en la ingeniería de detección y la posible detección de NixImports, consulta la última sección de mi artículo del blog
O haz clic aquí para una regla yara básica que cubre NixImports.