每天都会收到大量小型黑客攻击,这些攻击尝试使用 SSH 和 SMTP 等服务的常用用户名/密码。我一直认为这些尝试是使用 IPv4 的“小”地址空间来猜测 IP 地址。我注意到,尽管我的域名具有镜像每个 A 名称记录的 AAAA 名称记录,并且所有 IPv4 服务也对 IPv6 开放,但我在 IPv6 上没有收到任何黑客攻击。
假设一个公共 DNS(AWS 路由 53)具有指向合理随机的 /64 后缀的模糊子域;是否可以远程发现 IPv6 地址和 / 子域,而无需尝试 /64 位前缀中的每个地址或非常长的常用名称列表中的每个子域?
我当然知道在网上搜索列出的(子)域名很简单。我也知道同一子网上的机器可以使用 NDP。我更感兴趣的是 DNS 或 IPv6 的底层协议是否允许远程发现/列出未知的域和地址。
答案1
恶意机器人不会猜测IPv4 地址。他们只是尝试所有地址。在现代系统上,这只需几个小时。
有了 IPv6,这实际上就不再可能了,正如您所猜测的那样。地址空间大得多,以至于在人的一生中甚至不可能暴力扫描单个 /64 子网。
如果机器人程序要继续像在 IPv4 上一样对 IPv6 进行盲目扫描,它们就必须更有创造力,并且恶意机器人程序操作员必须习惯于等待更长的时间来发现任何机器,更不用说发现易受攻击的机器了。
对坏人来说是幸运的,对其他人来说不幸的是,IPv6 的采用速度比实际应该的要慢得多。IPv6 已有 23 年历史,但直到最近五年左右才得到广泛采用。但每个人都在保持其 IPv4 网络活跃,而且只有极少数主机只支持 IPv6,因此恶意机器人运营商几乎没有动力进行切换。他们可能不会这样做,除非人们大规模放弃 IPv4,而这在未来五年内可能不会发生。
我预计,当恶意机器人最终转向 IPv6 时,盲目猜测可能不会起到作用,因此它们必须转向其他手段,例如强制 DNS 名称,或针对每个子网的小子集进行强制攻击。
例如,常见的 DHCPv6 服务器配置默认会提供 到 的地址::100
。::1ff
这只能尝试 256 个地址,而整个地址为 /64。重新配置 DHCPv6 服务器以从更大的范围中选择地址可以缓解此问题。
而使用修改后的 EUI-64 地址进行 SLAAC 可将搜索空间缩小到 2 24乘以分配的 OUI 数量。虽然这超过 1000 亿个地址,但远小于 2 64。随机机器人不会费心搜索这个空间,但国家级恶意行为者会搜索这个空间,尤其是当他们能够对可能正在使用的 NIC 做出有根据的猜测时,以进一步缩小搜索空间。使用 RFC 7217 稳定隐私地址进行 SLAAC 很容易(至少在支持它的现代操作系统上),并且可以减轻这种风险。
RFC 7707描述了在 IPv6 网络中执行侦察以定位 IPv6 地址的其他几种方法,以及如何减轻这些威胁。
答案2
我发现如今许多机器人都无法猜测 IPv4 或 IPv6 的地址。通过隐蔽性实现的安全根本不是安全。隐蔽性只能暂时延迟/减少攻击次数,之后就无关紧要了。
黑客会从您的网站或电子邮件地址了解您公司的域名,以及您为电子邮件、SPF、Web 服务器等发布的公共服务器 IP。虽然他们可能需要更长的时间来学习随机服务器名称,但他们会猜测常用名称,如 www、mail、smtp、imap、pop、pop3、ns1 等,然后爬取您的网站以获取他们可以找到的任何额外数据。他们会从以前的扫描存储中检索您的 DNS 名称、IP 以及要关注的端口。他们还会从他们能找到的任何数据泄露中检索电子邮件地址/密码对列表,并使用他们认为您在端口上运行的任何系统尝试所有这些登录名以及一些额外的登录名。他们甚至会了解您员工的姓名和工作角色,以尝试执行社交工程攻击。我们的垃圾邮件过滤器不断受到诈骗者的攻击,他们声称自己是管理层的某个人,需要紧急电汇资金。哦,他们还会了解您的业务合作伙伴是谁并声称是他们,并让您知道他们的银行详细信息已更改。有时他们甚至知道您的业务合作伙伴使用什么云平台开具发票。
犯罪分子与其他人一样可以使用大数据工具,并且他们已经积累了惊人的海量数据。请参阅一些 IT 专业人士向美国国会提供的证词https://www.troyhunt.com/heres-what-im-telling-us-congress-about-data-breaches/
谈到数据泄露,如果一家公司丢失了看似无用的东西,例如网络服务器日志,其中将包含当时使用该服务器的所有人的 IP 地址 v4 或 v6,以及他们访问了哪些页面。
总之,这些方法都不需要攻击者猜测您正在使用的 IP,因为他们已经知道了。
编辑:作为练习,我花了整整 2 分钟浏览您的网站(从您的个人资料),尝试了此处其他地方链接的在线扫描工具之一,并使用 nslookup 进行了一些查看,发现了一些关于您的信息。我猜您所说的其中一个晦涩难懂的地址涉及
- 与您发布的行星名称相似的行星名称
- 自由域名系统
- 以及以 2e85:eb7a 结尾的 IPv6 地址
- 并且它运行 ssh
由于您发布的大多数其他 IPv6 地址都以 ::1 结尾。这仅来自您公开发布的信息,并带有 1 个微小的猜测。这是您想要隐藏的 IP 吗?
编辑2:再快速浏览一下,我发现您在网站上发布了您的电子邮件地址。检查https://haveibeenpwned.com/了解该地址发生过哪些数据泄露事件,以及黑市上有哪些数据。我看到它被泄露了
- 2013 年 10 月 Adobe 数据泄露:泄露数据:电子邮件地址、密码提示、密码、用户名
- MyFitnessPal:2018 年 2 月泄露的数据:电子邮件地址、IP 地址、密码、用户名
- MySpace:大约在 2008 年,泄露的数据包括:电子邮件地址、密码、用户名
- PHP Freaks:2015 年 10 月泄露的数据:生日、电子邮件地址、IP 地址、密码、用户名、网站活动
- QuinStreet:大约在 2015 年末,泄露的数据包括:出生日期、电子邮件地址、IP 地址、密码、用户名、网站活动
通过查看电子邮件地址的用户名部分是否在其他一些流行的电子邮件提供商中使用,我发现还有很多数据。这将是机器人可以做出的另一个微小猜测。如果其中一些与已知的部分相关,那么机器人可以假设这完全是你,它不必确定,合理的可能性就足够了。在这些泄露事件中,有了额外的数据
- Verifications.io:2019 年 2 月泄露的数据:出生日期、电子邮件地址、雇主、性别、地理位置、IP 地址、职位、姓名、电话号码、实际地址
- 2017 年 1 月 River City Media 垃圾邮件列表泄露数据:电子邮件地址、IP 地址、姓名、实际地址
- Apollo:2018 年 7 月,这家销售互动初创公司泄露了以下数据:电子邮件地址、雇主、地理位置、职位、姓名、电话号码、称呼、社交媒体资料
- 2017 年中期美国 B2B 企业数据遭泄露:电子邮件地址、雇主、职位、姓名、电话号码、实际地址
- Bitly:2014 年 5 月泄露的数据:电子邮件地址、密码、用户名
- 集合 #1(未经验证):2019 年 1 月,人们发现一个流行的黑客论坛上传播了大量凭证填充列表(用于劫持其他服务账户的电子邮件地址和密码组合)
- Dropbox:2012 年中期,数据遭泄露:电子邮件地址、密码
- Exploit.In(未经验证):2016 年末,一份包含大量电子邮件地址和密码对的“组合列表”被称作“Exploit.In”
- HauteLook:2018 年中期泄露的数据:出生日期、电子邮件地址、性别、地理位置、姓名、密码
- Pemiblanc(未经验证):2018 年 4 月,在法国服务器上发现了一个名为 Pemiblanc 的凭证填充列表,其中包含 1.11 亿个电子邮件地址和密码
- ShareThis:2018 年 7 月泄露的数据:生日、电子邮件地址、姓名、密码
- Ticketfly:2018 年 5 月泄露的数据:电子邮件地址、姓名、电话号码、实际地址
当机器人运行时,它可以检查 Facebook,它可以看到其中一个以你的名字命名的 Facebook 页面的照片与你网站上的照片相同,现在它对你和你的朋友有了更多的了解。另外,我猜你列出的家庭成员是你的母亲,她列出了“你母亲的娘家姓”。从 Facebook 上,它还可以验证哪个 LinkedIn 个人资料是你的。
网络上关于我们的信息比人们意识到的要多得多。大数据和机器学习分析是真实存在的,现在就在这里,网上发布或泄露的大量数据都可以关联和使用。你应该知道这一点,因为你列出了你在 2003-2007 年获得人工智能和计算机科学学士学位。从那时起,事情已经取得了长足的进步,特别是谷歌在你学位即将结束时发布的进展。人就是人,大多数人只想从你身上获利,有些人合理合法地使用数据,但其他人会以任何方式使用它。
我这么说有两点:我们发布的信息比我们想象的要多,而 DNS 的全部意义在于发布名称到 IP 地址的转换。
答案3
关于 AAAA 记录:
DNS 传统上是不加密的。虽然有一系列用于签署 DNS 的标准 (DNSSEC),但 DNS 记录的加密部署过程却更加随意,因此通常最安全的做法是假设任何 MitM 都可以读取您的所有 DNS 查询,除非您特意在客户端明确配置加密 DNS。如果您这样做了,您会知道,因为这真是一次考验。
(此外,你的网络浏览器可能正在发送未加密的信噪比在解析域之后的 TLS 握手中。如何填补这个漏洞并不明显,因为 VPN 或 Tor 仍然可以在出口节点或 VPN 终端点与远程服务器之间进行 MitM。Cloudflare正在努力彻底解决这个问题,但 ESNI 也将依赖于客户端的实现,特别是对于铬合金,如果它真的要起飞的话。)
然而,中间人攻击可能是也可能不是问题,这取决于你的威胁模型。更重要的是一个简单的事实:DNS 名称旨在作为公开信息。许多人(搜索引擎、DNS 注册商等)收集和公开 DNS 名称完全是出于无害的原因。DNS 解析器通常会应用速率限制,但这些限制通常相当宽松,因为它们旨在阻止 DoS 攻击,而不是子域名枚举。创建 HTTPS 证书通常涉及发布域名所有人都可以看到,具体取决于 CA(Let's Encrypt 可以做到,其他许多人也是如此)。实际上,将域名或子域名保密是几乎不可能的,因为几乎每个人都认为它们是公开的,并且不会努力隐藏它们。
因此,回答这个问题:
我更感兴趣的是是否 DNS或 IPv6 的底层协议允许发现/列出未知域和地址通过遥控器。
从技术上讲,不是。但这并不重要,因为大量高层技术都假设您的 DNS 记录是公开的,因此它们必然会公开。