nim-loader
nimを学ぶための非常に粗い作業中の冒険で、リソースを寄せ集めて一般的なEDR/AV回避技術を実装したシェルコードローダーを作成しています。
これは乱雑なもので、研究目的のみです! 自分で修正せずにコンパイルして実行できるとは期待しないでください。
手順
loader.nim 内のバイト配列を自分のx64シェルコードに置き換えてください
- EXEをコンパイルして実行します:
nim c -d:danger -d:strip --opt:size "loader.nim"
- 使用するインジェクションフォルダの.nimファイルを確認し、注入先のプロセスを調整するとよいでしょう...
実装済み機能
- NTDLLから動的に解決されるダイレクトシステムコール(Thanks @ShitSecure)
- AMSIおよびETWのパッチ適用(Thanks @byt3bl33d3r)
- NTDLLのフック解除(Thanks @MrUn1k0d3r)
- CreateRemoteThreadインジェクション(Thanks @byt3bl33d3r, @ShitSecure)
開発中機能
難読化
- obfuscator-llvm nimコンパイルサポートには denim(作成者:@LittleJoeTables)の使用を検討してください!
参考・インスピレーション
- OffensiveNim(作者:Marcello Salvati (@byt3bl33d3r))
- NimlineWhispers2(作者:Alfie Champion (@ajpc500))
- SysWhispers3(作者:klezVirus (@KlezVirus))
- NimPackt-v1(作者:Cas van Cooten (@chvancooten))
- unhook_bof.c(作者:Mr. Un1k0d3r (@MrUn1k0d3r))
- NimGetSyscallStub(作者:S3cur3Th1sSh1t (@ShitSecure))
- NimHollow(作者:snovvcrash (@snovvcrash))
例