Cobalt Strike已死?如何真正意义上的入门免杀

admin 2024年3月8日19:06:37评论37 views字数 2056阅读6分51秒阅读模式
本文作者:zedxx10,本文为zedxx10大佬投稿文章,感谢师傅的文章!

1. 前言

本文章以原生的cs为基础进行免杀来进行简单的闲谈和讲解,内容版本从 cs4.5-cs4.9.1

cs 已死,这个概念其实在我在入坑二进制方向的时候,就已经在某论坛听大佬说过了,但是到现在为止,依然还有很多初级渗透或者中级渗透在使用它,个人总结了一下:

对抗windows defender360、火绒还是较为轻松

对抗 bitdefender、麦卡菲、诺顿、eset 略显费劲

对抗卡巴(内存对抗)艰难

对抗xdr(火眼、猎鹰、哨兵一号)异想天开

2. 异想天开— xdr(火眼 猎鹰 哨兵一号)

针对于xdr,尤其是国外的那3topxdr,使用cs无疑是在自投罗网。对于上述中的绝大多数杀软来说,不论是静态流量还是行为特征,早就是被分析的体无完肤了。

xdr则是比以上杀软更为强悍的存在(但在这里我个人的观点是:xdr的动态检测和静态检测没有想的那么严格,下图为cs在哨兵1号上的上线截图以及后续操作)

Cobalt Strike已死?如何真正意义上的入门免杀

Cobalt Strike已死?如何真正意义上的入门免杀

其次rdx往往是配合很多安全设备进行联动,例如防火墙或是一些其它的安全设备(摇撼数据+云分析),我在我的虚拟机沙箱里面可以上线,可能是因为在这个里面没有太多的规则和联动,所以这种上线方法在实战中参考的意义并不大。

3. 艰难—抗卡巴(内存对抗)

bypass卡巴是老生常谈的问题了,目前为止原生的cs在卡巴edr版本下存活的几率非常低,卡巴的内存扫描能够进行准捕获cs的特征。即便是sleepmask过程中依然能够被查杀,只不过是时间的问题(高版本大概20分钟,低版本大概5分钟)。

目前来讲,卡巴不会再把查杀重点放在静态,甚至放任某些行为操作,也就是说cs上线相对较为容易,但是上线之后的内存规避查杀很困难,对于这种情况,我建议换c2,也可以二开havoc,或者完全二开cs使用。

注意:这里的二开不是简单反编译修改,而是完全抹除特征以及修改sleepmask算法等。

4. 略显费劲— bitdefender、麦卡菲、诺顿、eset

为什么cs上线过bit和诺顿甚至麦卡菲会感觉比较费劲,这在于它们的侧重查杀点和卡巴不一样,论动态检测能力来说,bit应该是远高于其它类型的杀软,毕竟它是目前为数不多的在r3层有hook的杀软,行为检测很严格。

而诺顿和赛门铁克,尤其是赛门铁克,其静态查杀技术是我认为目前市面上做的最好的,包括一些加壳混淆一样查杀(llvm),而对网络行为监测来说,eset要比其它的几个杀软更为敏感,虽然卡巴的内存查杀要比它好,但是在静态检测和行为检测上却比卡巴好很多。

你甚至可以夸张一点的说,卡巴在静态查杀上是放弃的状态。对于eset这种的杀软来说,如果bypass的话,一般我常使用白加黑进行加载,再配合一些dll注入技术,其中也包括unhook

说到unhook,卡巴在r3层是没有unhook检测的,但是我个人认为如果需要同时bypass多个杀软的话,unhook还是要有的。

第二点就是,我在木马上线之后,是绝对不会依赖于shell命令来创建cmd的,这样的操作对于杀软来说是非常敏感的,可以采用模块化插件的方法,比如cna加载的形式进行操作。

5. 较为轻松—windows defender、360、火绒

如果你能过应对略显费劲的杀软,对比这三个杀软就会显得游刃有余了,我对360查杀没有进行过太多的分析,只是看过几篇qvm的分析,以及我写的loader在真实环境下能够比较轻松的bypass这三个杀软,所以在这里我就不再进行赘述了,上线的方法可以选择分离或者是白加黑(建议不要是单exe)。

6. 总结

以上是我在真实环境中使用cs的后各大杀软的查杀效果,可以看出来cs并没有到完全不能使用的余地。但是在对抗某些杀软的时候,效果可能不尽人意。尤其是大部分的渗透师傅对bypass卡巴都很执着(这里提供一个思路:堆栈混淆)。

讲到这里,我们说对抗杀软,而对抗杀软的前提必定是学习代码,我个人是使用c作为开发语言,优点就是体积小、好控制,更贴近底层。当你完成代码的时候,甚至你可以想象出代码的汇编。

个人经验来说,免杀绝对不是一个很容易就实现的事情。首先你需要进行大量的分析,这需要代码的功底和逆向的功底,对系统底层有很清晰的了解,对杀软查杀流程进行分析。

以上几点都只是一些总结,当你再回到我讲免杀效果的时候,你就会想到什么是白加黑?什么是堆栈混淆?什么是unhook?什么是dll注入技术?

免杀技术一个需要花费很多时间和学习成本的东西,当然我不认为成本一定是花钱,很多免费的入门课程是完全可以在b站上搜到的。

所以什么真正意义上的入门免杀?

第一不错的代码编写能力

第二对主流的技术的掌握

第三能够独立完成对他人代码优化修改,而不是借助gptgpt作为逆向辅助是好东西,但是写代码建议还是少用。

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

原文始发于微信公众号(乌鸦安全):Cobalt Strike已死?如何真正意义上的入门免杀

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年3月8日19:06:37
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Cobalt Strike已死?如何真正意义上的入门免杀http://cn-sec.com/archives/2560735.html

发表评论

匿名网友 填写信息