|
声明:该公众号分享的安全工具和项目均来源于网络,仅供安全研究与学习之用,如用于其他用途,由使用者承担全部法律及连带责任,与工具作者和本公众号无关。
现在只对常读和星标的公众号才展示大图推送,建议大家把Hack分享吧“设为星标”,否则可能看不到了!
工具介绍
RevSuit是一个灵活而强大的反向连接平台,专为接收渗透中目标主机的连接而设计,目前支持HTTP、DNS、RMI、LDAP、MySQL和FTP协议。
灵活的:
通过灵活的规则来捕获连接
通过二进制文件部署和运行而无需担心讨厌的依赖错误
强大的:
可以通过规则,为不同类型的连接自定义响应,并且可以使用模板变量实现动态响应。
支持的协议数量相对较多,并且支持其中的部分协议的进一步利用,如 DNS重绑定、MySQL客户端文件读取和 JDBC 反序列化、FTP 被动模式 SSRF 等
原生支持扫描器
支持发送通知到流行的办公软件
其它有趣或贴心的功能
基础使用
安装及配置
在Releases里下载最新版本的RevSuit,或者通过以下命令自行编译:
cd revsuit/frontend && yarn install && yarn build
cd ../ && go build ./cmd/revsuit/revsuit.go
RevSuit首次运行将会在当前目录生成配置文件,您可以根据需要自定义其中的某些内容。配置文件的详细说明可见CONFIG.zh-CN.md
运行
为了确认连接IP的归属地,RevSuit需要依赖IP归属地数据库。默认情况下使用纯真IP 库,你也可以在配置文件中指定使用GeoIP。
如果当前目录下没有被选中的IP数据库文件,或者IP数据库文件更新的时间大于一周,RevSuit将会自动下载最新版的数据库文件到本地。如果下载失败,连接记录的IpArea字段将始终为空。
$ ./revsuit
2021/05/16 22:55:10 [ INFO] Downloading qqwry.dat...
____ _____ _ __
/ __ \___ _ __/ ___/__ __(_) /_
/ /_/ / _ \ | / /\__ \/ / / / / __/
/ _, _/ __/ |/ /___/ / /_/ / / /_
/_/ |_|\___/|___//____/\__,_/_/\__/
vBeta0.1
https://revsuit.pro
2021/05/16 22:55:22 [ INFO] Starting HTTP Server at :80, token:your_token
2021/05/16 22:55:22 [ INFO] Start to listen FTP PASV port at :2020, PasvIP is 10.9.8.7
2021/05/16 22:55:22 [ INFO] Starting FTP Server at :21
2021/05/16 22:55:22 [ INFO] Starting MySQL Server at :3306
2021/05/16 22:55:22 [ INFO] Starting RMI Server at :1099
2021/05/16 22:55:22 [ INFO] Starting DNS Server at :53
在启动之后,你可以通过访问HTTP Server的/revsuit/admin/路径,并输入token来进入控制面板。
创建规则与接收连接
这里以创建一个HTTP规则作为例子,一些需要注意的内容如下:
规则的name和flagFormat字段是唯一的。
flagFormat使用正则表达式语法。对于不同的协议,其匹配的字段也是不同的。你可以在创建规则的时候查看对应的帮助信息来获知该协议的哪个字段是会被匹配的。
rank决定了规则的优先级,如果一个请求同时满足多条规则,只有rank
对于不同的协议,你可以设置不同的响应,部分协议可以使用模板变量来动态生成响应。
你可以在flagFormat中使用正则表达式中的命名分组,命名分组匹配的结果将会成为自定义的模板变量。
如下图所示,我们创建一个名为test_create_rule的HTTP协议的规则,其中使用了内置的模板变量和自定义的模板变量:
然后发送一个满足这条规则的请求来进行测试,可以看到响应的内容中各个模板变量都获取到了对应的值:
这条请求同时会被记录在平台:
通知
通过配置Webhook地址并打开对应规则的Notice开关,你可以通过办公软件接收新连接的通知。目前支持钉钉、企业微信、飞书和slack。(计划会后续支持Discord和Telegram)
导入/导出规则
如果你想要迁移平台或者清除数据,重新创建规则可能是一件麻烦事。因此RevSuit支持导入和导出规则。
该功能位于Settings>RULES选项卡,如下所示,规则将会被以yaml的格式进行导入和导出:
http:
- name: test_create_rule
flag_format: (?P<what>\w+)\?
rank: 0
push_to_client: false
notice: false
response_status_code: "302"
response_headers:
Location: ${query.url}
response_body: ${header.say} ${what}
- name: other_rule
flag_format: other
rank: 1
push_to_client: false
notice: true
response_status_code: "200"
response_headers: { }
response_body: Hello Revsuit!
dns:
... ...
更多高级功能的使用方法见Github...!
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|