WIP 专为虚拟机监控器设计的后渗透利用框架。
Reave 是一个针对虚拟机监控程序端点的后渗透框架,使用 Python 编写。目前正在开发中。
Reave 遵循传统的监听器/代理模型,用户可以设置多个监听器,接受任意数量的代理。该框架目前提供一个 Python 代理,并支持以下功能:
Reave 的目标是提供一个框架,用户可以利用它在高度虚拟化的环境中或目标/关键基础设施托管在 ESXi 和 Proxmox 等虚拟机监控平台上的环境中,自动化和加速渗透测试活动。
在服务器上,直接运行 app.py:
python3 reave/app.py
在目标端点上,上传位于 agents/client.py 的 Python 代理并执行。以下配置选项可用:
_LISTENER_HOST 服务器的主机名/IP_LISTENER_PORTS 代理将尝试以轮询方式连接的端口列表_LISTENER_SECRET 代理要绑定到的监听器的关联密钥_AGENT_LOGLEVEL 调试日志级别BEACON_INTERVAL 代理信标的间隔时间BEACON_JITTER 添加到信标间隔的随机抖动因子START_TIME 代理开始发送信标的时间END_TIME 代理停止发送信标的时间SOCKET_TIMEOUT 代理套接字的超时时间PID_FILE 代理用来确保自身不在端点上重复运行的 PID 文件TRANSFER_BLOCK_SIZE 代理向服务器传输文件时使用的块大小当代理成功关联到一个监听器后,您可以通过进入 agent 上下文并执行命令 list(或 ls)来查看它。要查看 Reave 自动从端点枚举的所有信息,请执行命令 info <agent uuid>。例如,如果您的代理的 uuid 是 18ab,则使用 info 18ab。
要从代理抓取任意文件,可以执行 get 18ab /my/test/file。
要在端点上生成交互式 Shell,可以执行 interact 18ab。
命令行包含三个不同的上下文,您可以分别控制不同的操作:
要进入监听器上下文,请使用命令 listener。在该上下文中,有如下选项:
list 列出所有活动监听器
add <host> <port> <secret> 添加一个监听器
remove <uuid> 移除一个监听器
使用命令 back 退出此上下文。
要进入代理上下文,请使用命令 agent。在该上下文中,有如下选项:
list 列出所有代理(别名:ls)
info <uuid> 列出代理信息,包括自动枚举的数据
interact <uuid> 与代理进行交互式终端会话。
输入 'quit' 退出。
get <uuid> <file> 将文件从代理端点传输到下载目录
使用命令 back 退出此上下文。
要进入 payload 上下文,请使用命令 payload。在该上下文中,有如下选项:
list 列出所有已加载的有效载荷
info <name> 获取有效载荷的信息
use <name> 选择要使用的有效载荷
set <option> <value> 将有效载荷选项设置为某个值
run agent <uuid> 在单个代理上运行有效载荷
使用命令 back 退出此上下文。
Reave 还支持定义查看枚举数据的格式。要切换为特定格式:
format json 以表格格式输出信息。
format table 以 JSON 格式输出信息。