2026/5/21 3:15:07
网站建设
项目流程
单产品网站模板,列表网推广效果怎么样,做网站不想用微软雅黑了,站牛网是做什么的免杀对抗——第一百六十三天
安全工具篇魔改二开CS消除流量特征Profile请求个性主题反编译去暗桩
前置知识
今天是关于CS免杀的部分#xff0c;之前都是针对生成的木马进行免杀#xff0c;但是在反连的过程中#xff0c;我们的流量也是有特征的…免杀对抗——第一百六十三天安全工具篇魔改二开CS消除流量特征Profile请求个性主题反编译去暗桩前置知识今天是关于CS免杀的部分之前都是针对生成的木马进行免杀但是在反连的过程中我们的流量也是有特征的所以可能木马是免杀了但是连接之后流量被识别出来了也会导致这个已经免杀的木马被杀掉所以我们需要针对这款工具也做一下免杀然后针对CS的魔改和之前哥斯拉、冰蝎的差不多因为他们都是基于JAVA开发的所以反编译然后读懂代码改就好了我们用到的CS版本还是4.5当然有能力的可以用新的最新的好像是4.9的版本已经被破解了不过高版本有很多暗桩比较难搞而且网上对更高版本的魔改教程很少所以我们还是用4.5版本做一些简单的演示CS4.7魔改破解Cobalt Strike剖析及免杀系列五cs4.7源码jar包破解篇 - 吾爱破解 - 52pojie.cn安全工具 - 配置修改-CS流量特征首先我们先看看可以修改的地方也就是根据我们目前的能力修改源码可以消除的特征点有默认端口、http请求特征、https证书特征、防溯源等等开在公网的teamserver不要使用默认端口修改teamserver里面的启动端口cobastrike.store不要使用默认文件可以通过如下命令查看默认证书文件特征keytool -list -v -keystore xxx.store当然这里可以直接使用Java自带的keytool工具进行证书的颁发命令为keytool -keystore xxx.store --storepass password -keypass password -genkey -keyalg 加密方式 -alias 别名 -dname证书颁发机构信息然后将teamserver中的cobalstrike.store改为刚才生成的sohu.store并且将启动命令中的keyStore和keyStorePassword修改即可profile文件要换新的启动服务端时记得加载或直接把jar包里面默认配置改了验证./c2lint xxx.profile使用./teamserverIPpasswordjquery-c2.4.5.profileprofile资源https://github.com/threatexpress/malleable-c2https://github.com/zer0yu/AweSome-CobaltStrike?tabreadme-ov-file#0x02-c2-profiles二开魔改资源zer0yu/Awesome-CobaltStrike: List of Awesome CobaltStrike Resources那这个profile有什么用呢我们先看看默认的文件上线它的流量包特征原生木马上线之后通过HTTP/HTTPS进行通信然后这里的流量包如图中所示基本分为GET /JwLP HTTP/1.1 ↓ GET /g.pixel HTTP/1.1 ↓ POST /submit.php?idxxxx HTTP/1.1这里第一个数据包中的/JwLP是随机生成的但是也有一定的规律我们可以通过checksum8算法发现目标主机为x64时结果为93为x86时结果为92计算规则ASCII码之和%256[74(J)119(w)76(L)80(P)]%25693第二三个数据包是固定不变的因此这些请求路径、UA头等就是CS的流量特征只要被检测到这个的话基本可以确定是CS现在我们去刚才的网站上下载jquery-c2.4.5这个profile文件通过上述命令加载之后再看流量包就能够发现它的数据包已经发生改变了请求路径变成了正常的请求xxx.js虽然仍然存在/g.pixel但相比于之前已经明显降低了特征点因为这个项目也已经是三年前的了所以可能用这个也会被监测到所以我们也需要对这个profile文件进行简单的修改这个就直接打开源码文件修改即可4.其他修改 反向代理 - 符合才上线 SSL隧道 - 隐匿CS服务器 参考文章CS部署修改安全工具 - 魔改二开-CS个性化打造参考文章Cobalt Strike系列从0开始破解上面的东西都属于是在外部进行小修小改真正的要做到免杀还是需要对源码进行修改所以我们先搭建好修改的环境这里我们就用Java自带的反编译工具反编译源码java -cpIDEA_HOME/plugins/java-decopiler/lib/java-decompiler.jarorg.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgstruesrc.jardest dir然后在IDEA中创建一个新项目在这个文件夹下创建lib目录将原版的CS jar包放进去再将反编译之后的jar包解压缩放到根目录下接着我们在IDEA中创建模块然后创建工件即可在魔改的时候只将需要修改的代码文件放到src目录下改动最后重新构建即可比如我们这里将Aggressor.java文件拿出来改动这个是它的启动文件我们在这里加一个启动弹窗JOptionPane.showMessageDialog((Component)null,(String)欢迎来到uli0n Sec!,(String)提示,JOptionPane.INFORMATION_MESSAGE);它确实能够成功提示但是之后就报出如下错误这个是因为在/common/Requirements.java文件中存在限制我们需要在启动时带上-XX:AggressiveHeap检查是否开启了激进堆内存优化-XX:UseParallelGC检查是否使用了并行垃圾回收器这两个参数-XX:ParallelGCThreads4-XX:AggressiveHeap -XX:UseParallelGC当然更为简单直接的方法就是让这里的函数直接全部返回null但是为了后面不会出错就没这样弄然后再次打包运行jar包又会产生新的报错这里是因为校验不通过的问题那么要解决这个就是我们去除暗桩的过程首先改动/beacon/BeaconData.java文件下第53行然后改动beacon/CommandBuilder.java文件第250行将下面所有if语句全部注释掉247~297保证var1true再然后是改动common/Authorization.java文件注释掉cobaltstrike.auth文件校验14~33这里注意最后得删除一个}号给var4赋值如下密钥byte[]var4{1,-55,-61,127,0,1,-122,-96,45,16,27,-27,-66,82,-58,37,92,51,85,-114,-118,28,-74,103,-53,6,16,-128,-29,42,116,32,96,-72,-124,65,-101,-96,-63,113,-55,-86,118,16,-78,13,72,122,-35,-44,113,52,24,-14,-43,-93,-82,2,-89,-96,16,58,68,37,73,15,56,-102,-18,-61,18,-67,-41,88,-83,43,-103,16,94,-104,25,74,1,-58,-76,-113,-91,-126,-90,-87,-4,-69,-110,-42,16,-13,-114,-77,-47,-93,53,-78,82,-75,-117,-62,-84,-34,-127,-75,66,0,0,0,24,66,101,117,100,116,75,103,113,110,108,109,48,82,117,118,102,43,86,89,120,117,119,61,61};接着修改common/Helper.java文件注释掉class文件的调用30~50保证var2true修改common/Starter.java文件同样注释掉class文件的调用25~157保证var2true最后修改common/Starter2.java文件注释掉class文件调用45~72确保var2true到这里我们去暗桩的部分就结束了然后重新打包运行这里就能够正常启动了接下来的一些个性化修改装逼功能这里我就不演示了对应文件如下标题修改cobaltstrike/aggressor/AggressorClient.java界面修改cobaltstrike/aggressor/dialogs/ConnectDialog.java客户端和图标修改介绍部分位置cobaltstrike/resources/about.html许可部分位置cobaltstrike/resources/credits.txt图标位置cobaltstrike/resources/armitage-icon.gif(32x32px)和cobaltstrike/resources/armitage-logo.gif(256x256px)主题风格位置cobaltstrike/aggressor/Aggressor.javaProfile替换cobaltstrike/resources/default.profile然后这里的主题风格下载地址https://mvnrepository.com/artifact/com.formdev/flatlaf/3.2下载jar包然后放到lib里面通过依赖模块引入工件加入jar然后在Aggressor.java文件里面加入FlatIntelliJLaf.setup()即可启动CS可以看到相比于原版更加美观了接着就是这里修改profile文件这里默认的流量包为什么会请求/submit.php这种文件呢就是因为这里当然这里的话我们直接是可以通过启动命令去加载不同的profile文件的所以改不改也无所谓./teamserverIPpasswordmyprofile.profile其他的就是它这里的资源文件里面会有一些自带的木马模板比如powershell的那这里我们可以替换成之前的免杀马然后它生成出来就是已经免杀的马子了当然如果有能力还可以找找它的一个调用逻辑尝试接入随机选择模板、混淆、调用三方工具免杀等等功能这里我们就不多赘述了安全工具 - 魔改二开-CS免杀流量对抗这里主要是改动如下方面内容去除checksum8特征去除listemerConfig特征修改配置加解密xorkey去除beaconeye特征bypass功能对抗生成新增放置CS反制功能新增上线提示等功能…当然这里的话就是我们之后的内容了会更难更复杂一点