万字写AvBypass基础,看了你就入门了
字数 2185 2025-08-29 08:30:24

AV Bypass技术全面指南

1. 技术概述

AV Bypass技术是一种旨在绕过病毒扫描和安全软件(尤其是防病毒软件)保护的技术,主要用于恶意软件开发中以逃避安全防护系统的检测和拦截。

主要绕过方法:

  1. 代码混淆:改变恶意代码结构,使其不易被识别
  2. 反调试技术:检测系统是否正在进行调试
  3. 内存注入和隐藏:将代码注入受信任的进程
  4. 利用0day漏洞:利用防病毒软件或OS中的未知漏洞
  5. 修改执行路径:改变运行方式避开扫描工具

2. Shellcode Loader技术详解

Shellcode Loader是一种专门设计用来绕过防病毒软件检测的技术,通过加载并执行shellcode的方式避免被发现。

工作原理

载入阶段:

  • 以"无害"文件形式存在(文档、压缩包等)
  • 执行后从文件或网络获取Shellcode并加载到内存

执行阶段:

  • 将shellcode注入进程内存空间
  • 通过进程注入、DLL注入或直接修改内存实现
  • 执行恶意行为(远程命令执行、数据窃取等)

绕过技巧

  1. 内存直接执行

    • 将恶意代码直接加载到内存
    • 避免文件扫描检测
  2. 加密和混淆

    • 加密Shellcode使其无法被识别
    • 仅在内存中解密
  3. 反沙箱和反调试

    • 检测沙箱环境并改变行为
    • 使用反调试技术防止人工分析
  4. 利用合法进程

    • 注入系统关键进程(浏览器、邮件客户端等)
    • 隐藏在正常进程背后
  5. 零日漏洞利用

    • 利用OS或AV软件本身的漏洞

3. 开发环境准备

推荐工具:

  • Visual Studio 2022 (或VS2010,效果更佳)
  • Windows SDK
  • 编程语言:优先使用C++(Python易被检测且打包麻烦)

检测工具:

  1. Any.Run - 交互式在线沙箱
  2. Hybrid Analysis - 强大的在线恶意软件分析工具
  3. Cuckoo Sandbox - 开源自动化恶意软件分析系统
  4. VirusTotal - 多引擎文件扫描服务
  5. Joe Sandbox Cloud - 动态和静态分析功能
  6. ReversingLabs - 恶意软件分析和威胁情报

4. 开发流程详解

第一步:Hello World测试

  • 编写简单程序上传沙箱检测基础环境
  • 用于区分真查与假查(某些AV会根据项目历史报毒)

第二步:基础内存加载实现

// 代码框架示例
1. 打开并读取1.bin文件(std::ifstream)
2. 分配可执行内存(VirtualAlloc, PAGE_EXECUTE_READWRITE)
3. shellcode写入内存
4. 执行shellcode(定义函数指针类型并调用)

第三步:执行方法改进

  1. 通过VirtualAlloc分配内存并执行
  2. 通过CreateThread创建新线程
  3. 通过SetWindowsHookEx设置钩子
  4. 通过GetProcAddress和LoadLibrary调用远程代码
  5. 通过jmp跳转到Shellcode地址
  6. 通过NtCreateThreadEx创建线程
  7. 通过CreateProcess和CreateRemoteThread
  8. 通过Memory Mapped Files加载执行
  9. 通过std::function调用
  10. 通过Invoke内联汇编执行
  11. 通过CallWindowProc调用
  12. 通过RtlCreateUserThread创建用户线程
  13. 强改入口点指针加载
  14. 内联汇编执行

第四步:加载方式优化

本地加载(资源法):

  • 优点:分离式加载,检测率低
  • 缺点:多文件
  • 实现
    1. 创建资源文件(.rc)
    2. 添加Shellcode为二进制资源
    3. 使用FindResource/LoadResource读取
    4. 内存执行

远程加载:

  • 优点:单文件
  • 缺点:检测率高
  • 解决方法
    • 将shellcode附加到图片后提取执行
    • 对shellcode加密(如圆锥曲线加密)

第五步:封装技巧

  1. 资源盗用

    • 使用Resource Hacker盗取合法资源
    • 使用Sign-Sacker盗取签名
  2. 项目类型转换

    • 控制台项目转窗体项目(效果更好)
    • 修改步骤:
      • 改项目属性为Windows应用程序
      • 修改入口点为WinMain
      • 添加消息循环和窗口过程
  3. 使用MFC壳

    • VS2010的MFC效果最佳
    • 创建MFC应用程序项目
    • 将MFC集成到现有项目
    • 设计窗口和控件
  4. 编译器选择

    • VS2010效果优于新版VS

第六步:本体保护

  • 加壳技术
    • 使用新版壳(远古壳效果差)
    • 不同壳对不同AV有不同效果
    • 推荐壳:VMProtect, Themida等

第七步:文件伪装

可用的替代扩展名:

  1. .com - DOS可执行格式
  2. .bat/.cmd - 批处理文件(通过start调用)
  3. .scr - 屏幕保护程序(实质是exe)
  4. .pif - 程序信息文件
  5. 特殊字符RLO(反转显示) - 如"fdp.exe"显示为"exe.pdf"

第八步:先锋程序

  • 下载执行器
  • 启动功能模块
  • 根据具体情况设计

5. 防护与检测

反制措施:

  1. 行为分析:检测异常行为(进程注入、文件修改等)
  2. 内存扫描:增强对内存恶意代码的检测
  3. 沙箱强化:深度分析内存操作和进程行为
  4. 混合检测:结合AI/ML识别复杂Bypass技术

系统防护机制:

  1. DEP(数据执行保护):防止数据段执行代码
  2. ASLR(地址空间布局随机化):随机化进程地址空间
  3. 沙箱技术:隔离并分析恶意代码
  4. 行为监控:实时检测异常活动

6. 法律与道德声明

本技术仅供合法用途:

  • 学习研究
  • 教育演示
  • 授权测试

严禁用于:

  • 任何违法活动
  • 侵犯他人权益
  • 破坏公共秩序

使用者需自行承担全部风险和责任,确保符合所在国家或地区的法律法规。

AV Bypass技术全面指南 1. 技术概述 AV Bypass技术是一种旨在绕过病毒扫描和安全软件(尤其是防病毒软件)保护的技术,主要用于恶意软件开发中以逃避安全防护系统的检测和拦截。 主要绕过方法: 代码混淆 :改变恶意代码结构,使其不易被识别 反调试技术 :检测系统是否正在进行调试 内存注入和隐藏 :将代码注入受信任的进程 利用0day漏洞 :利用防病毒软件或OS中的未知漏洞 修改执行路径 :改变运行方式避开扫描工具 2. Shellcode Loader技术详解 Shellcode Loader是一种专门设计用来绕过防病毒软件检测的技术,通过加载并执行shellcode的方式避免被发现。 工作原理 载入阶段: 以"无害"文件形式存在(文档、压缩包等) 执行后从文件或网络获取Shellcode并加载到内存 执行阶段: 将shellcode注入进程内存空间 通过进程注入、DLL注入或直接修改内存实现 执行恶意行为(远程命令执行、数据窃取等) 绕过技巧 内存直接执行 : 将恶意代码直接加载到内存 避免文件扫描检测 加密和混淆 : 加密Shellcode使其无法被识别 仅在内存中解密 反沙箱和反调试 : 检测沙箱环境并改变行为 使用反调试技术防止人工分析 利用合法进程 : 注入系统关键进程(浏览器、邮件客户端等) 隐藏在正常进程背后 零日漏洞利用 : 利用OS或AV软件本身的漏洞 3. 开发环境准备 推荐工具: Visual Studio 2022 (或VS2010,效果更佳) Windows SDK 编程语言 :优先使用C++(Python易被检测且打包麻烦) 检测工具: Any.Run - 交互式在线沙箱 Hybrid Analysis - 强大的在线恶意软件分析工具 Cuckoo Sandbox - 开源自动化恶意软件分析系统 VirusTotal - 多引擎文件扫描服务 Joe Sandbox Cloud - 动态和静态分析功能 ReversingLabs - 恶意软件分析和威胁情报 4. 开发流程详解 第一步:Hello World测试 编写简单程序上传沙箱检测基础环境 用于区分真查与假查(某些AV会根据项目历史报毒) 第二步:基础内存加载实现 第三步:执行方法改进 通过VirtualAlloc分配内存并执行 通过CreateThread创建新线程 通过SetWindowsHookEx设置钩子 通过GetProcAddress和LoadLibrary调用远程代码 通过jmp跳转到Shellcode地址 通过NtCreateThreadEx创建线程 通过CreateProcess和CreateRemoteThread 通过Memory Mapped Files加载执行 通过std::function调用 通过Invoke内联汇编执行 通过CallWindowProc调用 通过RtlCreateUserThread创建用户线程 强改入口点指针加载 内联汇编执行 第四步:加载方式优化 本地加载(资源法): 优点 :分离式加载,检测率低 缺点 :多文件 实现 : 创建资源文件(.rc) 添加Shellcode为二进制资源 使用FindResource/LoadResource读取 内存执行 远程加载: 优点 :单文件 缺点 :检测率高 解决方法 : 将shellcode附加到图片后提取执行 对shellcode加密(如圆锥曲线加密) 第五步:封装技巧 资源盗用 : 使用Resource Hacker盗取合法资源 使用Sign-Sacker盗取签名 项目类型转换 : 控制台项目转窗体项目(效果更好) 修改步骤: 改项目属性为Windows应用程序 修改入口点为WinMain 添加消息循环和窗口过程 使用MFC壳 : VS2010的MFC效果最佳 创建MFC应用程序项目 将MFC集成到现有项目 设计窗口和控件 编译器选择 : VS2010效果优于新版VS 第六步:本体保护 加壳技术 : 使用新版壳(远古壳效果差) 不同壳对不同AV有不同效果 推荐壳:VMProtect, Themida等 第七步:文件伪装 可用的替代扩展名: .com - DOS可执行格式 .bat/.cmd - 批处理文件(通过start调用) .scr - 屏幕保护程序(实质是exe) .pif - 程序信息文件 特殊字符RLO(反转显示) - 如"fdp.exe"显示为"exe.pdf" 第八步:先锋程序 下载执行器 启动功能模块 根据具体情况设计 5. 防护与检测 反制措施: 行为分析 :检测异常行为(进程注入、文件修改等) 内存扫描 :增强对内存恶意代码的检测 沙箱强化 :深度分析内存操作和进程行为 混合检测 :结合AI/ML识别复杂Bypass技术 系统防护机制: DEP(数据执行保护):防止数据段执行代码 ASLR(地址空间布局随机化):随机化进程地址空间 沙箱技术:隔离并分析恶意代码 行为监控:实时检测异常活动 6. 法律与道德声明 本技术仅供合法用途: 学习研究 教育演示 授权测试 严禁用于: 任何违法活动 侵犯他人权益 破坏公共秩序 使用者需自行承担全部风险和责任,确保符合所在国家或地区的法律法规。