cobalt strike 源码环境搭建

前言:最近时间比较充裕,这里来学习下cobalt strike 4.3源码分析之二开环境搭建

我这里的环境是cs的4.3版本的jar

cs4.3反编译

参考文章:https://www.ics-cert.org.cn/portal/page/121/9b7fd0a6d6e74be687f11bcc3fa54a3e.html

新建两个文件夹分别为cs_bin和cs_src

然后运行如下命令

java -cp java-decompiler.jar org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true cs_bin/cobaltstrike.jar cs_src/

注意:-dgs=true后跟需要反编译的cobaltstrike和反编译之后要把cobaltstrike放入的目录

最终会在cs_src中生成一个jar包,该jar包中都是.java格式的源代码

最终搭建的结构如下图所示

客户端搭建

创建一个maven项目,然后创建一个对应的decompiled_src目录,将反编译的java源代码都放进去

创建lib目录,将相关需要的文件都放进去,其中需要的是cobaltstrike.auth,cobaltstrike.jar(这个jar是没有反编译的jar包),并且将该jar包导入到依赖库中

然后将decompiled_src目录中的aggressor.Aggressor类复制一份到src目录中,如下图所示

设置对应的VM option为 -XX:ParallelGCThreads=4 -XX:+AggressiveHeap -XX:+UseParallelGC -Xms512M -Xmx1024M

运行结果如下图所示

服务端搭建

再将decompiled_src目录中的server.TeamServer类复制一份到src目录中,如下图所示

设置对应的VM option为 -XX:ParallelGCThreads=4 -Dcobaltstrike.server_port=50050 -Djavax.net.ssl.keyStore=D:\ALL\javaidea\cs_disassemably\lib\google.store -Djavax.net.ssl.keyStorePassword=google -server -XX:+AggressiveHeap -XX:+UseParallelGC

注意:其中google.store是自己生成的ssl证书

运行结果如下图所示

cs4.3反编译修复

上面搭建完可能因为行号不对的原因导致无法进行调试,最后还是需要进行手动修复,这里就不记录了,原因是篇幅太长,我这里把我的maven库列出来,剩下的就比较简单了,自己大部分修复都是花在找库上,其他的大家自己手动修复下变量作用域的问题即可

<dependencies>
<!-- https://mvnrepository.com/artifact/org.mozilla/rhino -->
<dependency>
<groupId>org.mozilla</groupId>
<artifactId>rhino</artifactId>
<version>1.7.14</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.ant/ant -->
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>1.10.12</version>
</dependency>
<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.19.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.james/apache-mime4j-core -->
<dependency>
<groupId>org.apache.james</groupId>
<artifactId>apache-mime4j-core</artifactId>
<version>0.7.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.james/apache-mime4j-dom -->
<dependency>
<groupId>org.apache.james</groupId>
<artifactId>apache-mime4j-dom</artifactId>
<version>0.7.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.james/apache-mime4j-storage -->
<dependency>
<groupId>org.apache.james</groupId>
<artifactId>apache-mime4j-storage</artifactId>
<version>0.7.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.avalon.logkit/avalon-logkit -->
<dependency>
<groupId>org.apache.avalon.logkit</groupId>
<artifactId>avalon-logkit</artifactId>
<version>2.2.1</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.media/jai-core -->
<dependency>
<groupId>javax.media</groupId>
<artifactId>jai-core</artifactId>
<version>1.1.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk16 -->
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk16</artifactId>
<version>1.38</version>
</dependency>
<dependency>
<groupId>xml-resolver</groupId>
<artifactId>xml-resolver</artifactId>
<version>1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.xmlgraphics/fop -->
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>fop</artifactId>
<version>1.0</version>
</dependency>
</dependencies>

posted @   zpchcbd  阅读(1488)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
历史上的今天:
2019-11-06 权限维持之注册表
点击右上角即可分享
微信分享提示