Cobalt strike作为一款渗透测试工具,因其的钓鱼攻击体系的完备性,以及可简单的编写Aggressor-Script(Cobalt strike3)增强或增加其功能,所以在APT以及渗透中有很高的可用性。以下均称之为CS

之前就已经有人分享过Cobalt Strike 3.8破解版
但是经过笔者的一段时间使用后,发现试用版还存在许多的问题。
已知问题:

  1. 由于网上绝大多数的CS3.8都是直接修改了试用日期,所以导致很多试用的"后门"都仍然存在。如图就是添加进去的指纹,因此CS通信会被很多IDS拦截请求。
  2. 同类通道只能开一个端口

所以我们先直接将CS改成正式版本的,就可以简单快捷的解决很多未知问题了。
我是windows平台,所以选择JD-GUI来反编译CS,CS并没有混淆,众所周知...java和python类似,都是先编译成字节码然后执行的,这也是它们可以跨平台的原因,但是缺点也十分明显,字节码文件是很容易逆向成源码的。
CS结构:

问题一既然是判断是否为正式版,我们根据方法名 "License.isTrial",搜索到方法所在common.License.isTrial()
返回值为布尔类型,所以我们只需要将其返回值修改为True,即可摇身一变,变为正式版本了。

修改方案有两种,一个是使用javassist直接修改字节码,还有一个方法就是利用JAD反编译为JAVA文件,然后javac重新编译为class文件。
我这里使用第二种方案。
首先将cobaltstrike.jar以压缩包格式打开,复制License.class出来,然后运行"jad.exe E:\cobaltstrike3\cobaltstrike\License.class"
随即,"E:\cobaltstrike3\cobaltstrike\"目录下就会生成License.jad,修改后缀为java,即是源码文件了。

修改返回值为TRUE。
保存,运行"javac -classpath cobaltstrike.jar License.java"
然后同目录会覆盖生成License.class,直接复制License.class,替换cobaltstrike.jar中的License.class即可成功修改。
直接将isTrial函数patch会有一个弊端,那就是试用版本缺少一个XOR.BIN文件,没有办法对payload编码。所以,得去把编码步骤略过。函数名为"encode"自行搜索,按照以上步骤修改即可。

同理,修补同通道监听多个端口的功能也类似以上步骤,在此不累述了。直接搜索字符串修改代码即可。

单CS.jar:
需要替换服务端和客户端的JAR文件
链接: https://pan.baidu.com/s/1WT-UDr_O-1nUiT-Ch9PSMg 密码: x26t

成品一套:
链接:https://pan.baidu.com/s/1dQoVbK 密码:jh1x

解压密码:Va1n3R!@#

Blog: http://www.lz1y.cn

点击收藏 | 2 关注 | 2
登录 后跟帖