简介 🪶
Interactsh 是由 ProjectDiscovery 开发的一款开源工具,用于检测出带外(OOB)漏洞。与传统工具或方法可能无法检测到的漏洞相比,Interactsh 提供了一种动态生成 URL 的方式。当目标请求这些 URL 时,会触发一个回调,从而能够监控和分析这些请求以识别潜在的漏洞。
特性
支持 DNS/HTTP(S)/SMTP(S)/LDAP 交互 提供 CLI、Web、Burp Suite、ZAP 和 Docker 客户端 使用 AES 加密且无日志记录 自动 ACME 基于通配符的 TLS 证书自动续期 支持云元数据服务的 DNS 条目 动态 HTTP 响应控制 可自托管 Interactsh 服务器 支持多域名(自托管) 支持 NTLM/SMB/FTP/RESPONDER 监听(自托管) 支持通配符/保护交互(自托管) 可定制的索引/文件托管(自托管) 可定制的负载长度(自托管) 支持自定义 SSL 证书(自托管) 组件
Interactsh 由两个主要组件组成:Interactsh 客户端(interactsh-client)和 Interactsh 服务器(interactsh-server)。每个组件在检测 OOB 漏洞的过程中都扮演着不同的角色,并具有不同的功能。
Interactsh 服务器
功能:捕获和记录来自交互 URL 的回调。 部署:可公开托管,用于接收来自被测试系统的请求。 使用场景:适用于出于隐私或控制目的而自行托管实例的用户。ProjectDiscovery 提供了一些可公开访问的服务器,用户可以直接使用这些服务器运行客户端以满足特定用例需求。 Interactsh 客户端
功能:用于生成测试 URL,从服务器检索交互日志。 部署:在本地运行,用于管理 URL 和分析捕获的数据。 使用场景:供测试人员用于创建和分析针对 OOB 漏洞的测试。
安装 🍂
安装前的准备
Interactsh 工具由两个主要组件组成:
Interactsh Client(客户端):生成测试用的 URL,并从服务器检索交互日志。 Interactsh Server(服务器):捕获并记录从交互 URL 到来的回调请求。 安装步骤
1. 安装Go环境
Interactsh 需要 Go 语言的最新版本来运行。在安装 Interactsh 之前,确保你的系统已经安装了 Go。
2. 安装 Interactsh Client(客户端)
在终端中输入以下命令来安装 Interactsh 客户端:
go install -v github.com/projectdiscovery/interactsh/cmd/interactsh-client@latest
3. 安装 Interactsh Server(服务器)(可选)
如果您希望自托管 Interactsh 服务器以获得更多的控制和隐私,可以按照以下步骤进行安装:
在 VPS 上安装 Interactsh Server:
go install -v github.com/projectdiscovery/interactsh/cmd/interactsh-server@latest
在域名注册商(例如 GoDaddy)上设置域名和名称服务器以指向您的 Interactsh Server。
运行 Interactsh Server:
interactsh-server -domain YOUR_INTERACTSH_DOMAIN
使用 🌿
参数选项
### 使用:
./interactsh-client [标志]
### 标志:
#### 输入:
- **-s, -server string**
使用的 interactsh 服务器(默认值为 "oast.pro,oast.live,oast.site,oast.online,oast.fun,oast.me")。
#### 配置:
- **-config string**
标志配置文件(默认值为 "$HOME/.config/interactsh-client/config.yaml")。
- **-n, -number int**
生成的 interactsh 有效负载数量(默认值为 1)。
- **-t, -token string**
连接受保护的 interactsh 服务器所需的身份验证令牌。
- **-pi, -poll-interval int**
拉取交互数据的轮询间隔(以秒为单位,默认值为 5)。
- **-nf, -no-http-fallback**
禁用 HTTP 回退注册。
- **-cidl, -correlation-id-length int**
关联 ID 前缀长度(默认值为 20)。
- **-cidn, -correlation-id-nonce-length int**
关联 ID 随机数长度(默认值为 13)。
- **-sf, -session-file string**
从会话文件存储/读取数据。
#### 过滤:
- **-m, -match string[]**
根据指定模式匹配交互。
- **-f, -filter string[]**
根据指定模式过滤交互。
- **-dns-only**
仅在 CLI 输出中显示 DNS 交互。
- **-http-only**
仅在 CLI 输出中显示 HTTP 交互。
- **-smtp-only**
仅在 CLI 输出中显示 SMTP 交互。
#### 更新:
- **-up, -update**
将 interactsh-client 更新到最新版本。
- **-duc, -disable-update-check**
禁用自动检查 interactsh-client 更新。
#### 输出:
- **-o string**
输出文件以写入交互数据。
- **-json**
以 JSONL(行格式)写入输出。
- **-ps, -payload-store**
启用将生成的 interactsh 有效负载存储到文件。
- **-psf, -payload-store-file string**
将生成的 interactsh 有效负载存储到指定文件(默认值为 "interactsh_payload.txt")。
- **-v**
显示详细的交互信息。
#### 调试:
- **-version**
显示项目版本。
- **-health-check, -hc**
运行诊断检查。
使用指南
Interactsh-client 提供多种命令行选项,帮助生成测试载荷并获取交互数据。以下是一些常用选项:
s
,server
:指定 interactsh 服务器(默认为 oast.pro,oast.live,oast.site,oast.online,oast.fun,oast.me)。n
,number
:指定生成的 interactsh 载荷数量(默认 1)。v
:显示详细的交互信息。sf
,session-file
:将会话信息存储/读取到用户定义的文件中。起始使用
可以使用默认的命令生成一个用于 OOB 测试的唯一载荷:
interactsh-client
要使用自托管的 Interactsh 服务器,可以配置:
interactsh-client -server your.custom-server.com
参考链接 🌲
https://docs.projectdiscovery.io/tools/interactsh/overview
https://github.com/projectdiscovery/interactsh
原文始发于微信公众号(人遁安全):Interactsh ,OOB 外带漏洞服务器搭建测试
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论