万字写AvBypass基础,看了你就入门了
字数 2185 2025-08-29 08:30:24
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会根据项目历史报毒)
第二步:基础内存加载实现
// 代码框架示例
1. 打开并读取1.bin文件(std::ifstream)
2. 分配可执行内存(VirtualAlloc, PAGE_EXECUTE_READWRITE)
3. 将shellcode写入内存
4. 执行shellcode(定义函数指针类型并调用)
第三步:执行方法改进
- 通过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. 法律与道德声明
本技术仅供合法用途:
- 学习研究
- 教育演示
- 授权测试
严禁用于:
- 任何违法活动
- 侵犯他人权益
- 破坏公共秩序
使用者需自行承担全部风险和责任,确保符合所在国家或地区的法律法规。