目录
[1. theHarvester - 多维度信息聚合引擎](#1. theHarvester - 多维度信息聚合引擎)
[2. Shodan - 物联网设备的"X光机"](#2. Shodan - 物联网设备的“X光机”)
[3. DNS记录类型全解析](#3. DNS记录类型全解析)
[1. 域名信息收集实战](#1. 域名信息收集实战)
[2. DNS记录深度查询](#2. DNS记录深度查询)
[3. Shodan物联网设备搜索](#3. Shodan物联网设备搜索)
[1. 标准化流程图(带案例)](#1. 标准化流程图(带案例))
[2. 进阶技巧与工具链整合](#2. 进阶技巧与工具链整合)
一、理论学习:OSINT框架与核心原理
1. theHarvester - 多维度信息聚合引擎
-
工作原理:
- 模拟浏览器行为,向搜索引擎/社交平台发送查询请求。
- 解析返回的HTML/JSON数据,提取域名、邮箱、子域名等信息。
-
数据源详解:
数据源 参数 特点 Google -b google需处理反爬机制,结果质量高 Bing -b bing对爬虫较友好,适合快速抓取 LinkedIn -b linkedin可获取员工姓名/职位,需登录 DNSdumpster -b dnsdumpster专注DNS记录分析 -
高级技巧:
bash|------------------------------------------------------------|
|theHarvester -d example.com -b all --limit 1000 # 限制抓取数量|
|theHarvester -d example.com -b baidu -l 500 # 指定百度并限制深度|
注:-d指定域名,-b选择数据源(all为全量)
2. Shodan - 物联网设备的"X光机"
- 核心功能:
- 扫描全球45亿+联网设备,支持按IP范围、地理位置、端口、服务 banner 过滤。
- 数据价值:
- 发现未授权访问的摄像头,路由器,工业控制系统(如
"default password"过滤)。 - 识别工业控制系统(如
"Siemens S7"协议,未打补丁的Apache 2.4.49)。
- 发现未授权访问的摄像头,路由器,工业控制系统(如
- API密钥管理:
- 注册后获取密钥,通过
~/.shodanrc配置文件管理。 - 免费版每月100次搜索限制,企业版支持批量导出。
- 注册后获取密钥,通过
3. DNS记录类型全解析
记录类型 示例 典型用途 MX dig example.com MX邮件服务器路由(如 mx1.example.com)TXT dig example.com TXTSPF/DKIM验证、域名所有权声明 NS dig example.com NS域名授权DNS服务器
记录类型 协议层 示例命令 安全风险点 A IPv4 dig A example.com暴露Web服务器真实IP AAAA IPv6 dig AAAA example.com下一代网络攻击面 CNAME 别名 dig CNAME sub.example.comCDN回源IP泄露 PTR 反向解析 dig -x 1.2.3.4邮件反垃圾过滤 SOA 权威记录 dig SOA example.com域名管理联系方式
二、实操演练:从命令行到实战分析
1. 域名信息收集实战
bash
|---------------------------------------------------------------------------|
|# 使用theHarvester进行深度抓取|
|theHarvester -d example.com -b all --source all -f example_results.html|
| # 使用theHarvester全量抓取example.com信息 |
| theHarvester -d example.com -b all |
- 输出解读:
emails字段:关注admin@、support@等关键账号。hosts字段:验证子域名真实性(如test.example.com是否存活)。vulnerabilities字段:直接关联CVE编号(如 CVE-2021-44228)。
2. DNS记录深度查询
bash
|--------------------------------------------------------------------------|
| # 查询MX记录(邮件服务器),MX记录优先级(数值越小优先级越高) |
| dig example.com MX +short # 输出示例:10 mail.example.com. |
| |
| # 查询TXT记录(SPF策略),TXT记录中的SPF/DMARC策略可能暴露邮件服务商 |
| dig example.com TXT +short # 输出示例:"v=spf1 include:spf.example.com ~all" |
| |
|# 查询所有记录类型(A/MX/TXT/NS/SOA)|
|dig example.com ANY +noall +answer|
| |
|# 批量查询子域名记录|
|for subdomain in $(cat subdomains.txt); do|
|dig $subdomain.example.com A +short|
|done|
- 高级技巧:
-
使用
dnsrecon工具自动化:bash|----------------------------------------------|
|dnsrecon -d example.com -t axfr # 尝试区域传输漏洞|
-
3. Shodan物联网设备搜索
bash
|--------------------------------------------------------------------------|
|# 搜索中国地区运行Apache的设备|
|shodan search "apache country:CN" --key YOUR_API_KEY|
| |
|# 导出结果为CSV|
|shodan download apache_results.json.gz "apache port:8080"|
|shodan parse --fields ip_str,port,org,hostnames apache_results.json.gz|
- 过滤语法:
- 按端口过滤:
port:8080 - 按国家过滤:
country:CN - 按版本过滤:
apache:2.4.49 product:"Apache HTTPD":精确匹配服务名称。os:"Ubuntu":过滤操作系统。after:"2024-01-01":按上线时间筛选。
- 按端口过滤:
三、复习巩固:信息收集流程与案例
1. 标准化流程图(带案例)
|-------------------------------------|
|graph TD|
|A[目标: example.com] --> B(子域名枚举)|
|B --> C{发现dev.example.com?}|
|C -->|是| D[端口扫描(Nmap -p 1-65535)]|
|C -->|否| E[扩大搜索范围至历史DNS记录]|
|D --> F[服务识别(Nmap -sV -sC)]|
|F --> G[漏洞关联(CVE-2023-XXXX)]|
|G --> H[生成攻击面地图]|
- 案例解析:
- 子域名枚举 :通过
theHarvester发现dev.example.com。 - 端口扫描 :
nmap发现开放8080端口(可能为管理后台)。 - 服务识别:确认运行Apache Tomcat 8.5(存在CVE-2020-1938漏洞)。
- 子域名枚举 :通过
2. 进阶技巧与工具链整合
被动侦察:
使用
CertSpotter监控证书透明日志:
bash|---|-------------------------------------------------------|
| |certspotter -d example.com --search "*.example.com"|分析
Wayback Machine历史快照:
bash|---|------------------------------------------|
| |waybackurls example.com | grep "\.php"|自动化工具链:
bash|---|------------------------------------------------------|
| |# 使用ReconDog进行一站式收集|
| |python3 recondog.py -d example.com -t all|
| | |
| |# 整合子域名枚举+漏洞检测|
| |cat subdomains.txt | nuclei -t cves/ -stats -c 100|
四、防御视角:如何应对信息收集
- DNS隐私保护:
- 启用DNS-over-TLS(DoT)或DNS-over-HTTPS(DoH)。
- 限制DNS区域传输(禁用
axfr权限)。
- Shodan防护:
- 修改默认端口(如将SSH从22改为非标准端口)。
- 部署防火墙规则(如
ufw限制访问IP)。
- 邮箱安全:
- 使用
SPF/DKIM/DMARC防止邮件伪造。 - 避免在公开渠道暴露
admin@等敏感邮箱。
- 使用