工具开发-Rustloader免杀生成器
Rustloader免杀生成器
开发背景
由于近年来go用来做免杀器越来越普遍,导致杀软对go编译程序静态查杀力度增大,因此转型投入rust的怀抱
说实话,rust的语法是真难懂,边改边查参考github代码总算是捏出来了
加载方式
- 使用
LoadLibraryA
和GetProcAddress
从ntdll获取NtQueueApcThreadEx
函数。 - 使用
VirtualAlloc
分配远程内存。 - 使用
STD::PTR::COPY
将SHELLCODE复制到分配的内存。 - 使用
VirtualProtect
将内存权限更改为可执行文件。 - 使用
GetCurrentThread
获取当前线程句柄。 - 使用
NtQueueApcThreadEx
执行SHELLCODE
使用方式
和我之前开发的go千机一样,一样是一键化生成,别问,问就是为了最大化的简便,目录结构如下
解压打开文件目录,把 beacon_x64.bin
放置在当前目录下,点击 一键生成.bat
输出免杀文件在 output
文件夹下,随机六位数命名
捆绑文件选择
捆绑文件存放在 bundle
文件夹下,默认放置打开损坏文档
如果不需要捆绑文件,把main.rs
文件的45行注释掉
如果更换捆绑文件需要修改 src\forgery\bundle.rs
代码对应位置
编译选项优化
1 | cargo clean |
cargo.toml文件,默认已添加
1 | [profile.release] |
程序图标选择
在 static 目录下放置了四个常见图标,可修改对应名称进行调用
免杀性能测试
360和火绒
defender
ESET
卡巴斯基
环境安装部署
安装rust
安装 Rust 一门帮助每个人构建可靠且高效软件的语言。 https://www.rust-lang.org/zh-CN/tools/install
下载安装相应的版本,双击运行,默认选择模式1进行安装
配置环境变量 C:\Users\MSI-NB\.cargo\bin
输入rustc -V
出现下图表示安装成功
rust更新加速
1 | rustup set profile minimal |
更换rust下载源
为了速度更快,我们需要修改rust的配置文件来使用其它国内源作为默认下载源。
步骤如下:
- 找到当前用户目录下 /Users/用户名/.cargo/ 的.cargo 文件夹,Winl 是C:\Users\用户名.cargo
- 进入名为.cargo的文件夹(目录)
- 新建一个空文本文件,命名为:config
- 将以下文本粘贴进去,保存关闭
1 | [source.crates-io] |
同样,也可以配置阿里云源:
1 | [source.crates-io] |
为防止cargo下载失败报SSL connect error错误,还可以在config文件添加以下配置 :
1 | [http] |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Hyyrent blog!