目录

通过替换 cobaltstrike 中自带 loader 进行免杀

通过替换 cobaltstrikes 中自带 loader 进行免杀

原因

对 cobaltstrike 生成的 artifact 免杀的方式,我们常用的办法是生成 shellcode,然后再自己实现一个 loader 来加载 shellcode。之前在读cobaltstrike 生成 artifact 的代码的时候觉得方式很有意思,作者先写了个loader,然后通过将生成的 shellcode patch 进 loader 的方式来生成 artifact。

杀软静态查杀这种病毒,首先是找 shellcode 的特征点和 artifact 模板的特征点。所以我们如果自己编写一个 loader 来替换 cobaltstrike 自带的 loader,达到一个免杀效果。

文章的重点不是过杀软,只是概念验证,用到的技术也仅仅是自己实现 loader 然后简单的将 shellcode 进行 xor 来绕过 360 对 shellcode 的特征查杀。

工具介绍

web 狗总是对二进制充满了好奇,artifact 生成的方式是读 cobaltstrike 的时候学来的,本软件只是做概念验证。抄了很多 cs 的源码,主要是觉得 patch 的形式很有意思,源码在写第二篇文章的时候会一起传到 github 上,jar 包没有混淆也可以自己反编译,自己先动手尝试一下,参考源码自己编写 loader,替换resource/artifact.exe 让 cobaltstrike 生成出的 artifact.exe 默认就是免杀的。

https://geekby.oss-cn-beijing.aliyuncs.com/MarkDown/20200402102043.png-water_print

选择script console 然后输入:

1
x transform(shellcode("你的Listener名称","x86",false),"array")

https://geekby.oss-cn-beijing.aliyuncs.com/MarkDown/20200402102100.png-water_print

打开chaos: https://geekby.oss-cn-beijing.aliyuncs.com/MarkDown/20200402102111.png-water_print

复制进文本框 然后点击generate: 选择一个文件夹保存 点击上线: https://geekby.oss-cn-beijing.aliyuncs.com/MarkDown/20200402102124.png-water_print

https://geekby.oss-cn-beijing.aliyuncs.com/MarkDown/20200402102138.png-water_print