【CobaltStrike】OneCS 4.9 尊享版(自破解+二开+BUG修复)

文摘   2024-07-21 20:17   广东  

免责声明

锦鲤安全的技术文章仅供参考,此文所提供的信息仅供网络安全人员学习和参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。如有侵权烦请告知,我们会立即删除并致歉。本文所提供的工具仅用于学习,禁止用于其他,请在24小时内删除工具文件!谢谢!

前言

OneCS 4.9 尊享版在原版 Cobalt Strike 4.9 的基础上进行破解、二开和修复 BUG。


OneCS 4.9 移除了原版所有暗桩,增加大量体验优化:

  1. 进程浏览染色和进程识别

  2. 文件浏览染色

  3. 下载页面染色和优化

  4. IP 归属地显示

  5. 目标页面 note 增加多行显示

修复 BUG:

  1. 修复截图保存至本地为空

  2. 修复 cna 脚本 drow_listener 函数调用为空

  3. 修复网络断开重新加载时显示用户已连接的问题

一、破解与编译

从网上泄露的原版 Cobalt Strike 4.9 进行破解。


客户端 cobaltstrike-client.jar 破解使用网上公开密钥解密了 jar 内所有加密的资源文件,移除了源码中所有暗桩,服务端TeamServerImage 破解参考了 Pwn3rzs 的方式破解。


third-party 目录下的 dll 为使用源码重新编译过的版本,可自行替换。

二、体验优化

通过修改 java 源码使得可以通过 cna 脚本对表格内容进行染色。

1. 进程浏览染色和进程识别

染色方案参考 whatav.cna 和 ProcessColor.cna,颜色为自己配的颜色,以防止颜色太亮。


在 note 下可显示识别的进程和杀软,根据不同的进程显示不同的颜色,杀软则以红色显示,当前进程以紫色显示,一般的浏览器进程以绿色显示,脚本进程以黄色显示,还有其它配色可自行发现:


该进程染色由 script/process_list.cna.js 下脚本控制,可自行修改:

2. 文件浏览染色

染色方案参考 FilesColor.cna。


dll、exe 等文件以粉丝显示,docx、pdf、txt 等文档文件以浅绿色显示,config.conf 等配置文件以深绿色显示,zip、7z 等压缩文件以橙色显示,用户自己上传的文件以蓝色显示,还有其它配色可自行发现:

用户上传的文件记录会被保存到本地的 uploadedfiles.txt 文件,在下次启动 cs 时自动读取。


该文件染色由 script/file_list.cna.js 下脚本控制,可自行修改:

3.下载页面染色和优化

下载页面增加列 computer,以显示当前文件来自那一台计算机,原版只显示 host 显得不够直观;在染色方面,当前用户已下载的文件会以蓝色显示,已下载的文件记录会被保存到本地的 downloadfiles.txt 文件,在下次启动 cs 时自动读取:

该文件染色由 script/download_list.cna.js 下脚本控制,可自行修改。

4. IP归属地显示

增加IP归属地显示,将listener移至最后一列:


使用的 IP 库 qqwry.dat 来自https://github.com/wisdomfusion/qqwry.dat。


使用了异步读取 qqwry.dat 和异步查询避免加载资源和查询时造成卡顿,将 IP 查询结果保存自 HashMap 防止重复查询。

5. 目标页面 note 增加多行显示

没啥用的功能,使用 note 可以输入多行文本:

三、BUG修复

1. 修复截图保存至本地为空

CS 4.8、4.9存在点击保存时截图时,截图保存到本地是空的问题:

进检查发现 CS 4.8、4.9 的 java 源代码中貌似缺少这一部分的实现,导致保存截图为空,修改源代码将这一部分补充完整。

2. 修复 cna 脚本 drow_listener 函数调用为空

在 cna 脚本中使用 drow_listener 可能会导致获取到的 listener 为空:

当 c2profile 的 host_stage 被设置为否时,使用 drow_listener 就会获取到空的 listener 列表,这将导致一些提权或注入类的 cna 脚本无法使用:

在高攻防环境下该选项一般都会被关闭,因为打开该选项将导致 c2 服务器暴露,被扫描器出来并盗走你的 c2profile。


事实上,应该在 cna 脚本中使用 drow_listener_stage 获取监听列表而不是 drow_listener。


但是大部分 cna 脚本都使用了 drow_listener,要求所有人都修改成 drow_listener_stage 不太现实,因此从代码层面修改将 drow_listener 的作用修改成与 drow_listener_stage 一致以修复这个问题:

3. 修复网络断开重新加载时显示用户已连接的问题

当用户因网络断开重新登录时自动添加后缀 [s]、[s2]、[s3]... 防止重复登录:

四、使用

双击 cobaltstrike.vbs 启动 CS4.9,内部已包含 java1.8 环境:

五、获取

OneCS 4.9 尊享版在内部使用的 XDOG 在线免杀平台可免费下载,OneCS 4.9 尊享版不是完整的版本,OneCS 4.9 完整版包含免杀方面的修改,暂时只供团队内部使用暂不公开。

小密圈

扫描下方二维码
加入内部交流群


长按-识别-关注

锦鲤安全

一个安全技术学习与工具分享平台

点分享

点收藏

点点赞

点在看



锦鲤安全
当前网络正常