闲谈免杀三

admin 2024年4月9日13:49:57评论10 views字数 2227阅读7分25秒阅读模式

闲谈免杀三

本文作者:zedxx10,本文为zedxx10大佬投稿文章,感谢师傅的文章!

1. 前言

本次文章主要讲解和展示cobalt strike在对抗主流国外edr和主流大型杀软的测试效果。

  • 本文使用的cobalt strike马分别为:cobalt strike 4.5二开(完全抹除特征版 ),cobalt strike 4.7以及cobalt strike 4.9
  • 测试edr sentelone 。杀软kb endpoint, eset smart
  • shellcode的加载形式为:loader+shellcode以及白加黑

2. 静态规避

之前的两期文章我说过(闲谈免杀1闲谈免杀2):cs目前在对抗这些杀软上完全处于一个极其糟糕的情况,这里我再次指出问题的主要原因:特征码

不管是静态层面还是动态层面上,几乎可以说是被各大厂商研究透彻。但是在静态层面上面,如果你对shellcode采用强加密和分离式,或者白加黑的方法,是完全可以绕过静态检测的,这里我们排除赛门铁克(这个杀软在静态层查杀不太一样)。

3. 动态规避

3.1 卡巴查杀测试

这个作为整个shellcode运行链最关键的一环, 首先我们测试卡巴,目前三个版本都是可以上线的。

我之前说过卡巴在你的loader中没有使用特别敏感操作api的情况下,基本上都是可以正常上线的,但是为什么上线一段时间之后就被查杀了(这里我未做任何操作)?

答案是内存扫描发现了cs特征码,即便是使用堆栈混淆sleep操作cs4.5二开和cs4.7依旧是被查杀,目前只有cs4.9的混淆睡眠较为稳定。

闲谈免杀三

简单的分析一下:

很多睡眠混淆的大部分基于一叫做SystemFunction032函数实现的混淆,该函数很可能被hook了或者说通过卡巴的栈回溯定位该函数的返回地址,然后追踪到了我们的恶意代码上。

在这里loader使用了dll hollow技术,或许也可能是hollow的行为导致其被卡巴查杀,但基于cs4.9在没有在sleep时就被查杀,所以这个暂时也不太好说。

3.2 eset查杀测试

在上线测试中,shellcodeloader均未被查杀,只是提示某个线程存在联网的情况。有可能是我在局域网内进行测试,没有使用代理或是eset将当前的地址直接当作一个非法链接的地址,只是阻止了连接,但未报毒。

闲谈免杀三

当我换成代理或者一个《合法地址》的时候,eset并未查杀;同时执行sleep混淆操作,3个版本的cs都可以正常上线。但当我执行shell命令的时却立马被查杀,这也就是我之前所说的,eset是一个对行为操作极其敏感的杀软。所以在对抗行为检测类杀软的时候,cs尽量使用模块化插件的方式去获取cmd或者pw回显信息。

3.3 sentinelone edr查杀测试

这个sentinelone edrCrowdStrike是齐名的,在国外的大型公司很受欢迎。在这里使用cs4.9shellcode直接成功上线,但cs4.9在我执行了一些操作之后也是被查杀了。

但是二开的4.5cs4.7是直接落地无法运行,并在一段时间被杀软删除。

闲谈免杀三

在这里需要补充一下一个前置知识:

  • edr和正常的杀软的查杀模式不太一样,虽然整体上都是大差不差的。但是edr会使用userland hook或者对接etwti进行日志行为分析,由于现在市面上绕过userland hook的手法太多了,edr渐渐都会以内核层的etwti作为主流的日志行为进行分析,如果在r3层你想要对抗etwti,是非常的困难的,至少目前市面上很多开源的c2都只是尝试的bypass

回到查杀原因,我认为在流量层面和行为层面都是查杀的原因,但具体的原因我并未细究,因为用cs(差不多算是开源了。。。)去挑战顶级edr,本身就是不太现实的,分析这个比较浪费时间,所以这也就是为什么顶级红队使用自研c2的原因。

4. 简单的总结

以下仅属于个人观点:

  • cs目前已经不能在作为主流的c2了,建议放弃,可以选择使用其它的小众的c2或者使用最新的版本c2,也可以是带有源码的二开版本c2cs的特征非常明显,在各大厂商的特征库中更新极快。

  • edr和传统的杀软存在一定的差异,它们或许对于cs静态和动态不一定非常敏感,而是更多根据你的行为操作,作为跳板进行日志分析和回溯,进一步确定你的行为操作。所以堆栈欺骗的重要性就显得较为重要,其次对于bypass etwtir3层或许对于cs来说是一个无法绕过的问题了,最好的方法就是使用自研c2,但是自研的c2依旧需要进行一些必要的混淆欺骗的操作!

  • 本文不会去重点讲解sentinelone,鉴于大部分安全人员无法拿到该杀软的实体以及对windows系统的安全日志机制可能了解不太多,所以这里只是作为一个杀软的参照。

  • 自研c2对于大部分安全人员来说太困难了,这个我在以前就说过了,完成一套商用版的c2仅仅靠一个人是很难完成的。如果不想自己去自研的话,我建议还是使用havoc 来进行二开。

    项目地址:

    https://github.com/HavocFramework/Havoc/tree/main

    这是可以自己编译的源码,在这里推荐的主要原因是havocqt的界面比起sliver c2的更好。

文章来源:乌鸦安全

黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!

如侵权请私聊我们删文

END

原文始发于微信公众号(黑白之道):闲谈免杀三

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年4月9日13:49:57
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   闲谈免杀三http://cn-sec.com/archives/2640382.html

发表评论

匿名网友 填写信息