.NETマルウェアローダー。APIハッシングと動的呼び出しを使用して静的解析を回避します。
NixImportsは、管理されたAPIハッシング実装であるHInvokeを使用して、実行時に呼び出される関数のほとんどを動的に解決します。関数を解決するために、HInvokeはtypeHashとmethodHashの2つのハッシュを必要とします。これらのハッシュは型名とメソッドの完全名(FullName)を表し、実行時にHInvokeはmscorlib全体を解析して一致する型とメソッドを見つけます。このプロセスにより、HInvokeはそれを通じて呼び出されたメソッドへのインポート参照を一切残しません。
NixImportsのもう一つの興味深い機能は、既知のメソッドの呼び出しを可能な限り回避することです。可能な場合は、NixImportsはラッパーの代わりに内部メソッドを使用します。内部メソッドのみを使用することで、一部のセキュリティツールが採用する基本的なフックや監視を回避できます。
詳細な説明については、私のブログ記事を参照してください。
HInvokeのハッシュを生成するには、このツールを使用できます。
NixImportsには、パック対象の.NETバイナリへのファイルパスが必要です。
NixImports.exe <filepath>
自動的に、ルートフォルダにLoader.exeという新しい実行可能ファイルが生成されます。ローダー実行可能ファイルには、エンコードされたペイロードとそれを実行するために必要なスタブコードが含まれます。
検出エンジニアリングやNixImportsの検出可能性に興味がある場合は、ブログ記事の最後のセクションをチェックしてください。
または、NixImportsをカバーする基本的なYARAルールについてはこちらをクリックしてください。