Loading

纯命令行工具信息收集的思路

看了一个youtube上信息收集的思路,发现和直接用fofa,hunter这些直接搜集子域名不太一样,因此记录了一下。

https://www.youtube.com/watch?v=evyxNUzl-HA

01. 侦查机环境搭建 (VPS & Tools Setup)

一个干净、稳定的云服务器(VPS,推荐 Ubuntu 系统)是自动化侦查的基石。

基础环境初始化

  1. 更新系统并配置基础依赖:安装 Go 语言环境及常用编译依赖工具。
  2. 包管理器安装(pdtm):Project Discovery 官方提供了包管理器 pdtm,可以实现“一键安装与更新”全套开源安全工具链。
  3. 第三方工具补齐:安装并配置 nmapmassdns 等后续爆破与解析所需的底层原生依赖。

Tips:建议在 VPS 上配合 tmuxscreen 使用,防止长耗时任务因 SSH 中断而崩溃。

02. Recon 的两大核心支柱 (Core Pillars)

整个 Recon 流程可以划分为两个由浅入深的阶段:

+-----------------------------------------------------------------------+
|                            Recon 核心流程                             |
+-----------------------------------------------------------------------+
|  [阶段一] 资产发现 (Asset Discovery)                                  |
|  └── 寻找所有可能的物理入口:域名、子域名、存活 IP、开放端口           |
+-----------------------------------------------------------------------+
|                                  │                                    |
|                                  ▼                                    |
+-----------------------------------------------------------------------+
|  [阶段二] 内容发现 (Content Discovery)                                |
|  └── 挖掘应用内部的逻辑细节:敏感接口、JS 路由、参数、后台/组件        |
+-----------------------------------------------------------------------+

03. 阶段一:资产发现工作流 (Asset Discovery Workflow)

资产发现的目标是不遗漏任何潜在攻击面,从被动收集到主动变体爆破,层层递进。

1. 子域名枚举 (subfinder)

  • 核心点:不要只运行默认的 subfinder -d target.com
  • 深度优化:一定要在 provider-config.yaml 中配置各大 API Provider 的 Key(如 SecurityTrails、Censys、Shodan 等),并加上 -all 参数,才能拉满枚举深度。

2. 子域名爆破 (shuffleDNS)

  • 适用场景:补全未公开、无 SSL 证书的泛域名或深层子域名。
  • 做法:结合优质的 Resolver 列表与词表(Wordlist),底层借助 massdns 进行高速 DNS 暴力破解。

3. 排列组合与环境变体 (alterx)

  • 机制:根据已有子域名,自动生成如 qa-, dev-, staging-, api- 等开发测试环境的词组变体。
  • 价值:很多漏洞往往就藏在防护薄弱的 Dev 或 Staging 环境中。

4. DNS 解析过滤 (dnsx)

  • 作用:对被动收集 + 爆破 + 排列组合生成庞大域名列表进行高速解析,秒级剔除无效域名,精准筛选出存活的目标列表。

5. 端口扫描 (naabu)

  • 作用:对解析出的 IP/域名进行非标准端口扫描(如 3000, 8443, 8888, 9999 等)。
  • 价值:绕过 80/443 的常规 Web 防火墙,直接抓取边缘服务或内部测试端口。

04. 阶段二:信息收集与内容发现 (Information Gathering & Content Discovery)

拿到存活资产后,进入深入的应用层分析。

                       ┌──► 灰产/未授权后台 (phpMyAdmin/Grafana/Jenkins)
                       │
httpx / Katana / ───►  ├──► JS 深度挖掘 (前端 API 接口 / 敏感 Hardcoded Key)
URLFinder              │
                       └──► 缝隙漏洞 (历史 URL 参数 / Open Redirect / SSRF)

1. HTTP 协议探测与识别 (httpx)

  • 能力:批量提取网页 Title、Status Code、Content-Type、Content-Length 以及重定向路径。
  • 重点关注:指纹识别出的第三方组件或管理后台(如 phpMyAdminGrafanaJenkinsNacos 等),这类服务极易存在已知 CVE 漏洞或弱口令。

2. 主动爬虫与 JS 深度解析 (katana)

  • 参数推荐:开启 -jc (JavaScript Crawling) 和 -jsl 参数。
  • 价值:能够深度解析前端打包代码(如 Webpack/Vite),挖掘隐藏在 JS 脚本中的未授权 API 路由。

3. 认证后爬取 (Authenticated Crawling)

  • 高级用法:传入登录后的 Cookie/Header(-h),结合 -xhr 及自动填表(-aff)。
  • 价值:突破登录墙,深度爬取鉴权后的内部逻辑页面与高危敏感接口。

4. 被动链接收集 (urlfinder)

  • 原理:利用第三方历史索引库(如 Wayback Machine、Common Crawling)被动获取目标的历史 URL。
  • 价值:非常适合寻找特定参数(SQLi/XSS/SSRF)、开放重定向(Open Redirect)等遗留缝隙漏洞。

05. 工作流构建 (Chaining Workflow)

Project Discovery 系列工具最高明的地方在于其原生支持 Unix 管道符 (|) 链式调用。我们可以直接写成一行化的自动化 Recon 脚本:

Bash

# 一键式完整 Recon 链条示例
subfinder -d target.com -all | \
alterx | \
dnsx -silent | \
naabu -top-ports 1000 -silent | \
httpx -title -tech-detect -status-code | \
katana -jc -jsl -o endpoints.txt

总结心得

  1. 深度依赖配置文件与 API:无 Key 的工具效率会折半,Recon 的上限很大程度上取决于数据源的丰富度。
  2. 变体与解析是精髓AlterX + dnsx 能帮你发现绝大多数对手看不到的“隐秘资产”。
  3. 重视 JS 挖掘:现代 Web 架构高度 API 化,Katana 对前端 JS 的提取常常能带来意外的未授权/接管惊喜。
posted @ 2026-07-30 09:49  幽暗天琴沙雕  阅读(22)  评论(0)    收藏  举报