FlowThingy/FlowOsint
GitHub: FlowThingy/FlowOsint
一款无需 API key、集成 55 个模块的一体化 Web 侦察与 OSINT 框架,通过交互式终端菜单自动映射目标攻击面。
Stars: 0 | Forks: 0
# FlowOsint

**高级 Web 侦察与 OSINT 工具**
无需 API key。无需账户。只需 Python 和一个你已获授权测试的目标。
[](https://python.org)
[](LICENSE)
[](README.md)
## 目录
- [功能介绍](#what-it-does)
- [环境要求](#requirements)
- [安装说明](#installation)
- [快速开始](#quick-start)
- [模块参考](#module-reference)
- [输出文件](#output-files)
- [设置](#settings)
- [常见问题](#faq)
- [故障排除](#troubleshooting)
- [法律与免责声明](#legal--disclaimer)
## 功能介绍
FlowOsint 跨侦察、漏洞探测和威胁情报运行 55 个模块 —— 所有这些都通过单个脚本完成。你无需在十几个工具之间来回切换,而是获得一个菜单驱动的界面,处理完整的被动和主动侦察工作流。
它可以发现以下内容:
- 隐藏的管理面板、备份文件和配置泄露(`/.env`、`/.git`、`/phpinfo.php`)
- 遗留在 JavaScript 文件中的 API key、AWS 凭证、JWT 和 token
- 所有者遗忘的子域名 —— 通常运行着过时或未受保护的软件
- 泄露在页面源码中的电子邮件地址、内部路径和开发者注释
- 安全配置错误 —— 缺失的 header、开放的 CORS、弱 TLS 密码、可伪造的电子邮件域名
- 从 Shodan InternetDB 获取的开放端口和已知的 CVE
- 域名或其 IP 是否出现在违规数据库或威胁情报源中
所有内容都会自动保存到带有时间戳的 JSON 报告、格式化的 Markdown 漏洞赏金报告、实时会话日志以及可查询的 DuckDB 数据库中。
## 环境要求
| 要求 | 详情 |
|-------------|---------|
| Python | 3.10 或更高版本 —— 使用 `python --version` 检查 |
| 操作系统 | Windows、Linux、macOS |
| 互联网 | 所有网络模块必需 |
| API key | 无 —— 所有模块均可免注册运行 |
## 安装说明
### 1 — 获取文件
```
git clone https://github.com/FlowThingy/FlowOsint
cd FlowOsint
```
没有 Git?从 GitHub 页面下载 ZIP 文件,解压并打开该文件夹。
### 2 — 运行
就这么简单。启动器会自动处理其余所有事情 —— 它们会创建虚拟环境,将所有依赖项安装到其中,然后启动该工具。你永远不需要手动操作 `pip`。
**Windows** —— 在文件资源管理器中双击:
```
run.bat
```
**Linux / macOS:**
```
chmod +x run.sh && ./run.sh
```
**首次启动时会发生什么:**
```
[*] First run detected - setting up virtual environment...
[+] Virtual environment created.
[*] Checking dependencies...
[+] Dependencies OK.
```
首次运行后,它会直接跳到 `[*] Checking dependencies...` 并在几秒钟内启动。
## 快速开始
工具启动后,你会看到主菜单 —— 包含 3 页模块,按 **`N`** 在它们之间导航。
**3 步执行完整扫描:**
```
1. Type: 01 → Enter (Full Recon — runs everything)
2. Enter target URL: https://example.com
3. Wait. Press Enter when done to return to the menu.
```
报告会自动保存在与脚本相同的文件夹中。
**运行单个模块:**
```
S → Settings → option 1 → set target URL
Then type any module number from the menu
```
设置一次目标意味着你每次运行模块时都不会被再次询问。
## 模块参考
### 第 1 页 — 侦察与 OSINT
| # | 模块 | 描述 |
|---|--------|-------------|
| `01` | 全面侦察 | 端到端运行每个模块。获取完整画面的最佳起点。 |
| `02` | 目录与文件暴力破解 | 测试 200 多个常见路径(`/admin`、`/.env`、`/backup.zip`、`/phpinfo.php`)以发现隐藏或暴露的文件 |
| `03` | 子域名探测 | 探测 80 多个常见子域名前缀 —— `dev.`、`staging.`、`api.`、`git.`、`admin.` |
| `04` | 链接与表单爬虫 | 递归抓取网站 —— 映射链接、脚本、样式表和表单 |
| `05` | JS 文件分析 | 下载每个 JS 文件并扫描 API key、AWS 凭证、JWT、数据库 URL、内部 endpoint |
| `06` | HTML 注释转储 | 提取隐藏的表单字段、HTML 注释、iframe 源以及敏感的 `data-*` 属性 |
| `07` | CSS 资产提取器 | 从样式表中提取嵌入的 URL —— 有时会暴露内部资产服务器 |
| `08` | Robots 与 Sitemap | 解析 `robots.txt`、`sitemap.xml`、`security.txt` —— `Disallow:` 条目通常直接指向敏感路径 |
| `09` | 技术指纹 | 识别技术栈 —— CMS、框架、服务器、库、CDN |
| `10` | WAF / CDN 检测 | 检测 Web Application Firewall 和 CDN(Cloudflare、Akamai、Incapsula、ModSec、F5) |
| `11` | Header 检查器 | 转储完整的原始 HTTP 响应 header |
| `12` | Cookie 审计器 | 列出所有 cookie 并标记缺少 `HttpOnly` / `Secure` 属性的项 |
| `13` | DNS 记录查询 | 查询 A、AAAA、MX、NS、TXT、SOA、CAA、SRV 记录 |
| `14` | WHOIS 查询 | 注册商、创建日期、到期时间、域名服务器 |
| `15` | JS 密钥搜索器 | 与 `05` 相同,但使用爬虫已收集的脚本 |
| `16` | 隐藏字段转储 | 查找页面上所有隐藏的输入项和敏感数据属性 |
| `17` | 表单收集器 | 列出每个表单及其操作 URL、方法和字段名称 |
| `18` | 电子邮件收集器 | 在已爬取页面上进行多线程电子邮件地址抓取 |
| `19` | 开放重定向探测 | 测试常见的重定向参数以发现开放重定向漏洞 |
| `20` | 开放端口扫描 | Socket 探测排名前 25 的端口 —— 发现暴露的数据库、RDP、Redis、MongoDB |
| `21` | 导出报告 | 将本次会话中收集的所有内容保存为 JSON + Markdown |
### 第 2 页 — 漏洞与情报
| # | 模块 | 描述 |
|---|--------|-------------|
| `22` | SQLi 错误探测 | 发送 SQL 注入 payload 并监视响应中的数据库错误消息 |
| `23` | XSS 反射测试 | 测试常见参数以发现反射型 XSS |
| `24` | LFI 路径测试 | 针对 `/etc/passwd` 和 `win.ini` 的路径遍历探测 |
| `25` | SSL/TLS 检查器 | 证书颁发者、过期时间、密码套件强度、Subject Alternative Names |
| `26` | HTTP 方法测试 | 检查服务器接受哪些 HTTP 方法 —— 启用了 `PUT`、`DELETE`、`TRACE` 是一项发现 |
| `27` | 点击劫持 / CSP 检查 | 检查 `X-Frame-Options` 和 `Content-Security-Policy` |
| `28` | CORS 策略检查 | 发送精心构造的 origin header —— 如果将其反射回来,则说明 CORS 配置错误 |
| `29` | IP 地理位置 | 解析为 IP 并返回位置、ISP、ASN、坐标 |
| `30` | 反向 IP 查询 | 通过 HackerTarget 查询同一 IP 上托管的其他域名 |
| `31` | SPF / DMARC 检查 | 快速的电子邮件身份验证记录检查 |
| `32` | 安全 Header 审计 | 全面审计 —— HSTS、CSP、X-Content-Type-Options、Referrer-Policy、Permissions-Policy |
| `33` | Google Dork 生成器 | 针对目标域名生成 20 个即用型 dork |
| `34` | Shodan InternetDB | 免费的 Shodan 查询 —— 开放端口和已知 CVE,无需 API key |
| `35` | VirusTotal 域名 | 跨 70 多个威胁情报引擎的域名信誉 |
| `36` | Wayback Machine | 存档可用性、最旧和最新的快照 |
| `37` | GreyNoise IP 检查 | 服务器 IP 是否是已知的互联网背景噪声或恶意行为者 |
| `38` | urlscan.io 分析 | 完整的浏览器渲染扫描 —— 网络请求、屏幕截图、判定结论 |
| `40` | HaveIBeenPwned | 针对 HIBP 数据库进行域名违规源检查 |
| `41` | crt.sh CT 日志 | 证书透明度日志搜索 —— 通常能发现通过 DNS 探测找不到的子域名 |
| `42` | 电子邮件安全审计 | 深入的 SPF、DMARC 和 DKIM 审计及风险评分 |
| `43` | CMS Context JSON 探测 | 测试 CMS/API endpoint,这些端点有时会在未经授权的情况下暴露用户数据和配置 |
### 第 3 页 — 实用工具与辅助
| # | 模块 | 描述 |
|---|--------|-------------|
| `44` | 文档元数据收集 | 从 PDF 和 Office 文档中提取作者姓名、软件版本和内部路径 |
| `45` | 风险评分报告 | 按严重程度和可信度对所有发现进行评分,生成最终报告 |
| `46` | Playwright JS 扫描 | Headless 浏览器扫描 —— 拦截 API 调用,读取 localStorage 和 cookie |
| `47` | JS 渲染爬取 | 使用真实浏览器的爬虫 —— 发现只有在 JavaScript 运行后才会出现的链接 |
| `48` | DuckDB 查询 | 针对扫描数据库运行 SQL —— `SELECT * FROM findings WHERE severity='HIGH'` |
| `49` | Trafilatura 提取 | 从任何页面提取干净的可读文本 |
| `50` | 批量 URL 扫描器 | 一次检查多个 URL |
| `51` | 字符串哈希 | MD5、SHA1、SHA256、SHA512 |
| `52` | 编码 / 解码 Base64 | 编码或解码 Base64 字符串 |
| `53` | 提取所有 URL | 列出爬取期间收集的每个 URL |
## 输出文件
所有输出都会自动保存在与脚本相同的目录中。文件名包含域名和时间戳,因此扫描之间绝不会相互覆盖。
| 文件 | 内容 |
|------|----------|
| `flowoosint_example_com_YYYYMMDD_HHMMSS.json` | 来自每个模块的完整原始数据 |
| `flowoosint_example_com_YYYYMMDD_HHMMSS.md` | 格式化的漏洞赏金报告 —— 可直接粘贴到 HackerOne / Bugcrowd |
| `flowoosint_session_YYYYMMDD_HHMMSS_log.txt` | 完整的终端输出日志 |
| `flowoosint_example_com_YYYYMMDD_HHMMSS.duckdb` | 可查询的发现数据库 |
## 设置
在主菜单按 `S`。
| 选项 | 更改的内容 |
|--------|----------------|
| `1` | 目标 URL |
| `2` | 线程数(默认 25 —— 如果目标封锁了你,请调低) |
| `3` | 爬虫深度(默认 2) |
| `4` | 代理 URL(例如用于 Burp Suite 的 `http://127.0.0.1:8080`) |
| `5` | 用于目录暴力破解的自定义字典文件 |
| `6` | 输出文件名 |
## 常见问题
**我需要创建任何账户或获取 API key 吗?**
不需要。Shodan InternetDB、GreyNoise 社区版、Wayback Machine、HaveIBeenPwned、urlscan.io 免费层级 —— 所有这些均无需注册即可使用。如果你拥有 VirusTotal 或 urlscan.io 的 key,可以选择通过“设置 → 额外 header”添加它,以获得更高的速率限制。
**目录暴力破解花费了很长时间 —— 这正常吗?**
是的。它正在测试数百个路径并乘以文件扩展名。在响应迅速的目标上,使用 25 个线程通常需要 2-5 分钟。如果你被封锁了(到处都是 429、503 错误),请在设置中减少线程数。
**我可以将它与 Burp Suite 一起使用吗?**
可以。设置 → 选项 `4` → `http://127.0.0.1:8080`。所有请求都将出现在 Burp 的代理历史记录中,以便进行手动跟进。
**JS 密钥扫描器发现了一些东西 —— 我怎么知道它是真实的?**
该工具运行 Shannon 熵和字符多样性过滤器,以丢弃明显的占位和测试值。任何通过过滤的内容都值得手动验证 —— 尝试针对其预期的服务使用该凭证,以确认其是否处于活动状态。
**我的报告在哪里?**
与 `flowoosint.py` 在同一个文件夹中。命名为 `flowoosint_` + 域名 + 时间戳。
**我可以只运行一个模块而不进行完整扫描吗?**
可以 —— 从菜单中输入任何模块编号。在“设置”中设置一次目标,这样你就不会每次都被问到。
## 故障排除
**`ModuleNotFoundError: No module named 'X'`**
虚拟环境可能未正确设置。尝试:
```
# Windows
venv\Scripts\activate
pip install -r requirements.txt
# Linux / macOS
source venv/bin/activate
pip install -r requirements.txt
```
**`[FATAL] Client.__init__() got an unexpected keyword argument 'proxies'`**
```
pip install "httpx[http2]" --upgrade
```
**`ImportError: Using http2=True but the 'h2' package is not installed`**
```
pip install "httpx[http2]"
```
**在 Linux 上找不到 `python3-venv`**
```
sudo apt install python3-venv
```
然后再次运行 `./run.sh`。
**WHOIS 在 Windows 上发出警告并跳过**
`whois` 二进制文件并非 Windows 内置。从 [Sysinternals](https://learn.microsoft.com/en-us/sysinternals/downloads/whois) 下载并将其添加到你的 PATH 中。或者直接跳过它 —— DNS 模块涵盖了大部分相同的信息。
**Playwright 模块(46、47)失败**
```
pip install playwright
playwright install chromium
```
所有其他模块在没有安装 Playwright 的情况下也能正常工作。
**工具似乎卡住了且没有输出**
它没有死机 —— 某些模块在某些目标上运行较慢。电子邮件收集器并行获取多达 80 个页面,并显示进度条。在缓慢的目标上进行目录暴力破解可能需要几分钟。按 `Ctrl+C` 中断并返回菜单。
**目录暴力破解返回了太多误报**
某些服务器无论请求的路径是否存在,对每个请求都返回 HTTP 200(软 404)。该工具已经过滤了 404、400、410 和 406。在软 404 服务器上,检查响应大小 —— 真实页面通常比通用的错误页面大得多。
## 法律与免责声明
FlowOsint **专门**用于:
- 你个人拥有的系统的安全评估
- 具有目标所有者签署的工作范围授权的渗透测试
- 目标被明确列为范围内的漏洞赏金计划
未经许可扫描系统属于刑事犯罪,违反**英国《1990 年计算机滥用法》**、**美国《计算机欺诈和滥用法》**、**欧盟《信息系统攻击指令》**以及大多数其他司法管辖区的同等立法。处罚从罚款到监禁不等,具体取决于国家和严重程度。
FlowOsint 的作者和贡献者对任何滥用行为不承担任何责任。如果你不确定自己是否有权测试某个目标 —— 那就是你没有权限。
*FlowOsint v2.01 — github.com/FlowThingy/FlowOsint*
## 贡献者
| | 名字 | GitHub |
|-|------|--------|
| | **FlowThingy** | [@FlowThingy](https://github.com/FlowThingy) |
| | **Jello** | [@jelloyfizz-jpg](https://github.com/jelloyfizz-jpg) |
标签:ESC4, OSINT, Python, Web安全, 实时处理, 密码管理, 文件查看, 无后门, 特征检测, 蓝队分析, 运行时操纵, 逆向工具