Skip to content

0x727/MetasploitCoop_0x727

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

logo

MetasploitCoop

基于msf的后渗透协作平台

郑重声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担。

类别 说明
作者 Akkuman三米前有蕉皮
团队 0x727 未来一段时间将陆续开源工具
定位 基于 Metasploit Framework 的可视化后渗透协作平台
语言 Ruby, Python, Javascript
功能 类似于 CobaltStrike 的 C2 平台,可视化 Metasploit Framework 操作,支持团队协作

此仓库只是以下仓库的说明仓库,如果想查看具体的代码请前往以下仓库进行查看

什么是 MetasploitCoop ?

红队行动中,大家常常选用 CobaltStrike 作为团队的 C2 工具,MetasploitCoop 旨在成为 CobaltStrike 的替代品,最大限度地利用 Metasploit Framework 的现有生态进行内网渗透。

为什么选择 MetasploitCoop ?

功能特性

  • 可视化的 Metasploit Framework
  • 右键功能直达
  • 支持中转文件夹
  • 可视化执行模块
  • 一键端口转发、路由添加
  • 凭据展示
  • Metasploit Framework 执行中的任务管理
  • 主机列表查看
  • 协作聊天
  • 主机上模块执行历史记录
  • 主机进程管理
  • 主机文件管理
  • 主机一键截屏
  • 可定制化的右键菜单
  • 模块说明中文化
  • docker重建后的监听恢复
  • 原生的 Metasploit Console 支持(多人分离,不污染环境)

还有最最重磅的:

Viper 的区别

很多人询问该项目相比于 Viper 有哪些区别?

以下是一些已知区别

  1. 单用户和多用户,viper使用多个用户可使用单账号root进行登录使用,MetasploitCoop 允许注册用户进行使用
  2. msf console
  • viper 整体面向单用户,对于msf console采用多端同步输入方案,也就是A和B用户同时登录平台打开console,A用户输入的内容会实时同步到B用户屏幕上
  • MetasploitCoop 针对 msf console 做了多实例间的隔离,各个用户之间的输入并不干扰或污染环境
  1. 模块方面,这一部分主要是两个项目的侧重点不同
  • viper 要想利用 msf 中的模块需要改写原有的 msf 模块才能进行使用(原因:侧重于对于 msf 的定制化尽量少,能使用模块实现的就使用模块进行实现,并和python中间层之间利用redis来进行消息的发布订阅)
  • MetasploitCoop 理论上可以直接使用绝大部分 msf 模块,除了一些特殊模块,比如 screenshare 之类的模块会在本地生成一个 html 然后打开,这部分模块暂不支持(原因:MetasploitCoop 走的另一个方向,对于 msf 的定制化程度稍高一些,所以对这些情况做了特殊处理)

快速开始体验

DockerCompose

$ git clone https://github.com/0x727/MetasploitCoop_0x727.git
$ cd MetasploitCoop
$ sudo docker-compose up -d

可以使用 docker-compose logs 进行日志查看,当出现如下字样表示启动成功

INFO supervisord started with pid 1
INFO spawned: 'homados' with pid 47
INFO spawned: 'msfrpcd' with pid 48
INFO spawned: 'nginx' with pid 49
INFO success: homados entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
INFO success: msfrpcd entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

环境变量额外说明(可选)

除了 docker-compose.yml 中列出的环境变量,还支持

TENCENT_TRANSLATE_TOKEN_ID # 腾讯翻译君 api 的 SecretId
TENCENT_TRANSLATE_TOKEN_KEY # 腾讯翻译君 api 的 SecretKey

该环境变量加上后可支持 Metasploit Framework 模块的实时中文翻译(平台目前内置绝大部分翻译)

使用方法

启动 docker 后,打开 https://127.0.0.1:60443,即可进入 MetasploitCoop

输入msfcoop和DptbHd8R(默认值,可以从 docker-compose.yml 中修改)然后保存,即可以进入真正的登录页面

经过注册登录即可,上方的修改服务器地址可以修改真实 c2 服务器的地址,也就是前端可以挂载到其他地方(比如编译成exe),这个此处先不作额外说明

登陆后可在下方给团队成员发送消息

按照一般的流程,我们可以点击上方的 添加监听 来添加一个监听任务

注意:此处的端口号需要对应 docker-compose.yml 中的 7000-7500 范围,不然无法监听,此处的监听地址不要填写 0.0.0.0,因为后面我们根据该监听生成payload的时候需要这个 ip 用来回连。

生成监听任务后,我们可以在任务管理中找到它,右键它可以生成payload

此处我们可以发现还有一个任务进程 选项,该选项主要用在一些模块执行任务上面,在模块未执行完成时观察模块的实时输出,或者用来结束一些任务。

这里一些生成payload的选项和 Metasploit Framework 类似,就不再赘述了。

执行上线后会有提示。

然后我们可以右键查看一下功能,此处的右键快捷功能也可以在平台设置中进行设置

对主机截屏,截屏文件放在文件中转区内,可以通过文件中转区进行查看

对主机进行进程管理,可以查看对于重要进程会有高亮,此处的高亮列表可以在平台设置中编辑

执行模块,可以像msf中一样填写参数,针对一些参数可以选择文件的,支持直接点击从文件中转区中选择文件

模块执行完成后会自动回显结果,如果模块迟迟没有回显,可以进入任务管理查看模块执行任务,必要时可以结束掉

管理后台支持添加右键自定义菜单、模块翻译管理、进程高亮管理等配置

更多功能等你探索

Change Log

20201018

  1. 文字聊天功能
  2. 支持模块执行选项的提示说明
  3. 支持会话路由操作支持
  4. 支持查询主机历史会话的命令和模块执行记录
  5. 截图依据ip存放到不同的目录
  6. 支持查阅会话历史记录
  7. 会话添加回连(公网)ip端口展示
  8. 支持开放或关闭注册功能,增加安全性
  9. 支持可配置右键菜单
  10. 文件管理支持无限滚动与搜索,防止渲染过多卡死
  11. 战利品和凭证列表无限滚动
  12. 修正:主机用户名的显示
  13. 修正:一些信息列表支持手动拖拽宽度
  14. 主机存活状态自动更新
  15. 增加 https://github.com/0x727/MetasploitModules_0x727 模块
    1. mssql_powershell: 通过正确的SQL Server口令信息,可启用xp_cmdshell,并获取目标系统session。
    2. clone_user: 创建登录账户,添加该账户到管理员与远程桌面组,并克隆administrator,从而替代clone.exe( 支持尝试提权,默认随机8位密码,用户不能设置Guest,应用RID劫持技术)
    3. redis/unauthorized: 批量扫描Redis未授权漏洞,若存在,探测/root/.ssh/与/var/spool/cron/目录权限,可写入id_rsa.pub到目标服务器(id_rsa.pub应设置绝对路径),或提示Cron反弹命令。
    4. ...更多查看(https://github.com/0x727/MetasploitModules_0x727)
  16. 增加内存执行exe的模块(post/windows/manage/execute_pe)(需要exe存在.reloc节,比如golang编译的exe,并且payload与目标主机架构需要相同)
  17. 新增模块或选项后自动翻译
  18. 重启容器后自动恢复之前的监听
  19. 支持客户端使用(目前只支持win,后续将添加其他版本客户端)
  20. 支持执行中的任务输出查看

20201020

  1. 修复 模块历史记录不显示
  2. 修复 偶发的终端历史记录解析错误
  3. 去除前端的basicauth

为 MetasploitCoop 做贡献

MetasploitCoop 是一个免费且开源的项目,我们欢迎任何人为其开发和进步贡献力量。

  • 在使用过程中出现任何问题,可以通过 issues 来反馈。
  • Bug 的修复可以直接提交 Pull Request 到 dev 分支。
  • 如果是增加新的功能特性,请先创建一个 issue 并做简单描述以及大致的实现方法,提议被采纳后,就可以创建一个实现新特性的 Pull Request。
  • 欢迎对说明文档做出改善,帮助更多的人使用 ,特别是英文文档。
  • 贡献代码请提交 PR 至 dev 分支,master 分支仅用于发布稳定可用版本。
  • 如果你有任何其他方面的问题或合作,欢迎发送邮件至 0x727Team@gmail.com

提醒:和项目相关的问题最好在 issues 中反馈,这样方便其他有类似问题的人可以快速查找解决方法,并且也避免了我们重复回答一些问题。

About

基于msf的后渗透协作平台

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published