
Загрузчик вредоносного ПО на .NET, использующий API-Hashing для обхода статического анализа
Загрузчик для .NET, использующий хеширование API и динамический вызов для обхода статического анализа
NixImports использует мою реализацию управляемого хеширования API — HInvoke, чтобы динамически разрешать большинство вызываемых функций во время выполнения.
Для разрешения функций HInvoke требует два хеша: typeHash и methodHash. Эти хеши представляют имя типа и полное имя метода; во время выполнения HInvoke анализирует всю mscorlib, чтобы найти соответствующий тип и метод.
Благодаря этому процессу HInvoke не оставляет никаких ссылок на импорт для методов, вызываемых через него.
Ещё одна интересная особенность NixImports — он избегает вызова известных методов настолько, насколько это возможно. Там, где это применимо, NixImports использует внутренние методы вместо их обёрток. Используя только внутренние методы, мы можем обойти базовые хуки и мониторинг, применяемые некоторыми средствами безопасности.
Более подробное объяснение — в моём блоге.
Вы можете сгенерировать хеши для HInvoke с помощью этого инструмента
NixImports требует только путь к .NET-бинарному файлу, который вы хотите упаковать.
NixImports.exe <путь_к_файлу>
Он автоматически создаст новый исполняемый файл с именем Loader.exe в своей корневой папке. Исполняемый файл загрузчика будет содержать вашу закодированную полезную нагрузку и код-заглушку, необходимый для её выполнения.
Если вас интересует обнаружение (detection engineering) и возможное выявление NixImports, ознакомьтесь с последним разделом моего блога
Или нажмите здесь для получения базового YARA-правила, охватывающего NixImports.