杀软行为分析与对抗与沙箱的初步尝试
字数 1241 2025-08-29 22:41:32
杀软行为分析与对抗与沙箱绕过技术详解
一、免杀技术概述
免杀技术主要分为两大类:
- 静态免杀:绕过杀毒软件对文件静态特征的检测
- 动态免杀:绕过杀毒软件在运行时的行为检测
现代杀毒软件通常采用扣分制机制,当检测分数低于某个阈值时,文件会被判定为恶意软件。
二、静态分析对抗技术
1. 特征码绕过
- 原理:杀毒软件通过识别特定的二进制模式来检测恶意软件
- 对抗方法:修改二进制特征,使用编码/加密技术
2. 熵值检测
- 高熵值程序更容易被标记为可疑
- 但许多合法软件(如版权保护软件)也使用混淆技术
- 示例:使用SGN编码的payload可以降低检测率
3. 文件信誉利用
- 部分知名软件在杀软中有白名单
- 示例:通过DLL劫持将恶意代码注入网易云音乐可绕过360检测
4. 加壳脱壳技术
- VMP等加壳工具效果有限
- 虽然能通过静态检测,但在沙箱中常被标记为可疑
- 加壳的两个主要作用:
- 隐藏红队工具特征
- 对抗人工分析
5. 导出表处理
- 导出表公开了程序使用的函数和变量
- 常见恶意函数导出会导致检测分数升高
- 应对:精简或混淆导出表
6. Shellcode加密
- 未加密的shellcode通常存储在.data或.rodata段
- 容易被作为特征检测
- 解决方案:
- 加密存储shellcode
- 运行时解密执行
三、动态分析对抗技术
1. 沙箱检测
- 杀毒软件通过模拟环境监控程序行为
- 常见沙箱类型:
- 本地沙箱
- 云沙箱(如微步云沙箱、VirusTotal)
2. 云查杀
- 与沙箱配合使用
- 通过多引擎扫描提高检测率
3. 启发式扫描
- 分为两种类型:
- 静态启发式:通过反编译识别代码特征
- 行为启发式:监控运行时行为特征
4. API Hook
- 杀毒软件通过hook关键API监控程序行为
四、沙箱绕过技术
1. 沙箱的局限性
- 模拟环境资源有限
- 无法完全模拟真实用户环境
- 检测特征点:
- 特定目录/文件是否存在
- 特定进程是否运行
- 系统资源(CPU核心数、内存大小)
- 运行时长限制
2. 具体绕过方法
(1) 环境探测技术
- 路径存在探测:检查特定用户目录是否存在
- 进程存活探测:
- 检查QQ、微信等常见应用是否运行
- 真实用户环境通常会有这些进程
- 核心数量探测:沙箱通常核心数较少
- 内存探测:沙箱通常内存配置较低
(2) 时间相关绕过
- Sleep函数绕过:
- 直接使用sleep函数会被沙箱加速跳过
- 替代方案:实现精确的时间延迟方法
(3) 注入技术
- 避免直接注入explorer.exe等敏感进程
- 需要设计更隐蔽的注入方式
3. 实际测试结果
- 火绒:检测为"沙盒行为木马-注入器变体A"
- 360急速版:通过检测
- 360标准版:通过检测
- 卡巴斯基:
- 静态分析通过
- 动态分析失败(可能检测网络流量,建议尝试HTTPS)
- Windows Defender:通过检测
五、参考文献
六、注意事项
- 测试时建议断网进行
- 不同杀毒软件版本检测结果可能不同
- 技术更新迭代快,需持续关注最新对抗方法