IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> CobaltStrike二次开发环境准备以及免杀 -> 正文阅读

[Java知识库]CobaltStrike二次开发环境准备以及免杀


前言

原版的CobaltStrike已经被各大杀毒软件给标记了,就算变换profile,stage和beacon也存在着许多特征,所以只能想办法来隐藏和去除,二次编译CobaltStrike就是一个很好的办法。

一、环境

win7_x64
jdk-11.0.14
Idea.2022.1
CobaltStrike_4.4

二、过程

1.注册Idea

Idea嫌麻烦没有整破解,用临时邮箱注册个账号用30天

在这里插入图片描述

在这里插入图片描述

2.原版CobaltStrike

找个CobaltStrike_4.4原版,我这里的例子是从k8gege那里下的:

https://github.com/k8gege/Aggressor/releases/tag/cs

别的地方的话,记得对下hash

https://verify.cobaltstrike.com/

3.开始反编译

然后我们使用IntelliJ IDEA自带的反编译java的工具(用jd-gui会卡死,不懂为什么,Luyten反编译出来挺多报错的,所以还是自带的好)
这个工具位置在:

..\JetBrains\IntelliJ IDEA 2022.1\plugins\java-decompiler\lib

将工具拷贝到如下图:
在这里插入图片描述
cs_bin里面放的是原版cobaltstrike.jar
命令如下:

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

如果用的是jdk8,会报如下错,没深究过为什么会报错,有知道的朋友可以告诉我
在这里插入图片描述
反编译完成后cs_src是一个jra文件,解压后就是.java
在这里插入图片描述

4.新建项目

然后回到Idea新建个项目
在这里插入图片描述
随便取个名字
在这里插入图片描述
创建后在项目下新建立两个文件夹decompiled_src 和lib

在这里插入图片描述

5.配置项目

decompiled_src:
就将上面反编译出来的cs_src\cobaltstrike.jar 解压到mycobaltstrike\decompiled_src

lib:
cs_src\cobaltstrike.jar 拷贝到 \mycobaltstrike\lib

完成后
选择file->project Structure->Modules->Dependencies->Library-Java
在这里插入图片描述
选lib文件夹里刚拷贝过去的jar包
在这里插入图片描述
记得勾上
在这里插入图片描述
然后file->project Structure->Artifacts—>jar—>from modules with dependencies 去新建一个Main Class

在这里插入图片描述
在这里插入图片描述
Main Class 可以在 Lib->cobaltstrike.jar->META-INF->MENIFEST.MF中找到

在这里插入图片描述
复制aggressor.Aggressor然后填上去
在这里插入图片描述
然后在decompiled_src中找到已经反编译完的aggressor主类,右键选择Refactor ->Copy File
在这里插入图片描述在这里插入图片描述
To directory点击添加,选择之前创建的src在其中添加一个aggressor名字要一致,最后点击OK

这样aggressor就自动的被拷贝到src目录里去了,这里可以看一下

在这里插入图片描述
然后这里记得把Lib->cobaltstrike.jar->META-INF->MENIFEST.MF的内容全部拷贝覆盖src->->META-INF->MENIFEST.MF不然编译完成后运行会报错
在这里插入图片描述
然后在Aggressor.java添加行代码测试下

JOptionPane.showMessageDialog(null, "Hello world");

在这里插入图片描述
修改完成之后就可以选Build–>Build Artifacts–>Build进行编译
如果后面要改什么文件也是将其拷贝到src然后创建同名的文件夹就行
成功的话输出在Out文件夹里面
在这里插入图片描述
调试运行的时候添加一个jar配置,然后把刚刚的jar添加到路径中
在这里插入图片描述
参数少什么就填什么好了,下面只是一些

-XX:ParallelGCThreads=4 -XX:+AggressiveHeap -XX:+UseParallelGC

在这里插入图片描述
然后调试运行
在这里插入图片描述
在这里插入图片描述
提示我们没有.auth文件
可以参考这里做一个:

https://github.com/lovechoudoufu/cobaltstrike4.4_cdf

将生成的authkey.pub放入src/resources/,将生成的cobaltstrike.auth放到打包好的jar包同目录,修改common/AuthCrypto.load()函数中md5数为authkey.pub的值:
在这里插入图片描述
或者嫌弃麻烦的话直接用CSAgent:

https://github.com/Twi1ight/CSAgent

CSAgent.jar 拷贝到打包好的jar包同目录
调试参数换成下图
在这里插入图片描述
蓝色那里要换成绝对路径,不然调试时候会报错Error opening zip file or JAR manifest missing: CSAgent.jar

6.去除暗桩

当然你修改过源码后要去除暗桩才能用
去除暗桩也是参考这里

https://github.com/lovechoudoufu/cobaltstrike4.4_cdf

beacon/BeaconData中将shouldPad方法的值固定为false
在这里插入图片描述
4.4新暗桩
(之前以4.3为例进行License认证分析,换成4.4后发现运行退出,存在新的暗桩)
相比之前的this.shouldPadexit,又在common/Helper增加.class判断,注释即可:
在这里插入图片描述
common/Starter中增加.class判断,注释即可:
在这里插入图片描述
common/Starter2中增加.class判断,注释即可:
在这里插入图片描述

7.免杀

至于改免杀的地方这里已经很详细了我就不赘述了,就是尽可能的去除原版CobaltStrike的一些特征

CobaltStrike免杀

https://ucasers.cn/%E5%AF%B9cobaltstrike4.4%E7%9A%84%E7%AE%80%E5%8D%95%E9%AD%94%E6%94%B9/#title-1

https://www.bilibili.com/read/cv14238932

https://github.com/lovechoudoufu/cobaltstrike4.4_cdf

其他免杀

这些方法可以去除和隐藏一些stage和beacon的特征

https://bbs.pediy.com/thread-270969.htm

https://xz.aliyun.com/t/9399

https://github.com/NoOne-hub/bypass-BeaconEye
(x64使用有点问题,需要修改)

https://www.huntress.com/blog/hackers-no-hashing-randomizing-api-
hashes-to-evade-cobalt-strike-shellcode-detection

https://github.com/matthewB-huntress/APIHashReplace
(这个工具用在4.4有问题,需要修复,具体用原版的bin和修改后的bin用Speakeasy 输出对比一下的输出结果就知道问题了)

http://www.ctfiot.com/3969.html

profile file

可以参考下面的项目

https://github.com/threatexpress/malleable-c2
(这个比较全面,可以作为参考,不过要免杀还需要修改一些地方,具体看是什么杀毒软件)

https://github.com/xx0hcd/Malleable-C2-Profiles
(一些其他配置,不过感觉不太全面)

https://github.com/Tylous/SourcePoint
(这个是随机生成配置的,不过我觉得并不是很好用)

https://wbglil.gitbook.io/cobalt-strike/cobalt-strikekuo-zhan/malleable-c2
(详细的配置文件介绍,不明白可以看这个)

https://darkb1rd.github.io/2021/04/21/yuque/Cobalt%20Strike%20Profile%20%E5%AD%A6%E4%B9%A0%E8%AE%B0%E5%BD%95/

重写Stager和Beacon

即使做完了上面这些,也不能完全说免杀,最好的办法还是重写beacon和Stager,已经有大牛重写了,参考如下:

鸡哥的项目:
https://bbs.pediy.com/thread-269115.htm
https://github.com/mai1zhi2/SharpBeacon/tree/master

WBGlIl大神的项目
https://xz.aliyun.com/t/9929

LiHua大佬的
https://github.com/NoOne-hub/Beacon.dll

go项目
https://github.com/darkr4y/geacon/tree/4.0

参考

https://github.com/Twi1ight/CSAgent

https://lengjibo.github.io/CobaltStrikeCode/

https://xz.aliyun.com/t/8557#toc-3

https://www.ol4three.com/2021/11/09/%E5%86%85%E7%BD%91%E6%B8%97%E9%80%8F/CobaltStrike/CobaltStrike%E4%BA%8C%E5%BC%80%E7%8E%AF%E5%A2%83%E5%88%9D%E6%8E%A2/

https://www.red-team.tips/2021/08/30/cobalt-strike-crack/

总结

搞起来还是挺花时间的,希望能给大家提供一点点帮助

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-05-09 12:26:14  更:2022-05-09 12:31:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:32:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码