前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >工具开发-Rustloader免杀生成器

工具开发-Rustloader免杀生成器

作者头像
hyyrent
发布2024-06-05 14:34:33
1450
发布2024-06-05 14:34:33
举报
文章被收录于专栏:安全学习记录安全学习记录

Rustloader免杀生成器

开发背景

由于近年来go用来做免杀器越来越普遍,导致杀软对go编译程序静态查杀力度增大,因此转型投入rust的怀抱

说实话,rust的语法是真难懂,边改边查参考github代码总算是捏出来了

加载方式

  • 使用LoadLibraryAGetProcAddress从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 代码对应位置

编译选项优化

代码语言:javascript
复制
cargo clean
rustup default stable-x86_64-pc-windows-msvc
cargo build --release

cargo.toml文件,默认已添加

代码语言:javascript
复制
[profile.release]
opt-level = "z"
lto = true
codegen-units = 1
debug = false
panic = "abort"

程序图标选择

在 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更新加速

代码语言:javascript
复制
rustup set profile minimal

rustup update
rustup update stable
rustup default stable

更换rust下载源

为了速度更快,我们需要修改rust的配置文件来使用其它国内源作为默认下载源。

步骤如下:

  • 找到当前用户目录下 /Users/用户名/.cargo/ 的.cargo 文件夹,Winl 是C:\Users\用户名.cargo
  • 进入名为.cargo的文件夹(目录)
  • 新建一个空文本文件,命名为:config
  • 将以下文本粘贴进去,保存关闭
代码语言:javascript
复制
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
replace-with = 'ustc'
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"

同样,也可以配置阿里云源:

代码语言:javascript
复制
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
replace-with = "rustcc"

[source.rustcc]
registry = "https://code.aliyun.com/rustcc/crates.io-index"

为防止cargo下载失败报SSL connect error错误,还可以在config文件添加以下配置 :

代码语言:javascript
复制
[http]
check-revoke = false
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-06-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Rustloader免杀生成器
    • 开发背景
      • 加载方式
        • 使用方式
          • 捆绑文件选择
            • 编译选项优化
              • 程序图标选择
                • 免杀性能测试
                  • 环境安装部署
                    • 安装rust
                    • rust更新加速
                    • 更换rust下载源
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档