发布于2022年11月4日3年前 Nimcrypt2:一款功能强大的PE封装器加载器 关于Nimcrypt2Nimcrypt2一款功能强大的PE封装器和加载器,该工具基于Nim开发,除了PE之外,该工具还支持对.NET、和原始Shellcode进行封装和加载。该工具能够通过尝试绕过AV/EDR来检测系统的安全性能。该项目的前身为Nimcrypt,而Nimcrypt2则基于Nimcrypt增加了直接系统调用支持,并允许加载常规PE文件以及原始Shellcode。功能介绍1、NtQueueApcThread Shellcode执行2、进程PID欺骗3、第三方DLL屏蔽4、使用系统调用(NimlineWhispers2 & GetSyscallStub)5、系统调用名称随机化6、支持加载.NET和常规PE文件7、支持使用动态密钥生成技术的AES加密8、支持LLVM模糊处理工具9、字符串加密10、沙箱绕过已测试的操作系统平台Windows 11 (10.0.22000)Windows 10 21H2 (10.0.19044)Windows 10 21H1 (10.0.19043)Windows 10 20H2 (10.0.19042)Windows 10 19H2 (10.0.18363)Windows Server 2019 (10.0.17763)工具安装&依赖当前版本的Nimcrypt2仅支持在安装了Nim的Linux操作系统上运行,在安装Nim之前,我们必须确保已经通过包管理器安装了下列软件包:sudo apt install gcc mingw-w64 xz-utils git接下来,我们可以使用choosenim来安装Nim:curl https://nim-lang.org/choosenim/init.sh -sSf | sh echo "export PATH=$HOME/.nimble/bin:$PATH" >> ~/.bashrc export PATH=$HOME/.nimble/bin:$PATHNimcrypt2还有一些其他的依赖组件,我们可以通过Nimble来安装:nimble install winim nimcrypto docopt ptr_math strenc安装完所有的工具依赖组件之后,我们就可以使用下列命令将Nimcrypt2的源码克隆至本地:git clone https://github.com/icyguider/Nimcrypt2.git接下来,我们就要使用下列命令来编译Nimcrypt2了:nim c -d=release --cc:gcc --embedsrc=on --hints=on --app=console --cpu=amd64 --out=nimcrypt nimcrypt.nim可选配置如需使用Obfuscator-LLVM选项,我们必须在系统中安装Obfuscator-LLVM和wclang。下列步骤可以指引你在Kali Linux系统上完成安装与配置:1、将Obfuscator-LLVM克隆至本地,然后完成代码构建;2、编译完成后,备份现有版本的clang,然后将新的Obfuscator-LLVM版的clang拷贝到“/usr/bin/”;3、安装wclang,并将其代码路径添加至PATH中;4、备份现有clang库文件,将新构建的Obfuscator-LLVM库拷贝到“/usr/lib/clang/OLD_VERSION/”;除此之外,我们还需要将下列文件内容添加到你的nim.cfg文件中,并将nim指向你的wclang代码:amd64.windows.clang.exe = "x86_64-w64-mingw32-clang" amd64.windows.clang.linkerexe = "x86_64-w64-mingw32-clang" amd64.windows.clang.cpp.exe = "x86_64-w64-mingw32-clang++" amd64.windows.clang.cpp.linkerexe = "x86_64-w64-mingw32-clang++"此时,我们就可以运行下列命令来查看输出信息了:x86_64-w64-mingw32-clang -v工具帮助信息___ .-' `'. / \ | ; | | ___.--, _.._ |0) ~ (0) | _.---'`__.-( (_. __.--'`_.. '.__.\ '--. \_.-' ,.--'` `""` ( ,.--'` ',__ /./; ;, '.__.'` __ _`) ) .---.__.' / | |\ \__..--"" ""'--.,_ `---' .'.''-._.-'`_./ /\ '. \ _.-~~~````~~~-._`-.__.' | | .' _.-' | | \ \ '. `~---` \ \/ .' \ \ '. '-._) \/ / \ \ `=.__`~-. Nimcrypt v2 jgs / /\ `) ) / / `"".`\ , _.-'.'\ \ / / ( ( / / 3-in-1 C#, PE, & Raw Shellcode Loader `--~` ) ) .-'.' '.'. | ( (/` ( (` ) ) '-; ` '-; (-' Nimcrypt v 2.0 Usage: nimcrypt -f file_to_load -t csharp/raw/pe [-o <output>] [-p <process>] [-n] [-u] [-s] [-e] [-g] [-l] [-v] nimcrypt (-h | --help) Options: -h --help 显示帮助信息 --version 现实版本信息 -f --file filename 要加载的文件 -t --type filetype 文件类型(csharp, raw, 或pe) -p --process process Shellcode要注入的进程名称 -o --output filename 编译后的exe文件名 -u --unhook 解除ntdll.dll钩子 -v --verbose 执行过程中启用Verbose消息 -e --encrypt-strings 使用strenc模块加密字符串 -g --get-syscallstub 使用GetSyscallStub代替NimlineWhispers2 -l --llvm-obfuscator 使用Obfuscator-LLVM来编译代码 -n --no-randomization 启用系统调用名称随机化 -s --no-sandbox 禁用沙盒检测项目地址Nimcrypt2:【GitHub传送门】参考资料https://github.com/icyguider/nimcrypthttps://github.com/byt3bl33d3r/OffensiveNimhttps://github.com/S3cur3Th1sSh1t/Nim-RunPEhttps://github.com/S3cur3Th1sSh1t/NimGetSyscallStubhttps://twitter.com/ShitSecure/status/1482428360500383755https://github.com/ajpc500/NimlineWhispers2https://github.com/dom*96/choosenim本文作者:Alpha_h4ck, 转载请注明来自FreeBuf.COM
创建帐户或登录后发表意见