朋友们现在只对常读和星标的公众号才展示大图推送,建议大家把SecretTeam安全团队“设为星标”,否则可能就看不到了啦!
免责声明
"本文档所提供的信息旨在帮助网络安全专业人员更好地理解并维护他们负责的网站和服务器等系统。我们鼓励在获得适当授权的情况下使用这些信息。请注意,任何未经授权的使用或由此产生的直接或间接后果和损失,均由使用者自行承担。我们提供的资源和工具仅供学习和研究之用,我们不鼓励也不支持任何非法活动。"
"我们创建这个社区是为了促进技术交流和知识分享。我们希望每位成员都能在遵守法律法规的前提下参与讨论和学习。如果使用本文档中的信息导致任何直接或间接的后果和损失,我们提醒您,这将由您个人承担。我们不承担由此产生的任何责任。如果有任何内容侵犯了您的权益,请随时告知我们,我们将立即采取行动并表示诚挚的歉意。我们感谢您的理解和支持。"
1. CS 反编译
以 MAC 为例,IDEA 自带的 java-decompiler.jar 地址为:
/Applications/IntelliJ IDEA.app/Contents/plugins/java-decompiler/lib/java-decompiler.jar
因为MANIFEST.MF
中没有main class
属性,没有指定主类,因此不能直接使用java -jar
,如果想要执行java
包中具体的类,要使用java -cp
输入如下命令:
使用方法:
java -cp java-decompiler.jar org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true cs_bin/cobaltstrike.jar cs_src
反编译后,会自动打包成jar
包,右键解压后打开可以看到都是.java
了,使用这个方法会非常方便,就不需要第三方工具,这个反编译出来的就可以直接放入IntelliJ IDEA
中,可直接实现代码搜索,相关的交叉引用。
2. CS 二次开发准备工作
2.1 创建工程
打开IntelliJ IDEA
选择Create New Project
一直选择 Next。
创建工程目录:
创建好后需要先建立两个文件夹,右击选择New Directory
建立一个decompiled_src
文件夹,之后再建立一个lib
文件夹。
2.2 配置依赖关系
把刚刚反编译好的CobaltStrike
复制到decompiled_src
中,然后把它解压出来,可看到一个完整的反编译后的目录。
随后把原始的未编译的CobaltStrike
放到刚刚新建的 lib 中去。
接下来需要对这个项目进行设置,点击File
中的Project Structure
在Modules
对Dependencies
进行设置。
点击添加Jar or Directories
,添加./lib
下的原始JAR
包,并勾选Export
:
2.3 寻找 Main Class
点击1./lib/META_INF/MANIFEST.MF
,复制Main-Class
:
将原始包中MANIFEST.MF
的内容复制到项目中的MANIFEST.MF
2.4 配置 Artifacts
接下来在decompiled_src
目录中找到已经反编译完的aggressor
主类,右击选择Refactor ——Copy File
到src
下的相同目录:
2.5 修改后编译
点击Build
->Build Artifacts
->build
IDEA 其它 Tips
3.1 比对 JAR 包
在进行 bin 文件对比时,自动进行反编译
命令行形式:
windows:/path/to/idea/bin/idea64.exe diff absolute/path/to/file1 absolute/path/to/file2mac:/Applications/IntelliJ IDEA.app/Contents/MacOS/idea absolute/path/to/file1 absolute/path/to/file2
在 IDEA 中:
选中要比对的两个文件,Command + D 进行比对
原文始发于微信公众号(SecretTeam安全团队):CobaltStrike二次开发 - 1
原文始发于微信公众号(SecretTeam安全团队):CobaltStrike二次开发 - 1
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论