关于 what-an-email-reveals
面向安全调查的电子邮件 OSINT 技能,涵盖地址解析、公开资料与泄露数据检索,以及邮件头分析。它强调授权、置信度分级,并避免可能暴露调查者的交互式探测。
主要功能
- 01被动检查地址和域名
- 02解析本地部分并规范化 Gmail 地址
- 03检查 Gravatar 资料
- 04从泄露数据和公开来源扩展调查
- 05分析邮件头
- 06置信度分级与报告
适用场景
- 01不探测邮箱,评估企业邮箱格式
- 02通过被动来源查找地址关联的服务
- 03分析合法取得的邮件及其发送基础设施
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ useosint/ skills --skill what-an-email-reveals安装后在 Claude Code 中输入/what-an-email-reveals确认已加载。
附带文件reference/corporate-formats.mdreference/header-fields.md
详细介绍
邮箱透露的信息
在调查中,邮箱地址通常是价值最高的筛选条件:它包含姓名、域名、账户历史和泄露记录。新手常犯的错误是试图证明该地址存在。地址是否存在是最无关紧要的信息,也是最难通过被动方式确认的;能确认这一点的技术还会暴露你。先调查结构和泄露记录;把验证当作额外收获。
切勿将邮件发送给调查对象作为研究手段。
步骤 1 — 授权范围
阅读 ../../ETHICS.md。写下调查对象、目标、范围内的筛选条件、范围外的操作,以及适用的司法管辖区。提前决定是否获准进行交互式探测——SMTP 会话、密码重置流程、注册表单枚举。这类操作通常未经授权。以下内容除非另有标注,均为被动操作。
完成标准:已写明范围,并记录是否允许交互式探测。
步骤 2 — 解析和验证
有三种不同的操作都被称为“邮箱验证”,但它们不能互换。
| 方法 | 能证明什么 | 成本 |
|---|---|---|
| 语法验证 | 字符串格式上可能是一个地址 | 免费、被动,但无法证明邮箱存在 |
| 域名 / MX | 域名存在且接受邮件 | 免费、被动,使用 dig MX example.com |
SMTP RCPT TO 探测 | 服务器声称邮箱存在 | 交互式,通常会被拦截或返回虚假结果,并留下日志 |
进行前两项。第三项——打开 SMTP 会话并发出 RCPT TO,查看服务器是否接受收件人——是从你的 IP 地址与调查对象的邮件基础设施进行实时对话。这会留下日志,你的地址段可能会被列入黑名单;而且对于全收件人域名,这种方法毫无用处:全收件人域名会接受所有收件人,因此每个地址都“存在”。灰名单、延迟响应和接受后退信策略也会产生同样无用的结果。第三方验证 API 大多也只是封装了同样的探测;风险转移到了供应商,但准确性并没有改善。
然后解析本地部分。first.last、flast、firstl、f.last 各自暗示一种姓名格式;在企业域名上,还暗示了公司统一的命名惯例——请参阅 reference/corporate-formats.md。
Gmail 规范化很重要。 Gmail 会忽略本地部分中的句点,以及 + 之后的所有内容。[email protected]、[email protected] 和 [email protected] 是同一个邮箱。其影响是:两个泄露事件中看似不同的地址可能属于同一个人;而 +tag 通常会标明该地址用于哪个服务,这是了解调查对象在哪些平台持有账户的免费情报。并非所有服务商都遵循这种规则——请先确认,再作假设。
完成标准:已将地址判定为有效 / 无效 / 未知,记录规范化后的形式,并写下姓名假设。
步骤 3 — Gravatar
Gravatar 会根据去除首尾空格并转换为小写的邮箱地址计算 MD5 哈希,将地址映射到公开头像。计算哈希并请求头像;如果返回了图像,说明该地址曾在此服务注册。关联的公开个人资料可能包含显示名称、位置、其他账户链接,以及在其他平台上经过验证的账户。
printf '%s' "[email protected]" | tr 'A-Z' 'a-z' | md5sum
免费、被动、无需密钥。使用 find-the-original-image 检查头像。默认占位图应视为“没有 Gravatar”,而不是“地址无效”。
完成标准:已检查 Gravatar 是否存在,并记录任何个人资料字段。
步骤 4 — 此地址注册在哪些服务
坦诚地说:通过电子邮件可靠地枚举账户是一个预言机问题。密码重置和注册表单会泄露某个地址是否已注册,这正是自动化工具存在的原因——也正因如此,这种做法需要交互操作,往往违反服务条款,还可能通知当事人(重置请求可能会向当事人发送电子邮件)。请标明此操作,明确获得授权,或者不要进行。
无需付出任何代价的被动替代方案:
- 用
google-like-a-spy搜索完整地址(加引号),再单独搜索本地部分。简历、会议日程、邮件列表存档、WHOIS历史记录和已提交的配置文件中,都充斥着电子邮件地址。 - 运行
what-leaked-about-you。是否出现在数据泄露记录中,是回答“该身份使用过哪些服务”的最佳依据,而且这是回溯性查询,不涉及交互操作。 - 将本地部分作为用户名线索输入
hunt-a-handle。 - 通过
secrets-in-git-history在代码托管平台上搜索提交元数据中的地址。
完成标准:已整理出服务列表,并在来源记录中将每一项标记为被动或交互式。
步骤 5 — 如果你持有邮件,请阅读邮件头
仅适用于你合法持有该邮件的情况。邮件头能让电子邮件从线索变成证据。
按从下往上的顺序阅读 Received: 链:最底部是最早的一跳,源主机通常也在那里,除非发送平台将其剥除。你信任的第一台服务器以下的所有内容都可以被伪造。
Message-ID— 即使可见的邮件头只是表面信息,域名部分和 ID 的格式通常也能识别发送平台或邮件客户端。Authentication-Results— 接收服务器对 SPF、DKIM 和 DMARC 的判定结果。DKIM 的pass是邮件头中最有力的依据:它是对内容进行的加密签名,因此即使邮件经过转发,该签名仍然有效。X-Mailer/User-Agent— 客户端指纹,群发邮件工具通常会保留这些信息。Return-Path与From— 两者不一致在邮件列表中很常见,在直接通信中则值得怀疑。
逐字段指南: reference/header-fields.md。
完成标准:已识别源基础设施,或明确说明无法恢复。
可能出错的情况
- 全收域名会让验证彻底失效。 所有地址都会验证通过。可通过测试一个自拟地址来识别:如果随机字符串也能验证通过,那么该域名下的所有结果都没有意义。
- 一次性邮箱和转发服务。 临时域名意味着该地址从一开始就无意长期使用;中继和别名服务(包括服务提供商签发的私密中继地址)则意味着可见地址只是一个指向你无法查看的邮箱的包装。这两种情况都会限制你能从地址中获取的信息——应尽早识别,以免浪费数小时。
- 角色邮箱(
info@、sales@、admin@)属于职能,而非个人。将其归属到某个人,是电子邮件 OSINT 中最常见的严重错误;而且由于看起来像一项发现,这种错误还会出现在报告中。 - 推断出的地址只是推测。 根据公司惯例推导出
[email protected],只能得到一个看似合理的地址,并不能证明它真实存在。必须始终将其标记为推断结果。 - 泄露数据不能证明当前所有权。 地址可能被弃用、由服务提供商回收,或重新分配给同一公司的新员工。
- 转发乍看与伪造无法区分。 邮件列表和安全网关会以看似篡改的方式重写邮件头。
置信度分级
- 已确认 — 来自该地址且 DKIM 验证通过的邮件、主体在其控制的来源上公布的地址,或与另行确认的身份相匹配的已认证 Gravatar 个人资料。
- 较可能 — MX 有效,在某次数据泄露中出现且有相互印证的选择器,本地部分符合主体的姓名模式。
- 未确认 — 根据企业邮箱格式推断,或仅在一个聚合站点或组合列表中找到,且没有第二个来源。
- 已排除 — 已证实是无支持证据的全收件域、已知且没有关联活动的一次性邮箱域,或仅凭域名就将角色地址归属于某个人。
示例
给定 [email protected]。dig MX 返回托管服务商的记录——该域名可接收邮件。Gravatar:没有头像,因此没有可进一步追查的个人资料。
一份会议 PDF 中有两名员工的地址:t.mwangi@ 和 s.aldridge@,因此其命名惯例是“名字首字母.姓氏”。这说明 j.okonkwo@ 在结构上符合惯例——这是关于格式的证据,而不是此人确实存在的证据。没有进行 SMTP 探测;交互式步骤不在此处的范围内。
死胡同:what-leaked-about-you 没有返回该地址的任何结果,起初看起来像是“并非真实用户”。重新查询从代码托管提交中找回的、经过 Gmail 规范化处理的个人地址后,发现了 3 次数据泄露,其中一次来自开发者论坛,用户名为 sunfish_ada。该用户名可用于 hunt-a-handle。企业邮箱地址仍标记为推断所得;个人邮箱地址则是当前使用的选择器。
追查路径
| 新选择器 | 技能 |
|---|---|
| 从本地部分或 Gravatar 获取的姓名 | find-anyone |
| 将本地部分作为用户名 | hunt-a-handle |
| 邮箱域名 | who-owns-this-domain、recon-a-domain-passively |
| 从企业域名推断雇主 | x-ray-a-company |
| 数据泄露记录 | what-leaked-about-you |
| 提交或配置中的地址 | secrets-in-git-history |
| 从邮件头获取的源 IP | find-exposed-servers |
| Gravatar 或个人资料头像 | find-the-original-image |
| 在转储文件或频道中发布的地址 | find-leaks-in-the-wild |
法律与服务条款说明
SMTP 探测和密码重置枚举属于交互式操作,通常违反服务条款;在某些司法管辖区,还可能被视为未经授权地探查系统。使用前请取得书面许可。根据 GDPR 和英国数据保护法,电子邮件地址本身就是个人数据——只收集目标所需的信息,进行加密存储,并在案件文件中设定删除日期。你持有的邮件内容可能受保密或特权义务约束,这些义务独立于 OSINT 调查问题。
第 6 步 — 报告
运行 write-the-intel-brief。说明地址的有效性及其判定依据、域名是否为全收件域、服务列表及其被动/交互式来源、数据泄露暴露情况,以及身份归属和对应的置信度等级。
完成标准:每个地址都标记为观测所得或推断所得,且没有将任何推断所得的地址表述为事实。