CobaltStrike特征修改
修改Stager防止被直接扫描:修改位置如下
cloudstrike/webserver.java |
修改isStager函数,只要不是92或者93就行。这里首先需要修改checksum8,将其返回值改为return sum
利用脚本来生成我们的返回值
public class test { |
key我们使用wings来生成md5,然后运行获取对应的值
将我们值放入替换92L为2131L
public static boolean isStager(String uri) { |
同时修改return为我们生成的key
common/CommonUtils.java |
public static String MSFURI(int var0) { |
X64同理进行修改
之后修改
beacon/BeaconPayload.java |
将异或值0x2e改为0x3e(默认显示为10进制,我们改为62即可)
根据之前的特征信息我们可知
cs 3.x版本的配置信息是通过异或0x69解密出的,4.x版本的配置信息是通过异或0x2e解密出的。
至此,可以发现,从3.x到4.x,cs自解密的算法没变,自解密后再解密配置文件的算法就只是改了个密钥,而且是固定的(3.x 0x69,4.x 0x2e)。
public static byte[] beacon_obfuscate(byte[] var0) { |
修改DLL文件
同时我们需要到生成时调用的DLL文件进行修改,否则会导致异或值不一样导致的无法上线,下载解密的问题
使用脚本对Sleeve进行解密,具体原理可以查看CobaltStrike的认证流程
https://github.com/ca3tie1/CrackSleeve |
将解密出来的文件拖到IDA,搜索0x2e关键字,打patch修改为0x3e
同时需要修改的有
beacon.dll |
将修改之后的dll放入并加密
将之前修改的Java,和我们的dll 重新导入jar文件
BeaconPayload.java |
进行测试上线,发现特征流量已经修改
参考链接
https://cloud.tencent.com/developer/article/1764340
https://lengjibo.github.io/CobaltStrikeCode/
FROM :ol4three.com | Author:ol4three
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论