一次不成功的cs rce复现

lzstar-A2 / 2023-07-21 / 原文

一,前言

最近老大让我改一下cs功能方便获取流量,让人工智能学习。对此我加了三个功能,批量执行命令,批量上传文件,批量下载文件。
机会难得,我顺便研究了一下cs rce,但不知道是我复现有问题还是工具被改过还是怎么回事,一直报不允许远程加载jar的错误。
如果有大佬看出来了,请务必指点一二。
虽然是一次不成功的经历,但找出了阻止我弹计算器的点,修改代码后,成功远程命令执行(假如是工具被修改,那么可以作为投毒使用)

二,环境

cs4.0
jdk8
python 3.8.10

三,复现

1.反编译

网上下载cs后,将客户端的jar进行反编译(我使用的是idea自带的反编译工具java-decompiler)
java -cp "E:\java-decompiler\lib\java-decompiler.jar" org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true jar/cobaltstrike.jar decompiler_test

2.环境搭建

①,新建一个java项目,项目下新建两个Directory,lib和decompiled_src,分别存放原始cs客户端jar包和反编译的代码
②将jar包加入到项目中(记得点上钩)
选择file->project Structure->Modules->Dependencies->JARS or Directories...

image
③将cs启动类复制到src目录下

image
④指定启动类(指定为第三步复制到src目录的启动类)

image
成功指定后会生成以下文件

image
如此,cs客户端环境就搭建完成,方便后面调试
当你想修改或调试cs某个文件的时候,只需创建对应的目录,将其复制到目录下(比如某类package beacon.setup;则只需在src下创建beacon.setup包)
当想打包成jar的时候,只需build下选择以下操作
image
之后再out目录下会找到其jar包
image
指定启动客户端,会发现找不到cobaltstrike.auth,只需在resource目录下放入该文件即可

参考链接

天下大木头:http://wjlshare.com/archives/1529
忍者大佬:https://mp.weixin.qq.com/s/l5e2p_WtYSCYYhYE0lzRdQ