what-an-email-reveals
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseWhat an email reveals
电子邮件能揭示的信息
An email address is usually the highest-value selector in an investigation: it
carries a name, a domain, an account history, and a breach footprint. The
beginner error is trying to prove the address exists. Existence is the least
interesting thing about it, it is the hardest thing to establish passively, and
the techniques that establish it are the ones that expose you. Work the
structure and the footprint first; treat validation as a bonus.
Never send mail to the subject as a research technique.
在调查中,电子邮件地址通常是价值最高的检索项:它包含姓名、域名、账户历史记录和数据泄露痕迹。新手常犯的错误是试图证明地址是否存在。实际上,“存在性”是最无足轻重的信息,也是最难被动验证的,而且验证存在性的技术手段会暴露你的身份。应优先分析地址结构和痕迹,把验证存在性当作额外收获。
切勿将向目标发送邮件作为研究手段。
Step 1 — Authorized scope
步骤1 — 授权范围
Read ../../ETHICS.md. Write down subject, objective,
in-bounds selectors, out-of-bounds actions, and the governing jurisdiction.
Decide in advance whether interactive probing — SMTP conversations,
password-reset flows, signup-form enumeration — is authorized. It usually is
not. Everything below is passive unless marked otherwise.
Done when scope is written and the interactive-probing decision is recorded.
阅读../../ETHICS.md。写下调查对象、目标、允许检索的内容、禁止执行的操作,以及适用的管辖规则。提前确定是否允许交互式探测——包括SMTP会话、密码重置流程、注册表单枚举——通常是不允许的。除非特别标注,以下所有操作均为被动操作。
完成标志:已记录调查范围,且明确是否允许交互式探测。
Step 2 — Parse and validate
步骤2 — 解析与验证
Three different things get called "email validation". They are not
interchangeable.
| Method | What it proves | Cost |
|---|---|---|
| Syntactic | The string could be an address | Free, passive, proves nothing about the mailbox |
| Domain / MX | The domain exists and accepts mail | Free, passive, |
SMTP | The server claims the mailbox exists | Interactive, often blocked or lied to, and logged |
Do the first two. The third — opening an SMTP session and issuing to
see whether the server accepts the recipient — is a live conversation with the
subject's mail infrastructure from your IP. It gets logged, it gets your address
range blocklisted, and against a catch-all domain it is worthless: a
catch-all accepts every recipient, so every address "exists". Greylisting,
tarpitting, and accept-then-bounce policies produce the same useless answer.
Third-party validation APIs mostly wrap the same probe; the exposure moves to
the vendor, the accuracy limits do not change.
RCPT TOThen parse the local part. , , , each imply
a name and, on a corporate domain, a company-wide convention — see
reference/corporate-formats.md.
first.lastflastfirstlf.lastGmail normalisation matters. Gmail ignores dots in the local part and
everything after a . , and
are one mailbox. Consequences: addresses that look different
in two breaches may be the same person, and a frequently names the
service the address was given to, which is free intelligence about where the
subject holds accounts. Not every provider behaves this way — check before
assuming.
+j.doe+news@gmail.comjdoe@gmail.comjd.oe@gmail.com+tagDone when the address is graded valid / invalid / unknown, the normalised
form is recorded, and the name hypothesis is written down.
有三种不同的“邮件验证”方式,它们不能互相替代。
| 方法 | 验证内容 | 成本/风险 |
|---|---|---|
| 语法验证 | 字符串格式符合邮箱地址规范 | 免费、被动,无法证明邮箱是否真实存在 |
| 域名/MX验证 | 域名存在且可接收邮件 | 免费、被动,可通过 |
SMTP | 邮件服务器声称该邮箱存在 | 交互式操作,常被拦截或返回虚假结果,且会被记录日志 |
仅执行前两种验证。第三种——建立SMTP会话并发送指令以确认服务器是否接收该收件人——是从你的IP与目标邮件基础设施进行实时交互,会被记录日志,可能导致你的IP段被列入黑名单,而且对于全域收件域名完全无效:这类域名会接收所有收件地址,因此所有地址都会“存在”。灰名单、延迟响应策略以及“先接收后退回”的规则也会产生无效结果。第三方验证API大多基于同样的探测逻辑,只是将暴露风险转移给供应商,但准确性并无提升。
RCPT TO接着解析本地部分。、、、等格式都隐含着姓名信息,对于企业域名而言,还能体现全公司统一的命名规则——详见reference/corporate-formats.md。
first.lastflastfirstlf.lastGmail标准化规则很重要。Gmail会忽略本地部分中的点号,以及之后的所有内容。、和对应同一个邮箱。这意味着:在两次数据泄露中看似不同的地址可能属于同一个人;通常会标注该地址注册的服务,这能免费获取目标的账户分布信息。并非所有服务商都遵循此规则——请勿随意假设。
+j.doe+news@gmail.comjdoe@gmail.comjd.oe@gmail.com+tag完成标志:已判定地址有效/无效/未知,记录标准化格式,并写下姓名假设。
Step 3 — Gravatar
步骤3 — Gravatar查询
Gravatar maps an address to a public avatar by MD5 hash of the lowercased,
trimmed address. Compute the hash and request the avatar; a returned image
means the address was registered with the service, and the associated public
profile can carry a display name, a location, links to other accounts, and
verified accounts on other platforms.
bash
printf '%s' "jdoe@example.com" | tr 'A-Z' 'a-z' | md5sumFree, passive, no key. Run the avatar through . Treat a
default fallback image as "no Gravatar", not as "address invalid".
find-the-original-imageDone when Gravatar presence is checked and any profile fields captured.
Gravatar通过邮箱地址的小写、去空格后的MD5哈希值,将地址映射到公开头像。计算哈希值并请求头像;若返回图片,则说明该地址已在该服务注册,关联的公开资料可能包含显示名、位置、其他账户链接以及其他平台的已验证账户信息。
bash
printf '%s' "jdoe@example.com" | tr 'A-Z' 'a-z' | md5sum免费、被动,无需密钥。可通过工具分析头像。默认占位图应视为“无Gravatar记录”,而非“地址无效”。
find-the-original-image完成标志:已检查Gravatar记录,并捕获所有可用的资料字段。
Step 4 — Where is this address registered
步骤4 — 该地址注册了哪些服务
The honest position: reliable account enumeration by email is an oracle
problem. Password-reset and signup forms disclose whether an address is
registered, which is exactly why tools exist to automate them — and exactly why
doing so is interactive, often against terms of service, and potentially
notifying (a reset request can email the subject). Flag it, get it authorized
explicitly, or don't do it.
Passive alternatives that cost you nothing:
- the full address in quotes, and the local part alone. Resumes, conference programmes, mailing-list archives,
google-like-a-spyhistory, and committed config files are full of addresses.WHOIS - Run . Breach membership is the single best answer to "which services did this identity use", and it is retrospective rather than interactive.
what-leaked-about-you - Push the local part into as a username seed.
hunt-a-handle - Search code hosting for the address in commit metadata via
.
secrets-in-git-history
Done when the service list is assembled and each entry is marked passive or
interactive in provenance.
客观事实:通过邮箱可靠枚举账户是一个“预言机”难题。密码重置和注册表单会泄露地址是否已注册,这正是相关自动化工具存在的原因——但此类操作属于交互式操作,通常违反服务条款,还可能通知目标(重置请求会发送邮件给目标)。需标记此类操作、获得明确授权,或直接放弃。
无需成本的被动替代方案:
- 用工具搜索带引号的完整地址,以及单独搜索本地部分。简历、会议议程、邮件列表存档、
google-like-a-spy历史记录和已提交的配置文件中都包含大量邮箱地址。WHOIS - 运行工具。数据泄露记录是回答“该身份使用过哪些服务”的最佳方式,且属于回溯性操作,而非交互式操作。
what-leaked-about-you - 将本地部分作为用户名种子输入工具。
hunt-a-handle - 通过工具在代码托管平台的提交元数据中搜索该地址。
secrets-in-git-history
完成标志:已整理服务列表,并标记每个条目的来源是被动还是交互式操作。
Step 5 — Read the headers, if you have the message
步骤5 — 若持有邮件,分析邮件头
Only applies when you legitimately possess the message. Headers are where an
email stops being a selector and becomes evidence.
Read the chain bottom-up: the bottom-most is the earliest hop,
and the originating host is there unless the sending platform strips it.
Everything below the first server you trust can be forged wholesale.
Received:- — the domain part and the ID's shape often identify the sending platform or mail client even when the visible headers are cosmetic.
Message-ID - — the receiving server's SPF, DKIM, and DMARC verdicts. A DKIM
Authentication-Resultsis the strongest thing in the header block: it is a cryptographic signature over content, so it survives forwarding claims.pass - /
X-Mailer— client fingerprint, frequently left in place by bulk-mail tooling.User-Agent - vs
Return-Path— a mismatch is normal for mailing lists and suspicious in direct correspondence.From
Field-by-field guide:
reference/header-fields.md.
Done when the originating infrastructure is identified or explicitly stated
as unrecoverable.
仅适用于合法持有邮件的情况。邮件头能让邮箱地址从检索项变为证据。
从下往上阅读链:最底部的条目是最早的跳转记录,原始发送主机通常在此处,除非发送平台已将其删除。你信任的第一个服务器以下的所有内容都可能被伪造。
Received:- — 域名部分和ID格式通常能识别发送平台或邮件客户端,即使可见的邮件头经过美化。
Message-ID - — 接收服务器的SPF、DKIM和DMARC验证结果。DKIM验证
Authentication-Results是邮件头中最可靠的信息:它是对内容的加密签名,转发后依然有效。pass - /
X-Mailer— 客户端指纹,批量邮件工具通常会保留该信息。User-Agent - 与
Return-Path— 对于邮件列表而言,两者不匹配是正常的;但对于直接通信而言,不匹配则值得怀疑。From
逐字段指南:reference/header-fields.md。
完成标志:已识别原始发送基础设施,或明确说明无法恢复相关信息。
Where this goes wrong
常见误区
- Catch-all domains defeat verification outright. Everything validates. Detect one by testing an address you invented; if a random string validates, every result from that domain is meaningless.
- Disposable and forwarding services. Throwaway domains mean the address was never meant to persist; relay and alias services (including provider-issued private-relay addresses) mean the visible address is a wrapper around a mailbox you cannot see. Both cap how far the address can take you — recognise them early rather than burning hours.
- Role addresses (,
info@,sales@) belong to functions, not people. Attributing one to an individual is the most common serious error in email OSINT, and it survives into reports because it looks like a finding.admin@ - Inferred addresses are hypotheses. Deriving from a company pattern gives a plausible address, not a real one. Label it inferred, permanently.
j.doe@company.com - Breach data is not proof of current ownership. Addresses get abandoned, recycled by providers, and reassigned to new staff at the same company.
- Forwarding is indistinguishable from forgery at a glance. Mailing lists and security gateways rewrite headers in ways that look like tampering.
- 全域收件域名会直接导致验证失效。所有地址都会显示有效。可通过测试一个你虚构的地址来检测:若随机字符串验证通过,则该域名的所有结果均无意义。
- 一次性邮箱与转发服务。一次性域名意味着该地址从未打算长期使用;中继和别名服务(包括服务商提供的私人中继地址)意味着可见地址只是真实邮箱的包装。这两类情况都会限制地址的调查价值——应尽早识别,避免浪费时间。
- 角色地址(、
info@、sales@)属于职能部门,而非个人。将其归属于某个个人是电子邮件OSINT中最常见的严重错误,且错误结论会因看似合理而出现在报告中。admin@ - 推断出的地址只是假设。根据公司命名规则推导只能得到一个看似合理的地址,而非真实存在的地址。需永久标记为“推断地址”。
j.doe@company.com - 数据泄露记录不能证明当前所有权。地址可能被弃用、被服务商回收,或重新分配给同一家公司的新员工。
- 转发与伪造难以区分。邮件列表和安全网关会重写邮件头,其效果与篡改相似。
Confidence grading
可信度分级
- Confirmed — a DKIM-passing message from the address, or the address published by the subject on a source they control, or an authenticated Gravatar profile matching a separately confirmed identity.
- Probable — MX-valid, appears in a breach alongside a corroborating selector, and the local part matches the subject's name pattern.
- Unconfirmed — inferred from a corporate format, or found in a single aggregator or combolist with no second source.
- Rejected — proven catch-all with no supporting evidence, a known disposable domain with no linked activity, or a role address attributed to an individual on no basis but the domain.
- 已确认 — 来自该地址且DKIM验证通过的邮件,或目标在其可控来源上发布的地址,或与已单独确认身份匹配的已验证Gravatar资料。
- 大概率可信 — MX验证通过,在数据泄露记录中与其他佐证检索项一同出现,且本地部分符合目标的姓名格式。
- 未确认 — 根据企业格式推断得出,或仅在单个聚合器或组合列表中找到,无其他来源佐证。
- 已排除 — 已证实为全域收件域名且无其他佐证,已知为一次性域名且无关联活动,或无依据地将角色地址归属于个人。
Worked example
实操示例
Given . returns records at a hosted
provider — the domain takes mail. Gravatar: no avatar, so no profile pivot.
j.okonkwo@northwind-eng.exampledig MXTwo employee addresses in a conference PDF are and , so
the convention is . That makes
structurally consistent — evidence about the format, not evidence the person
exists. No SMTP probe is run; interactive steps are out of scope here.
t.mwangi@s.aldridge@first-initial.lastnamej.okonkwo@The dead end: returns nothing for the address, which
initially reads as "not a real user". Re-running against the Gmail-normalised
personal address recovered from a code-hosting commit gives three breaches, one
of them a developer forum with the handle . That handle goes to
. The corporate address stays graded inferred; the personal one
is the working selector.
what-leaked-about-yousunfish_adahunt-a-handle给定地址。返回托管服务商的记录——该域名可接收邮件。Gravatar:无头像,无法通过资料跳转。
j.okonkwo@northwind-eng.exampledig MX会议PDF中的两个员工地址为和,因此命名规则为。这说明在结构上符合规则——这是关于格式的证据,而非该人存在的证据。未执行SMTP探测;交互式操作超出本次调查范围。
t.mwangi@s.aldridge@名首字母.姓氏j.okonkwo@僵局:工具对该地址无返回结果,最初会被解读为“非真实用户”。针对从代码托管提交记录中恢复的Gmail标准化个人地址重新运行工具,得到三次数据泄露记录,其中一次来自开发者论坛,对应用户名。将该用户名输入工具。企业地址仍标记为“推断地址”;个人地址作为主要检索项。
what-leaked-about-yousunfish_adahunt-a-handlePivots
跳转检索项
| New selector | Skill |
|---|---|
| Name from local part or Gravatar | |
| Local part as username | |
| Email domain | |
| Employer from a corporate domain | |
| Breach appearances | |
| Address in commits or config | |
| Originating IP from headers | |
| Gravatar or profile avatar | |
| Address posted in dumps or channels | |
| 新检索项 | 技能工具 |
|---|---|
| 从本地部分或Gravatar获取的姓名 | |
| 本地部分作为用户名 | |
| 邮箱域名 | |
| 从企业域名获取的雇主信息 | |
| 数据泄露记录 | |
| 提交记录或配置中的地址 | |
| 邮件头中的原始IP | |
| Gravatar或资料头像 | |
| 转储或渠道中发布的地址 | |
Legal and ToS notes
法律与服务条款说明
SMTP probing and password-reset enumeration are interactive, commonly prohibited
by terms of service, and in some jurisdictions arguably unauthorized
interrogation of a system. Get them in writing before you use them. Under GDPR
and UK data protection law an email address is personal data on its own —
collect only what the objective needs, store it encrypted, and set a deletion
date with the case file. Message content you possess may carry separate
confidentiality or privilege obligations independent of the OSINT question.
SMTP探测和密码重置枚举属于交互式操作,通常违反服务条款,在某些司法管辖区可能被视为未经授权的系统探测。使用前需获得书面授权。根据GDPR和英国数据保护法,电子邮件地址本身属于个人数据——仅收集目标所需的信息,加密存储,并随案件文件设置删除日期。你持有的邮件内容可能带有独立于OSINT问题的保密或特权义务。
Step 6 — Report
步骤6 — 撰写报告
Run . State validity and how it was established, whether
the domain is catch-all, the service list with passive/interactive provenance,
breach exposure, and the identity attribution with its confidence grade.
write-the-intel-briefDone when every address is marked observed or inferred, and no inferred
address is stated as fact.
运行工具。说明地址有效性及验证方式、域名是否为全域收件域名、带有被动/交互式来源标记的服务列表、数据泄露情况,以及带有可信度分级的身份归属信息。
write-the-intel-brief完成标志:所有地址均标记为“已观测”或“推断”,且无推断地址被表述为事实。