当前位置: 首页 > 技术干货 > 红蓝对抗经验分享:CS免杀姿势

红蓝对抗经验分享:CS免杀姿势

发表于:2022-08-02 14:05 作者: Ggoodstudy 阅读数(2334人)

前言

红队在HVV中一般使用钓鱼实现突破边界,蓝队通过钓鱼实现溯源反制,但是都离不开一个好的免杀马,这里分享一下自己的免杀过程,过火绒、360杀毒、windows defender以及赛门铁克等主流杀软都没问题。

杀软工作原理

杀软的查杀方式有多种,比如特征识别,是基于各个厂商收集的病毒样本,依据病毒样本提取的病毒特征,所以杀软的能力在一定程度上也取决于病毒库的大小,这种基于特征识别一般是基于静态。启发式的工作原理基本上可以定义为动态查杀或者是机器学习方法的一种查杀手段,会依据可能执行程序或者关注应用系统重要区域行为而做出的查杀行为。

免杀手段

  • 修改特征码,可以根据污点检测的方式定位到触发杀软规则的病毒样本特征,修改明显的特征在一定程度上是可以实现免杀的。

  • 花指令免杀,在程序 shellcode 或特征代码区域增添垃圾指令,增加的垃圾指令不会影响文件执行,在动态查杀或者文件hash对比是校验会不一致。

  • 加壳,比如upx加壳等,一般文件落地后对比哈希值也可绕过杀软。

  • 二次编译,一般用于对shellcode进行二次编译bypass杀软。

  • poweshell免杀,但是一般防护软件或者系统本身正常调用powershell应用程序的时候都会产生告警,一般的安全设备是过不了的,需要在命令上使用手段绕过安全设备监测。

免杀

CS生成payload

添加监听器,生成payload

image-20220725164216877.png

下载go-strip.exe,混淆二进制go编译信息

下载地址

https://cdn.githubjs.cf/boy-hack/go-strip/releases/download/v3.0/go-strip_0.3.4_windows_amd64.zip

image-20220722172118310.png

运行脚本bypass

go run main.go

image-20220729094126135.png

核心内容就是加密方式

image-20220727160320295.png

shellcode二层加密。

这里没有直接放源码,因为担心样本被打标签,这里推荐几个项目,这里的话尽量使用go不建议python

https://github.com/TideSec/BypassAntiVirus

https://github.com/admin360bug/bypass

https://github.com/hack2fun/BypassAV/blob/master/bypass.cna

这里我修改了生成的exe。安装火绒,查杀

image-20220727115914107.png

image-20220727115938733.png

CS上线

image-20220727115808577.png

加壳

另外再加壳测试。地址

https://upx.en.softonic.com/

简单的压缩壳

image-20220727151209573.png

upx.exe -f Go_bypass.exe

image-20220727152839033.png

加壳后生辰的exe文件大小为406KB

image-20220727152537410.png

可以看到加壳之前的文件大小为1011kb

image-20220727152715871.png

修改加壳后的文件名为upx_Go_bypass方便确认上线状态

image-20220727153157216.png

成功上线,继续查看加壳后的免杀效果

image-20220727153849744.png

此时火绒对于有加壳前和加壳后的文件都未报毒

image-20220727153716346.png

虽然加壳前的报毒了,但是加壳后的未报毒。

image-20220727154425252.png

赛门铁克也未报毒,其它杀软不放图了。但是需要注意的是别使用云沙箱检测。

总结

多测试总会有新发现,实践起来相对稍微容易一点儿,不过需要注意免杀之后的效果是最重要的。