0x00 Nim介绍
本次利用到的是Nim语言
- Nim 是一门开源的编程语言
- Nim 的独到之处在于它可以编译成其他编程语言代码(主要是 C 语言和 JavaScript)
- 将 Nim 与 C 语言或 JavaScript 代码集成在一起可以获得最大的价值
- Nim 可以生成高质量的 C 语言代码,避免出现 C 语言的典型错误(如内存泄露和数组指针错误)
0x01 下载Nim
0x02 安装C、C++编译器
Nim编译器需要C编译器才能编译软件
把下载的文件解压到nim下的dist文件夹,把MinGW64下的bin添加到path
0x03 编译
下载NimShellCodeLoader
下载解压后进入 NimShellCodeLoader_Winx64\NimShellCodeLoader\encryption 目录,利用下面 的代码进行编译
nim c -d:release --opt:size Tdea.nim
nim c -d:release --opt:size Caesar.nim
0x04 免杀
利用 Nim+NimShellCodeLoader 可以有10多种免杀方式绕过全网杀软,这里演示其中一种 cobaltstrike生成 raw 格式 64位 的 payload.bin 文件 打开 codeLoader.exe 图形化界面,将 payload.bin 直接拖进来 这里选择的是直接加载 TDEA — Direct Load 选好加载方式和加密方式,点击 generate 即可导出
输出生成的可执行文件在 NimShellCodeLoader_Winx64\NimShellCodeLoader\bin 目录
0x05 结果
时间:2021年10月28日,过火绒、360静态等,过不了360的云查杀,没啥用
0x06 参考
0x07 思考
这玩意由于Nim比较小众才不会被杀,现在已经被360杀了。生成的文件肯定被加入模糊hash特征了。要免杀得话估计还得修改源码。