mcpField
W
what-leaked-about-you

what-leaked-about-you

github.com/useosint安全5757.8k 次安装12 周前更新
代码仓库

关于 what-leaked-about-you

面向调查人员和数据主体的泄露数据分析技能,帮助识别某个身份曾关联的服务及可用于关联分析的记录字段。它强调来源核验、数据最小化,并明确禁止使用泄露凭据登录或尝试密码。

主要功能

  1. 01按邮箱查找关联服务
  2. 02利用用户名、电话、IP 等字段 pivot
  3. 03评估泄露来源与记录可信度
  4. 04通过范围 API 自查密码是否泄露
  5. 05提供安全的数据处理指引

适用场景

  1. 01为个人整理泄露服务和账户清单
  2. 02从记录中的用户名寻找其他公开账户
  3. 03在不提交密码的情况下进行自查

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/useosint/skills --skill what-leaked-about-you

安装后在 Claude Code 中输入/what-leaked-about-you确认已加载。

附带文件reference/record-fields.mdreference/source-catalogue.md

详细介绍

关于你泄露的信息

泄露数据能回答一个其他方法都无法以低成本回答的问题:这个身份实际使用过哪些服务。对调查人员来说,这份服务列表几乎总是比记录中的凭据更有价值——而凭据是你绝不能碰的部分。无论泄露数据有多公开,使用泄露的密码都属于未经授权的访问。

一条记录实际包含什么,以及哪些信息重要

一条泄露记录是某个服务用户表中的一行。常见字段包括:电子邮件、用户名、密码哈希(或糟糕情况下的明文密码)、注册日期、上次登录时间、注册时的 IP 地址、显示名称、出生日期、实际地址、安全问题,以及该服务收集的其他信息。

元数据每次都比凭据更有价值:

字段重要原因
服务名称成员关系本身。此人曾在这里有账户——这是你几乎无法通过其他方式证实的事实
注册日期为身份标注时间。多个服务的注册时间聚集可用于关联账户
记录中的用户名你之前没有的用户名。可直接用于 hunt-a-handle
注册或上次登录时的 IP粗略地理位置;更有用的是判断属于托管服务还是住宅网络
显示名称、出生日期、地址可在其他来源中交叉核实的身份属性。绝不要视为权威信息
密码模式分析上的关联证据。绝不能输入登录表单

逐字段解读: reference/record-fields.md。

选择数据源

已有信息选择原因
有电子邮件,需要服务列表Have I Been Pwned经过筛选和去重,会标明泄露事件及其数据类别。不返回凭据
已掌握的密码(你自己的,或属于授权范围内的密码)HIBP Pwned Passwords 范围 API告诉你密码是否已流通,而不会泄露密码本身
需要实际字段值,或要按用户名、电话、IP 或姓名搜索需密钥的商业服务唯一能深入记录进行检索的方法,而不仅仅是检测账户是否出现
当前正在流传的特定数据转储find-leaks-in-the-wild在粘贴站、论坛和频道中查找,趁它们还未被索引

Have I Been Pwned 是默认的起点。它经过筛选:泄露事件在加载前会经过验证,数据类别也有标注,因此命中结果具有实际意义。可通过网页免费查询电子邮件;API 需要密钥,并支持程序化查询和域范围检查。它有意不向你提供密码。

Pwned Passwords 的设计理念值得深入了解。你在本地对密码计算 SHA-1 哈希,只将哈希的前五个十六进制字符发送到范围端点,然后接收所有具有相同前缀的哈希后缀及其出现次数。你在本地进行匹配。该服务永远不会得知你查询的是哪个密码。因此,它适合用于你合法持有的凭据,也是自我审计或客户整改工作的正确工具。

需密钥的商业服务——常用的有 DeHashed、IntelX 和 Snusbase。它们的差异包括:

  • 支持多种选择器类型进行记录级搜索,并返回实际字段值。这是用于深入检索的引擎:可按用户名、电话、IP 和姓名搜索,而不仅限于电子邮件。
  • 数据集的广度与筛选程度。更广的数据集会纳入更多账号密码组合列表,因此无关数据也更多;经过筛选的数据集则可能遗漏信息。要了解你所用的数据源更偏向哪一侧。
  • 有些服务会索引文档、粘贴内容、暗网页面和泄露文件,而不是解析用户表——它们更像是针对泄露资料的搜索引擎,而非泄露数据库。

访问方式与覆盖范围对比: reference/source-catalogue.md。

没有例外的规则

绝不使用泄露的凭据进行任何身份验证。 不要用它来“确认账户是否存在”。不要用于测试账户。不要在客户口头许可下登录当事人的账户。在大多数司法管辖区,根据计算机滥用相关法律,凭据填充属于未经授权的访问;密码公开可用并不能成为抗辩理由——请参阅 ../../ETHICS.md。

同样的原则也适用于由此衍生的操作:不要尝试重置密码,不要使用找回的安全问题答案,也不要在其他服务上尝试找回的密码来测试是否重复使用。重复使用只能根据你已掌握的数据进行推断,绝不能通过测试来验证。

真正的切入点:服务枚举

将泄露名单当作账户地图来分析。同一个电子邮件地址出现在游戏论坛、健身应用和区域性约会服务中,便能告诉你有三个平台值得调查、三次注册日期,通常还有三个用户名——每个用户名都可以作为 hunt-a-handle 的种子。这些服务本身也能勾勒出当事人的特征:职业、地域、语言和兴趣信号,而这些信息都无法从个人资料页中获知。

妥善处理时,密码模式可以作为关联证据。如果两条属于不同身份的记录使用了相同的独特密码——一串很长、非字典词汇且明显带有个人特征的字符串——这便是有意义的相关性。你应将其记录为分析观察结果,并在笔记中对字符串本身进行脱敏或哈希处理。常见密码(password1、键盘顺序输入的字符串、足球队名称)毫无关联价值;有成千上万人都在使用。独特性才是全部信号,证据在于巧合,而不在于凭据本身。

哈希不在范围内

记录通常包含哈希:旧数据泄露中的 MD5 或未加盐的 SHA-1,较新数据泄露中的加盐方案和专用密码哈希。你偶尔会看到服务以明文存储的密码,也会看到有人错误地选择了可逆加密。

记下哈希类型——它能表明数据泄露发生的时间,并反映服务的安全状况,这在尽职调查中确实有用。然后就此打住。破解哈希会得到你无权使用的凭据,因此这项工作不会产生任何合法成果。例外情况是自我审计或经授权的安全评估,且密码持有者是你的客户;即便如此,范围 API 也能在不破解任何内容的情况下回答问题。

容易出错的地方

  • 组合清单污染。 流传的大多数大型“泄露数据”其实都是组合清单:汇总多个来源的凭据,去重、重新混排,并剥离来源信息。组合清单中的一条命中只能说明某个账号和密码组合曾出现在某处,却无法说明它来自哪项服务。这会摧毁服务枚举的价值,而这正是原本的目的。
  • 重复包装和伪造的泄露数据。 旧数据会被重新包装,冠以新名称并作为新数据出售。有些“泄露数据”完全是编造的,或者只是公开个人资料的抓取数据,却被宣传成黑客攻击的结果。请核实所称来源是否曾承认发生过安全事件,并检查记录结构是否符合该服务可能存储的数据。
  • 泄露日期不等于数据外流日期。 有三个不同的日期很重要:数据被窃取的时间、首次开始流传的时间,以及你的数据源收录该数据的时间。这些时间可能相隔数年。“出现在日期为 X 的泄露数据中”只能说明该账号在 X 之前已存在,不能证明它当时仍在使用。
  • 未出现不代表什么。 某人未出现在任何数据集中,可能是其使用的服务未发生数据泄露,也可能是泄露从未公开,或你的数据源未收录相关数据。
  • 混淆抓取数据与泄露数据。 通过抓取公开个人资料汇编的数据并不能证明发生了安全入侵,将其报告为泄露数据属于事实错误,会损害报告的可信度。
  • 归属信息过时。 电子邮件地址和电话号码可能被弃用并重新分配。十年前的记录可能描述的完全是另一个人。
  • 供应商数据重叠被误当作相互佐证。 两家商业服务给出相同结果,往往只是因为它们收录了同一份数据转储。

置信度分级

  • 已确认 — 记录出现在经过核实并标明泄露来源的精选数据源中,字段结构符合所述服务的情况,且记录中的第二个标识符提供了独立佐证。
  • 很可能 — 记录来自信誉良好的商业数据集,明确归属于某项服务,且字段内容前后一致。
  • 未确认 — 命中来自组合清单、未注明来源的数据转储,或只是没有其他标识符佐证的单条记录。报告命中情况,并明确说明来源未注明。
  • 已排除 — 所述来源没有可信的安全事件记录,字段与该服务收集的数据不符,或数据其实是被重新标注为泄露数据的公开抓取内容。

应评定的是泄露事件,而不只是记录本身。来源标注明确的泄露事件会让其中每条记录都更可信;匿名汇编则会让每条记录都更不可信。

示例

使用 [email protected] 为客户端进行自查。HIBP 返回四起泄露事件。其中一起是数年前某大型论坛的数据泄露,列出的数据类型包括电子邮件地址、用户名、IP 地址和密码哈希。

该次泄露中的用户名是 merce_ada,客户端已不记得自己曾使用过它。将此用户名交给 hunt-a-handle 查询后,发现了两个客户端不知道仍处于公开状态的账号——这是本次工作的最有价值成果,与凭据毫无关系。

无果的线索:某商业数据源返回了第五起“泄露事件”,归因于一家零售商,其中包含家庭住址。该零售商从未披露过安全事件,字段布局也不像零售订单表,而且同一地址还出现在两条数据经纪商记录中。经评估,这是被重新标注为泄露数据的抓取聚合数据。报告中将其排除,并记录了判断依据。

补救措施:通过 Pwned Passwords 范围 API 检查客户端仍在使用的密码,因此没有密码离开本机。任何记录中的凭据都不会被用于任何地方。

关联方向

新线索技能
从记录中恢复出的用户名hunt-a-handle
其他电子邮件地址what-an-email-reveals
记录中的电话号码whose-number-is-this
注册 IPfind-exposed-servers
姓名、出生日期、地址字段find-anyone、dig-through-data-brokers
多条记录中出现的企业域名x-ray-a-company
正在流传的泄露数据本身find-leaks-in-the-wild
作为实体关系图的服务列表graph-the-network

法律与处理注意事项

持有泄露数据受到法规约束,且限制比大多数 OSINT 资料更严格。 根据 GDPR 和英国数据保护法,泄露记录属于个人数据——通常还属于特殊类别数据——处理此类数据需要合法依据、明确的保留期限,并且必须能够证明已尽量减少数据收集。某些司法管辖区将持有特定被盗数据本身视为犯罪,不论数据是如何取得的。若干商业服务的许可限制了数据的特定用途;将结果写入客户报告之前,请先阅读条款。

实际操作中:仅提取实现目标所需的最少字段,完全不要保留凭据,将案件材料加密后存储,并记录访问情况;按照事先制定的计划删除材料。如果你是为数据主体处理其本人的数据,这是目前最稳妥的法律依据——也是唯一适合测试密码的依据。

评论

支持 Markdown