攻防的较量,杀毒软件的致命缺陷

345 阅读4分钟

根据云查杀引擎设计原理,我们发现基于黑白名单的检测机制存在时间绕过的缺陷,这意味着在下一次同步(一般是2-4小时)云规则前,文件仍处于灰名单期间它将绕过。

接着,红队将使用完全无法检测进程注入技术,将信标注入合法进程,进一步增强隐蔽性,如你所见,卡巴斯基未能检测到,360、火绒、Dedender也不例外。

技术介绍

杀毒软件设计原理

  • 《火绒反病毒引擎扫描核心简介》
  • 《火绒终端安全管理系统2.0》
  • 《360终端安全防护系统产品白皮书》
  • 《360安全卫士的隐私保护说明》

想要绕过,首先要了解杀毒软件设计原理,首先是第一道防线黑白名单机制,在黑名单的直接报毒,在白名单的直接放行,不在黑白名单的未知程序,则转由云端的行为分析器(其中就包括云端QVM人工智能引擎)来判断此程序的动作是否有危害,但这判断存在时间绕过。其次是特征查杀,一旦特征消除,内存睡眠绕过,行为保持隐蔽,则很难进行防御,而这些,已经不再是难题。

技术采用

编号技术详细针对对象
1常规加载器《付费购买》360、火绒、Defender
2高级加载器《间接系统调用APC注入EDR绕过免杀加载器》卡巴斯基、EDR、360、火绒、Defender
3常规弹头《完全无法检测的CobaltStrike》通用
4编译方法《免杀HelloWorld,0/71通过所有杀软》通用
5进程注入《泳池派对变体BOF7》通用

项目特点

本项目(常规加载器)采用一种Payload隐藏技术,使用LLVM混淆编译,同时适用于360、火绒、Defender,可有效躲避基于云的黑白名单检测机制、特征检测机制。

1. 通过率

11个常规加载器样本生成测试情况:

编号杀毒软件通过率1天后
1360安全卫士55%18%
2火绒安全100%100%
3Microsoft Defender36%36%

2. 混淆

采用知名工具OLLVM混淆,使用IDA PRO9.0自动分析,左下方视图可见已无法正常分析。

- bcf # 虚假控制流
- fla # 控制流平坦化
- sub # 指令替换
- sobf # 字符串混淆
- split # 基本块分割
- ibr # 间接分支
- icall # 间接调用 (call 寄存器)
- igv # 间接全局变量

混淆更大的作用在于绕过全文哈希分段哈希,避免被标记。由于每次生成的PE哈希都不同,因此绕过特征驱动引擎。

3. 熵值

值不应过高,也不应过低

4. 合规

参见《PC软件检测标准》:文件右键属性信息不完整:软件所有文件需要有版本信息、产品名称、内部名称、描述信息,并保证内容与软件性质一致。

5. 文件大小

采用填充技术增加文件大小,无填充约700KB,可自由修改膨胀大小。

$size = 1MB  #膨胀1M

6. 一键生成

右键powershell脚本运行,一键生成,快速高效。

免责声明

本文所涉及的信息安全技术知识仅供参考和学习之用,并不构成任何明示或暗示的保证。读者在使用本文提供的信息时,应自行判断其适用性,并承担由此产生的一切风险和责任。本文作者对于读者基于本文内容所做出的任何行为或决定不承担任何责任。在任何情况下,本文作者不对因使用本文内容而导致的任何直接、间接、特殊或后果性损失承担责任。读者在使用本文内容时应当遵守法律法规,并保证不违反任何相关法律法规。

推荐阅读


欢迎点赞分享并留言,同时欢迎关注视频号。