一句话:OSINT 的本质是"从碎片信息里拼出全貌",而 AI 是最擅长拼图的工具。

一、OSINT 在渗透测试中的位置

OSINT(开源情报)不是"找找资料",而是攻击面发现的前置环节

  • 找到目标暴露的真实资产(域名、IP、云存储)
  • 找到可用于钓鱼/社工的信息(邮箱、组织架构)
  • 找到可用于密码猜解的素材(姓名、生日、部门)
  • 找到泄露的凭据和源码

AI 让这个过程从"人工搜刮"变成"自动拼图"。

二、企业信息聚合

# 输入
目标企业名称:XX 科技有限公司
已知信息:官网 xx.com,注册地大连

# 任务
规划一份完整的 OSINT 收集清单,覆盖以下维度:
1. 企业基础信息(工商、法人、股东)
2. 域名资产(主域、子域、历史域名、证书域名)
3. IP 与网络(C 段、ASN、CDN 背后的源站)
4. 邮箱与人员(员工邮箱格式、高管、技术负责人)
5. 技术栈(框架、中间件、第三方服务)
6. 历史泄露(GitHub、网盘、文库、论坛)
7. 供应链(外包商、技术支持商,可反查同行)

每个维度给出:具体收集方法 + 可用的公开数据源

AI 会输出一份结构化的侦察计划,比手工列提纲快得多,而且它会补充你没想到的维度(比如供应商反查)。

三、员工邮箱格式推断

# 输入
已知员工邮箱样本:
zhangsan@target.com
lisi@target.com
wangwu@target.com

# 任务
1. 推断邮箱命名规则
2. 基于规则,从姓名列表生成候选邮箱
3. 给出验证思路

# 姓名列表
张三, 李四, 王五, 赵六, 欧阳锋, 慕容雪

AI 会推断出 姓名全拼@target.com 规则,并处理复姓(欧阳锋 → ouyangfeng)、生僻字等。

四、GitHub 泄露分析

这是最高价值的 OSINT 环节。

# 输入
目标组织 GitHub 账号下的仓库列表(含描述):
- target-web (公司官网前端)
- target-internal-tools (内部工具)
- test-scripts (测试脚本)
- old-project-2019

# 任务
1. 判断哪些仓库可能含敏感信息
2. 规划代码搜索的关键词(用于找硬编码凭据)
3. 列出需要重点检查的文件类型

关键词清单(AI 生成):

# GitHub 代码搜索关键词
org:target "password"
org:target "api_key" OR "apikey"
org:target "secret"
org:target "token"
org:target "BEGIN RSA PRIVATE KEY"
org:target ".env"
org:target "jdbc:mysql://"
org:target filename:.env
org:target filename:config.properties
org:target "AKIA"          # AWS Access Key
org:target "internal" ext:yml

五、威胁情报的语义分析

拿到一份威胁情报报告(PDF/网页),让 AI 提炼可行动信息:

# 输入
[威胁情报报告全文]

# 任务
提取以下结构化信息:
1. 攻击者画像(APT 组织、别名、归属)
2. TTPs(战术、技术、过程),映射到 MITRE ATT&CK
3. IOCs(IP、域名、哈希、特征)
4. 攻击目标行业
5. 检测建议

# 输出
- 组织:
- ATT&CK 映射表:
- IOC 清单:
- 检测规则建议:

AI 做 ATT&CK 映射非常准,因为它熟悉那套框架的术语体系。

六、IOC 的富化与关联

# 输入
一批 IOC:
- IP: 45.xxx.xxx.xxx, 103.xxx.xxx.xxx
- 域名: evil-cdn.xyz, update-service.top
- 哈希: d41d8cd98f00b204e9800998ecf8427e

# 任务
1. 判断每个 IOC 的类型和可疑程度
2. 对域名,推测可能的用途(C2/钓鱼/下载)
3. 给出富化查询建议(用哪些平台查什么信息)
4. 判断是否存在关联(DGA 特征、同一注册者)

七、社工素材整理

# 输入
收集到的公开信息(分散在多个来源):
- 高管姓名、职务
- 公司组织架构(从官网/年报/招聘)
- 近期新闻(融资、合作、诉讼)
- 员工社交动态

# 任务
1. 整理成组织结构图(部门 + 负责人)
2. 标出"高价值社工目标"(财务、HR、IT 管理员)
3. 基于公开信息,生成可信的钓鱼邮件的"话术切入点"
4. 标注信息来源(可溯源)

# 声明
仅用于授权的安全意识演练,不得用于真实攻击。

八、自动化 OSINT 流水线

def osint_pipeline(company_name: str, domain: str):
    report = {}
    
    # 1. 基础信息
    report["basic"] = llm_extract(web_search(company_name + " 工商信息"))
    
    # 2. 域名资产
    subs = run_subfinder(domain)
    certs = query_crt_sh(domain)          # 证书透明度日志
    report["assets"] = llm_cluster(subs + certs)
    
    # 3. GitHub 泄露
    repos = gh_api_org_repos(company_name)
    leaks = llm_plan_search(repos)
    report["leaks"] = search_github(leaks)
    
    # 4. 邮箱格式
    emails = find_sample_emails(domain)
    report["email_rule"] = llm_infer_rule(emails)
    
    # 5. 汇总
    report["summary"] = llm_summarize(report)
    report["next_steps"] = llm_plan_next(report)
    
    return report

九、证书透明度日志(crt.sh)的 AI 应用

这是资产发现的富矿,但输出又长又乱:

# 输入
从 crt.sh 获取的证书 SAN 字段(节选,共 2400 条):
[贴入]

# 任务
1. 提取所有唯一域名
2. 按子域层级聚类(api.*, admin.*, test.*)
3. 标出明显是内部/测试环境的域名
4. 标出可能是第三方(云服务、CDN)的域名
5. 输出高价值目标清单

十、OSINT 的合规边界

红线 说明
只收集公开信息 不碰需要突破访问控制的系统
不用于社工攻击 仅限授权演练
尊重隐私 个人敏感信息最小化收集
数据安全存储 收集的情报本身要保护
可溯源 每条信息标注来源

十一、小结

OSINT 环节 AI 价值
侦察计划制定 ★★★★★
信息聚合归类 ★★★★★
邮箱/账号规则推断 ★★★★★
GitHub 泄露分析 ★★★★☆
威胁情报提炼 ★★★★★
ATT&CK 映射 ★★★★★
IOC 关联 ★★★★☆
资产聚类 ★★★★☆

OSINT 是 AI 与渗透测试结合最自然、也最容易出成果的场景。 因为它本质是"信息处理",而 AI 就是信息处理器。

下一篇:AI 渗透测试的合规、伦理与风险控制。


系列文章:AI 渗透测试与漏洞挖掘实战