H

CobaltStrike二次开发

HackApt-37 Team已验证会员

黑客倉庫站長

贡献: 83%

CS 二次开发​

工具:
创意自己的java-decompiler.jar

1 CS 反编译​

以Mac为例,Java-decompiler.jar地址该想法随附:
/applications/Intellij Idea.app/contents/plugins/java-decompiler/lib/java-decompiler.jar
因为ustest.mf没有主类属性,并且未指定主类,因此无法直接使用Java -jar。如果要在Java软件包中执行特定类,则必须使用Java -CP输入以下命令:
如何使用:
1
java -cp java -decompiler.jar org.jetbrains.java.decompiler.main.decompiler.consoledecompiler -dgs=true cs_bin/cobaltstrike.jar cs_src
20201221164315.png-water_print

分解后,它将自动打包到Jar包装中。右键单击解压缩后,您可以看到这就是.java。使用此方法将非常方便,也不需要第三方工具。可以直接将该分解为Intellij Idea,该想法可以直接实现代码搜索和相关的交叉引用。
20201221164914.png-water_print

2 CS 二次开发准备工作​

2.1 创建工程​

打开Intellij Ideas选择“创建新项目”始终选择。
20201221165123.png-water_print

创建一个项目目录:
20201221165131.png-water_print

创建它后,您需要先创建两个文件夹,右键单击并选择新目录以创建一个empspiled_src文件夹,然后创建一个LIB文件夹。

2.2 配置依赖关系​

复制刚被倒入empompiled_src的钴ststrike,然后将其解压缩以查看完整的分配目录。
20201221165416.png-water_print

然后将原始的未编译的Cobaltstrike放入新创建的Lib中。
接下来,您需要设置此项目,单击文件中的项目结构以在模块中设置依赖关系。
20201221165747.png-water_print

20201221172053.png-water_print

单击添加jar或目录,在./lib下添加原始JAR包,然后检查导出:
20201221172115.png-water_print

2.3 寻找 Main Class​

单击./lib/meta_inf/manifest.mf复制Main-Class:
20201221172643.png-water_print

将subest.mf的内容从项目中的原始软件包中复制到subtest.mf

2.4 配置 Artifacts​

20201221172836.png-water_print

20201221172843.png-water_print

接下来,在empompiled_src目录中找到分解的侵略者主类,右键单击并选择重构3——copy文件到SRC下的同一目录:
20201221173302.png-water_print

20201221173311.png-water_print

2.5 修改后编译​

点击构建- 构建工件- 构建

3 IDEA 其它 Tips​

3.1 比对 JAR 包​

比较垃圾箱文件时自动反编译
命令行形式:
1
2
3
4
5
Windows:
/path/path/idea/bin/idea64.exe diff absolute/path/to/file1 absolute/path/to/file2
MAC:
/applications/Intellij indue.app/contents/macos/idea absolute/path/to/file1 absolute/path/to/file2
20201222093453.png-water_print

在想法:
选择要比较的两个文件,命令+ d进行比较
 
后退
顶部