奇技淫巧 | 通过证书透明度发现域名的关联性

admin 2023年3月13日08:21:43评论18 views字数 2796阅读9分19秒阅读模式
奇技淫巧 | 通过证书透明度发现域名的关联性

开卷有益 · 不求甚解

奇技淫巧 | 通过证书透明度发现域名的关联性

前言

奇技淫巧 | 通过证书透明度发现域名的关联性

许多现代网站采用自动颁发和更新 TLS 证书。对于企业,有 DigiCert 服务。对于其他所有人,有免费服务,例如 Let's EncryptZeroSSL

可能设置 TLS 证书部署的方式存在缺陷。它允许任何人发现同一服务器使用的所有域名。有时,即使那里没有 HTTPS!

在本文中,我将介绍一种用于发现域名的新技术。之后,我将展示如何在威胁情报、渗透测试和漏洞赏金中使用它。

快速概览

证书透明度 (CT)是一种 Internet 安全标准,用于监控和审核 TLS 证书的颁发。它创建了一个公共日志系统,旨在记录由公共信任的证书颁发机构 (CA) 颁发的所有证书。

通过 CT 日志搜索,通常使用Crt.sh或Censys服务。Censys 还将扫描结果中的证书添加到数据库中。

众所周知,通过查看 CT 日志,可以发现模糊的子域或发现具有可用 CMS 安装脚本的全新域。

还有更多。有时会在服务器上设置以下或等效配置:

# /etc/crontab
37 13 */10 * * certbot renew --post-hook "systemctl reload nginx"

此配置意味着同时更新所有主机域的证书。因此,通过对证书透明度的定时攻击,我们可以发现所有这些域!

让我们看看如何在实践中应用它!

真实案例场景

一个月前,我尝试下载 dnSpy,发现了一个恶意 dnSpy 网站。我发送了几份滥用报告,并在短短 2 小时内将其屏蔽:

奇技淫巧 | 通过证书透明度发现域名的关联性

我发现了很多关于在线创建这个网站的威胁者的信息。例如,Bleeping Computer 中有一篇文章和Colin Cowie 的详细研究。

简而言之,一个人或一群人创建模仿合法网站的恶意网站。这些网站分发受感染的软件,包括商业和开源软件。受影响的软件包括但不限于 Burp Suite、Minecraft、Tor Browser、dnSpy、OBS Studio、CPU-Z、Notepad++、MinGW、Cygwin 和 XAMPP。

奇技淫巧 | 通过证书透明度发现域名的关联性
分发 Burp Suite 的那个页面

我不愿意忍受有人特洛伊木马为 OBS Studio 或 MinGW 等开源项目降温的事实,我决定自己动手。

长话短说

我发送了 20 多份滥用报告,并且能够关闭威胁参与者的许多基础设施:

奇技淫巧 | 通过证书透明度发现域名的关联性

对我的推文的回复,说明还做了什么(见 Twitter)

面对这些威胁行为者并不容易。他们使用不同的帐户在不同的注册商处购买域名。接下来,他们为 Cloudflare 上的每个域使用一个单独的帐户,将所有流量代理到目标服务器。最后,他们会在网站上放置恶意内容之前等待一段时间,或者将其隐藏在长 URL 下。

Twitter 上已知一些由威胁参与者控制的域:cpu-z[.]org, gpu-z[.]org, blackhattools[.]net, obsproject[.]app, notepadd[.]net, codenote[.]org, minecraftfree[.]net, minecraft-java[.]com, apachefriends[.]co, ...

问题是如何发现其他域。其他域可能没有任何共同点,每个域都会引用 Cloudflare。

这就是我们对证书透明度的定时攻击发挥作用的地方。

cpu-z[.]net让我们检查一下威胁参与者使用的已知域的证书之一:

奇技淫巧 | 通过证书透明度发现域名的关联性

检查域 cpu-z[.]net 的证书之一(请参阅 censys.io 上的此页面)

此证书的有效期开始字段等于2022-07-23 13:59:54

因此,让我们利用parsed.validity.start过滤器来查找几秒钟后颁发的证书:

奇技淫巧 | 通过证书透明度发现域名的关联性

转义“:”字符很重要,否则过滤器将不起作用(请参阅 censys.io 上的此页面)

这里是!我们刚刚发现了一个以前不为人知的域!

让我们用这个域打开一个网站:

奇技淫巧 | 通过证书透明度发现域名的关联性

https://cr4cked[.]games/ 主页

这正是我们想要的!早些时候,我能够透露cpu-z[.]org. 这个 IP 地址属于 Hawk Host,在我向他们报告滥用行为后,Hawk Host 上的所有威胁行为者的网站都开始显示这个确切的页面。

这证明我们发现了一个由相同威胁参与者管理的域。

几页后blazefiles[.]net可以找到一个域,该域分发了受感染的 Adobe 产品。它还显示相同的 Hawk Host 页面。

奇技淫巧 | 通过证书透明度发现域名的关联性

威胁行为者在“Hackers Crowd”电报频道上放置了指向受感染 Adobe 产品的链接

这些威胁参与者使用的域更多,所以让我们继续。

为什么这项技术奏效了?

威胁参与者通过 Plesk、cPanel 或 CyberPanel 等软件设置他们的网站。它会自动为所有网站颁发和更新受信任的证书,即使这些证书从来不需要。

如果我们搜索cpu-z[.]org证书,我们会看到托管服务器颁发的一堆不需要的证书:

奇技淫巧 | 通过证书透明度发现域名的关联性

探索 crt.sh 上的 cpu-z[.]org 证书:https ://crt.sh/?q=%25.cpu-z.org

所有这些证书都可以从证书透明度日志中挖掘出来,并通过它们的时间戳与其他证书相关联。

DigiCert 和其他 CA

大公司使用 DigiCert 服务自动颁发 TLS 证书。

DigiCert 证书的validity字段不包含证书颁发的时间。其他一些证书颁发机构也是如此,例如 ZeroSSL。

奇技淫巧 | 通过证书透明度发现域名的关联性

DigiCert 证书示例

但是,如果我们查看 crt.sh 对透明度日志的表示,我们会发现同一公司拥有的证书的 crt.sh ID 可能非常接近:

奇技淫巧 | 通过证书透明度发现域名的关联性

探索 Twitter 的证书,该公司拥有最大的漏洞赏金计划之一

这意味着即使 CA 不包括证书的确切颁发时间,仍然可以发现同时颁发的证书。

此外,您可能会在日志中找到两种类型的证书:预证书和叶证书。如果您有权访问叶证书,则可以查看其中归档的签名证书时间戳 (SCT):

奇技淫巧 | 通过证书透明度发现域名的关联性

从叶证书获取时间戳的示例

SCT 字段始终包含时间戳,即使有效性字段中的时间为 00:00:00。

下一步是什么

可能需要某种工具来帮助通过这种技术发现域。

可以使用的关联域的方法:

  • 分析签发时间接近的证书
  • 分析 SCT 字段中具有紧密时间戳的证书
  • 分析 CT 日志中彼此接近的证书
  • 分析已知证书之间的时间段
  • 从已知时间戳分析经过一轮时间后颁发的证书
  • 获取关于已知时间戳及时颁发的证书集的交集
  • 相同,但对于 CT 日志中彼此接近的证书集

关于缓解,请定期检查您的域的 CT 日志。您不仅可以发现受 CT 攻击影响的域,还可以发现攻击您的基础设施的威胁参与者颁发的证书。

译文申明

  • 文章来源为近期阅读文章,质量尚可的,大部分较新,但也可能有老文章。
  • 开卷有益,不求甚解,不需面面俱到,能学到一个小技巧就赚了。
  • 译文仅供参考,具体内容表达以及含义, 以原文为准 (译文来自自动翻译)
  • 如英文不错的,尽量阅读原文。(点击原文跳转)
  • 每日早读基本自动化发布(不定期删除),这是一项测试

最新动态: Follow Me

微信/微博:red4blue

公众号/知乎:blueteams

奇技淫巧 | 通过证书透明度发现域名的关联性

奇技淫巧 | 通过证书透明度发现域名的关联性


原文始发于微信公众号(甲方安全建设):奇技淫巧 | 通过证书透明度发现域名的关联性

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年3月13日08:21:43
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   奇技淫巧 | 通过证书透明度发现域名的关联性http://cn-sec.com/archives/1230341.html

发表评论

匿名网友 填写信息