CS4.2 Fix版后门分析及修改编译-细节教材

  • A+
所属分类:逆向工程
△△△点击上方“蓝字”关注我们了解更多精彩




0x00 前言

    Cobalt Strike 一款主要针对内网的渗透测试和作为apt的控制终端的,用于团队协同作战的GUI渗透测试框架,集成了端口转发、服务扫描,自动化溢出,多模式端口监听,木马生成等。


    最近在研究内网相关技术,不可避免的需要使用CSMSF。为了打工人的世界和平,防止资本主义的守猪待兔。手上正好有一份CS4.2 fix版的本菜,决定简单分析一下这个CS4.2 fix版是否正经。


    觉得每次分析都很麻烦,因此本次本菜决定带大家一起来进行简单的分析和修改,等屏幕前的你做出更多的分析和优化,然后,投稿给NOVASEC。


    因此教程图片会稍微多一些,仅需要CS4.2 fix版本的朋友可以直接跳到最下面。



0x01 原包对比
1、预备,找某不愿透漏姓名的大佬要了一份CS4.2-真原包,故事曲折,屁股不疼。
2、然后,在穷人玩的软件站上找了一个文件对比工具BCompare。
3、最后分别解压两个CS4.2的jar包,使用BCompare进行对比。
PS:由于CS4.2patch版本的时间戳基本上都是新的,所以需要时间戳对比

CS4.2 Fix版后门分析及修改编译-细节教材

规则-取消时间戳

CS4.2 Fix版后门分析及修改编译-细节教材

仅显示出有差别的文件


最终获取到的差异文件如下3个:
cobalt strike 4.2 fixcommonAuthCrypto.classcobalt strike 4.2 fixbeaconBeaconC2.classcobalt strike 4.2 fixresourcesauthkey.pub




0x02 反编译jar文件获取源码
首先需要这个工具:Java Decompiler v1.4.0.jar

CS4.2 Fix版后门分析及修改编译-细节教材

file-选择打开jar文件

CS4.2 Fix版后门分析及修改编译-细节教材

Sava ALl Source-保存源码

CS4.2 Fix版后门分析及修改编译-细节教材

对比原包和Fix包反编译后的三个差异文件



0x03 差异文件对比细节

resourcesauthkey.pubauthkey.pub是破解密钥文件,十六进制看了一下,啥也不懂。

CS4.2 Fix版后门分析及修改编译-细节教材

冷静分析,分析失败。


commonAuthCrypto.class其中将(!"8bb4df00c120881a1945a43e2bb2379e".equals(CommonUtils.toHex(arrayOfByte2)))改为了("8bb4df00c120881a1945a43e2bb2379e".equals(CommonUtils.toHex(arrayOfByte2)))这是一个简单的逻辑判断修改,没有问题。

CS4.2 Fix版后门分析及修改编译-细节教材

冷静分析,一切正常
beaconBeaconC2.class其中仅修改了几个判断结果的返回值,也很正常。

CS4.2 Fix版后门分析及修改编译-细节教材

冷静分析,一切正常。



分析结果:CS4.2 Fix版本一切正常。


-----相信世界是有光的。



0x04 继续修改-WaterMark水印去除

    watermark即为水印,此参数中在Authorization文件会进行赋值,在ListenerConfig按参数在代码中添加特征字符串。

    由于和原包的差异文件没有这个文件,说明Fix作者没有进行修改它。

Authorization.class 判断是否认证,没认证就加水印位于 cobaltstrike.jarcommonAuthorization.class
ListenerConfig.class 基于水印参数添加特征码字符串位于 cobaltstrike.jarcommonListenerConfig.class
水印代码位于ListenerConfig文件,包含水印串代码的文件会被AV查杀。localStringBuffer.append("5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*000");


CS4.2 Fix版后门分析及修改编译-细节教材

Authorization.class

CS4.2 Fix版后门分析及修改编译-细节教材

ListenerConfig.class


尝试直接反编译ListenerConfig.class并修改ListenerConfig.java文件。

修改思路为注释掉添加水印语句,改为不管何种判断都添加一个空字符串。

CS4.2 Fix版后门分析及修改编译-细节教材

修改语句

CS4.2 Fix版后门分析及修改编译-细节教材

修改前后对比

修改完以后编译为class文件,然后替换到fixjar包内的同位置文件javac -cp cobaltstrike.jar ListenerConfig.java


CS4.2 Fix版后门分析及修改编译-细节教材

编译修改后的文件


使用方法:替换jar包内的相同文件


PS:这一点是从前辈们的CS4.1分析文章看到,我也不确定fix版本是否会带有串,改就对了。




0x05 总结
    NovaSEC公众号后台回复[共享]获取CS4.2-Fix版本的分析地址。  

搞了好几天,终于把电脑搞好了,你们英俊帅气的兼职运营摸鱼小哥哥又回来了,接下来慢慢恢复更新,感谢各位的不离不弃。

PS:这文章其实已经水了一年了,主要是摸鱼真的修电脑去了。所以一直没有发出来。


参考文献:

CS4.1真的有后门吗?- 酒仙桥六号部队https://mp.weixin.qq.com/s/0rNDegooBngsQvrDAtGzfg

END



如您有任何投稿、问题、建议、需求、合作、请后台留言NOVASEC公众号!


或添加NOVASEC-MOYU 以便于及时回复。

CS4.2 Fix版后门分析及修改编译-细节教材


感谢大哥们的对NOVASEC的支持点赞和关注

加入我们与萌新一起成长吧!


本团队任何技术及文件仅用于学习分享,请勿用于任何违法活动,感谢大家的支持!!



本文始发于微信公众号(NOVASEC):CS4.2 Fix版后门分析及修改编译-细节教材

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: