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>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
2019-11-06 权限维持之注册表