信息收集方法与工具笔记

这篇笔记整理了我在学习和靶场中常用的信息收集思路,适用于前期侦察(Recon)阶段。

一、搜索引擎与高级语法

常用搜索引擎:

  • Google
  • Bing
  • DuckDuckGo

常用高级语法(以 Google 为主):

  • "关键词":精确匹配短语
  • site:example.com:限定站点范围
  • -关键词:排除关键词
  • filetype:pdf/doc/xls/ppt:限定文件类型

示例:

1
2
3
site:target.com filetype:pdf "internal use"
site:target.com -www "login"
"target company" filetype:xlsx

不同搜索引擎的官方语法要点:

  • Google Search Help 明确支持引号精确匹配、site: 限定站点、- 排除关键词;同时强调操作符与关键词之间不要加空格
  • Bing 官方支持 filetype:ext:contains:intitle:inbody:inanchor: 等高级关键词,适合补足文件和页面结构线索
  • DuckDuckGo 官方帮助页支持 site:filetype:intitle:inurl:、引号、-!bang

补充示例:

1
2
3
4
intitle:"index of" "backup"
site:target.com ext:sql
site:target.com inurl:admin
site:github.com "target.com" "API_KEY"

二、专业资产检索平台

1) Shodan

  • 用途:发现暴露在公网的服务、端口、设备指纹与组件版本。
  • 适合快速判断目标暴露面和潜在弱点。

2) Censys

  • 用途:检索主机、证书、服务指纹、互联网资产关系。
  • 适合证书链和资产归属扩展分析。

3) VirusTotal

  • 用途:查询文件哈希、URL、域名、IP 的历史检测结果与关联线索。
  • 适合 IOC 扩线和可疑样本初筛。

4) Have I Been Pwned

  • 用途:查询邮箱是否出现在历史数据泄露中。
  • 适合账号暴露风险评估。

5) crt.sh

  • 用途:基于证书透明度日志(CT Logs)检索域名、组织名、证书指纹和证书条目。
  • 适合从主域名扩展到证书里出现过的子域名、历史证书和关联身份。
  • 根据 crt.sh 首页说明,可直接搜索域名、组织名、SHA-1/SHA-256 指纹或 crt.sh ID。

6) Wayback Machine

  • 用途:查看历史网页快照。
  • 适合寻找已下线页面、旧版路径、历史 JS、历史管理入口和变更痕迹。

7) Wappalyzer

  • 用途:识别站点技术栈。
  • 适合快速判断目标使用的前端框架、CMS、中间件、分析脚本和第三方组件。
  • 按 Wappalyzer 官方 FAQ,扩展会通过 HTML、脚本、Cookie、网络请求和证书等指纹识别技术。

8) robots.txt

  • 用途:查看站点主动暴露给爬虫的路径提示。
  • 适合发现后台目录、测试路径、敏感入口、sitemap.xml 位置。
  • 这不是“漏洞”,但常常是非常高价值的线索入口。

三、漏洞与利用信息源

1) CVE / NVD

  • 用途:查漏洞编号、影响范围、CVSS、修复建议。

2) Exploit-DB

  • 用途:检索公开 PoC/Exploit 样例。
  • 注意:PoC 需要结合版本和环境验证,不可盲用。

3) GHDB(Google Hacking Database)

  • 用途:检索已经分类整理好的搜索引擎查询语句,也就是常说的 Google Dorks。
  • 按 Exploit-DB 的官方说明,GHDB 是一套用于发现被公开暴露敏感信息的搜索查询索引。
  • 补充理解:
  • GHDB 不只对 Google 有参考价值,Exploit-DB 官方也明确提到它如今也包含面向 Bing、GitHub 等站点的搜索条目。

4) GitHub

  • 用途:检索 PoC、漏洞复现脚本、检测工具、资产扫描工具。
  • 建议同时查看:
  • README 的适用版本说明
  • Issues 里的已知问题
  • 最近提交时间(判断是否过时)

四、官方文档与技术手册

信息收集不只是“找漏洞”,还包括“理解系统”。

推荐优先查官方文档:

  • Linux 手册(man / GNU docs)
  • Microsoft Learn
  • Apache HTTP Server Docs
  • Node.js 官方文档

常用命令:

1
2
3
man ls
man ip
man grep

价值:

  • 精准理解参数行为
  • 减少误报和误操作
  • 快速验证某个配置是否默认开启

常见平台的官方说明重点:

  • Shodan 官方文档将搜索对象定义为 banner,核心语法是 filter:value
  • Censys 官方文档将查询分成 full-text query 和 field-value query 两类
  • VirusTotal 官方文档将高级检索建立在 search modifiers 之上,常见写法是 entity:domainentity:urlpositives:5+
  • Have I Been Pwned 官方 API 文档说明,按邮箱或域名查询需要授权,适合做受控范围内的暴露核验

补充示例:

1
2
3
4
org:"Example ISP" port:443
host.location.country="US"
entity:domain positives:5+
entity:url p:5+

五、社交媒体与公开信息(OSINT)

可用于目标侧信息拼图:

  • 组织架构、员工身份、技术栈线索
  • 邮箱命名规则、子域命名风格
  • 对外系统入口、活动页面、历史泄漏痕迹

常见来源:

  • GitHub、LinkedIn、X、Facebook、YouTube、B站等

实践建议:

  • 测试用途尽量使用独立邮箱与隔离身份
  • 不要将临时侦察账户绑定个人核心邮箱

六、一套可执行的侦察流程

Step 1: 基础画像

  • 组织名、域名、子域名、IP 段、业务系统入口

Step 2: 页面痕迹与技术指纹

  • 先访问首页与关键入口
  • 查看 robots.txtsitemap.xml
  • 用 Wappalyzer 判断技术栈
  • 用 Wayback Machine 看历史页面和旧路径
  • 用 crt.sh 看证书与子域扩展

Step 3: 公开资产扩展

  • site: + 文件类型语法
  • Shodan/Censys 查暴露服务
  • 证书与历史解析关系扩线

Step 4: 漏洞关联

  • 按服务版本检索 CVE/NVD
  • 检索公开 PoC(Exploit-DB/GitHub/GHDB)

Step 5: 风险验证与记录

  • 验证是否真实可利用
  • 记录证据链(截图/命令/时间线)

七、记录模板(建议直接复用)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
## 目标信息
- 目标域名:
- 目标IP:
- 业务入口:

## 资产发现
- 子域名:
- 开放端口:
- 中间件/版本:

## 漏洞线索
- CVE:
- 影响条件:
- 参考链接:

## 验证过程
- 命令:
- 输出摘要:
- 结论:

八、推荐官方入口


核心思路:先广度摸清资产,再深度验证风险,最后形成可复现的证据链。
这比“只记工具名”更能提升你在 TryHackMe 和实战中的效率。