免责声明
本文旨在提供有关特定漏洞或安全工具的详细信息,以帮助安全研究人员、系统管理员和开发人员更好地理解和修复潜在的安全威胁,协助提高网络安全意识并推动技术进步,而非出于任何恶意目的。利用本文提到的漏洞信息或进行相关测试可能会违反法律法规或服务协议。作者不对读者基于本文内容而产生的任何行为或后果承担责任。如有任何侵权问题,请联系作者删除。
简介
RevSuit 是一款灵活且强大的反连平台。目前支持 HTTP、DNS、RMI、LDAP、MySQL 和 FTP 协议。
基础使用
安装及配置
在Releases里下载最新版本的RevSuit,或者通过以下命令自行编译:
git clone https://github.com/Li4n0/revsuit.git
cd revsuit/frontend && yarn install && yarn build
cd ../ && go build ./cmd/revsuit/revsuit.go
RevSuit首次运行将会在当前目录生成配置文件,您可以根据需要其中一些自定义的内容。配置文件的详细说明可见:配置说明
运行
为了确认连接 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规则为例:
需要注意的一些内容如下:
1、规则的name和flagFormat字段是唯一的。
2、flagFormat使用正则表达式语法。对于不同的协议,其匹配的字段也不同的。你可以在创建规则的时候查看对应的帮助信息来获知该协议的哪个字段是会被匹配的。
3、rank决定了规则的优先级,如果一个请求同时满足多条规则,只有rank值最大的那条规则才会生效。
4、对于不同的协议,您可以设置不同的响应,部分协议可以使用模板变量来动态生成响应。
5、你可以在flagFormat中使用正则表达式中的命名模块,命名模块匹配的结果将成为自定义的模板变量。
如下图所示,我们创建一个名为test_create_ruleHTTP协议的规则,其中使用了内置的模板变量和自定义的模板变量:
然后发送一个满足一条规则的请求来进行测试,可以看到响应的内容中各个模板变量都获取到了对应的值:
一条请求同时会被记录在平台上:
通知
通过配置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:
... ...
多模块联动
在实际的渗透测试场景中,一些特定的操作可以通过RevSuit模块配合,快速、简单地完成。下面以一个Java Web环境中盲XXE漏洞利用场景为例,展示如何使用RevSuit的HTTP和FTP模块,配合模板端口,快速完成内网端口扫描。
首先创建一个HTTP规则来返回evil.dtd,使被攻击的目标去连接RevSuit的FTP模块,并通过设置FTP连接的用户名和密码为模板变量来提供我们要扫描的IP和端口。
然后创建一个FTP规则,其中Pasv Address的Host和Port通过模板变量从FTP连接的用户名和密码动态获取。
然后使用BurpSuit就可以进行扫描,通过设置evil.dtd请求中的host和post参数,来指定要扫描的目标端口:
项目地址
https://github.com/Li4n0/revsuit
标签:__,FTP,22,反向,规则,revsuit,连接,RevSuit From: https://www.cnblogs.com/o-O-oO/p/18674770原创 大白菜爱学习Sec