您的位置: 新闻资讯 > 行业动态 > 正文

《探秘 DNS 反射放大攻击:原理、实验与防范》(图文)


来源:mozhe 2024-12-09

一、DNS 反射放大攻击简介



DNS 反射放大攻击主要是利用 DNS 回复包比请求包大的特点,来放大流量并攻击目标服务器。具体而言,攻击者伪造请求包的源 IP 地址为受害者 IP,然后将这些请求发送给 DNS 服务器。由于 DNS 服务器在收到请求后会向请求包中指定的 IP 地址发送回复包,这样就会将大量的应答包流量引入受害的服务器。
这种攻击方式可以类比为一个恶意的行为:攻击者就像一个恶意少年打电话给一家餐馆说 “我下单了,请给我回电话确认下我的订单”。当餐馆要求提供回叫号码时,这个恶意的少年给出的号码就是目标受害者的电话号码。然后,目标接收来自餐馆的电话,其中包含他们未要求的许多信息。
DNS 反射放大攻击可分为四个步骤:
  1. 攻击者使用受感染的端点将具有欺骗性 IP 地址的 UDP 数据包发送到 DNS 递归。数据包上的欺骗地址指向受害者的真实 IP 地址。
  1. 每个 UDP 数据包都会向 DNS 解析器发出请求,通常会传递一个参数(例如 “ANY”),以接收最大的响应。
  1. 收到请求后,DNS 解析器通过响应来尝试提供帮助,它向欺骗的 IP 地址发送较大的响应。
  1. 目标服务器的 IP 地址会收到响应,并且周围的网络基础架构会被大量的流量淹没,从而导致拒绝服务。
从服务器上抓取的攻击包可以看出这种攻击的一些特点:
  • 全部是大量的 DNS 响应请求(Response 请求),通常里面包含一些不存在或者生僻的域名,经过循环查询从而放大 DNS 流量。
  • 会将 OPT RR 字段中的 UDP 报文大小设置为很大的值(如 4096),通过这样放大了攻击流量。
  • 发送的 DNS 查询请求数据包大小一般为 60 字节左右,而查询返回结果的数据包大小通常为 3000 字节以上,因此,使用该方式进行放大攻击能够达到 50 倍以上的放大效果。
  • 大量的流量都来自正常的 DNS 服务器,攻击者通过伪造 IP 向正常的 DNS 服务器发送这些恶意的查询请求,将流量引入受害者的服务器,受害者查不到攻击者的真实 IP。

二、DNS 服务原理及相关特性


(一)DNS 服务的原理


DNS(Domain Name System,域名系统)在互联网中扮演着至关重要的角色,它就像是一个巨大的通讯录,将人类易于记忆的域名与计算机能够识别的 IP 地址进行对应。以下是 DNS 服务的具体工作原理:
  1. 用户请求:当用户在浏览器中输入一个域名时,计算机便会向 DNS 解析器发送请求,希望能够获取该域名对应的 IP 地址。这个过程就像是用户向图书馆的查询系统提出一个问题,希望找到特定书籍的位置。
  1. DNS 解析器:DNS 解析器负责查询 DNS 记录,它就像是图书馆的管理员,接收到用户的请求后,首先会检查自己的缓存,看是否已经有该域名的记录。如果在缓存中找到了对应的 IP 地址,就会立即返回给用户的计算机,这样可以大大提高响应速度。如果缓存中没有,则会向其他服务器查询。
  1. 根 DNS 服务器:如果 DNS 解析器在自己的缓存中没有找到目标域名的记录,它会向根 DNS 服务器发起查询。根 DNS 服务器就像是图书馆的总目录,它并不直接知道每个域名的具体位置,但它可以引导请求至相应的顶级域服务器。例如,如果用户查询的是一个 “.com” 域名,根 DNS 服务器会告诉 DNS 解析器去联系 “.com” 顶级域服务器。
  1. 顶级域 DNS 服务器:顶级域 DNS 服务器负责管理特定顶级域(如 “.com”、“.org”、“.net” 等)下的域名和其子域的映射。当 DNS 解析器从根 DNS 服务器获取到顶级域服务器的地址后,会向顶级域服务器发起查询。顶级域服务器会提供权威 DNS 服务器的地址,就像是告诉查询者去哪个分馆可以找到特定类型的书籍。
  1. 权威 DNS 服务器:权威 DNS 服务器是每个特定域名的 “官方” 域名服务器,它们存储着该域名与 IP 地址的映射信息。当 DNS 解析器从顶级域服务器获取到权威 DNS 服务器的地址后,会向权威 DNS 服务器发送查询请求。权威 DNS 服务器会根据自己存储的记录,返回域名对应的 IP 地址,就像是分馆的管理员准确地告诉查询者特定书籍的具体位置。
  1. 缓存:DNS 解析器在接收到权威 DNS 服务器返回的 IP 地址后,会将其缓存起来,以便下次有用户请求相同的域名时,可以快速响应,而无需再次进行复杂的查询过程。这就像图书馆管理员将常用书籍的位置记录下来,下次有人查询时可以立即回答。
  1. 用户访问:用户的计算机通过获得的 IP 地址,就可以访问目标网站了。这个过程就像是用户根据图书馆管理员提供的书籍位置,顺利找到并借阅了自己需要的书籍。

(二)DNS 服务所使用的协议和包的大小

  1. DNS 所使用的协议
    • UDP、TCP:DNS 协议主要使用 UDP 协议进行通信,这是出于性能和效率的考虑。UDP 作为一种无连接的协议,在 DNS 查询中具有快速响应、低延迟、无状态操作和节省带宽等优势。然而,UDP 也存在可靠性不足和数据包大小限制等问题。当 DNS 查询的报文长度超过 512 字节时,或者在区域传输等特殊情况下,会使用 TCP 协议。TCP 协议具有可靠连接、保证数据准确无误传输和有序到达等特点。
    • DNS over HTTPS (DoH):DNS over HTTPS 是一项创新性的 DNS 查询技术,它通过利用 HTTPS 协议的安全特性,为 DNS 查询过程提供加密保护,有效防止中间人攻击和 DNS 劫持。DoH 不仅提高了查询的安全性,还为用户隐私提供了更强有力的保障,同时具有灵活性和可扩展性。
    • DNS over TLS (DoT):DNS over TLS 旨在解决传统 DNS 查询中存在的隐私和安全问题。它通过在 TLS 协议上进行 DNS 查询,确保数据传输的安全性和隐私性。
  1. DNS 请求包大小:通常在几十字节到几百字节之间。例如,客户端向 DNS 服务器查询域名时,一般返回的内容都不超过 512 字节,用 UDP 传输即可。不用经过 TCP 三次握手,这样 DNS 服务器负载更低,响应更快。
  1. DNS 返回包大小:通常较大,可从几百字节到几千字节不等。当查询包含多个记录或进行区域传输时,返回包的大小可能会更大。例如,在 DNS 反射放大攻击中,发送的 DNS 查询请求数据包大小一般为 60 字节左右,而查询返回结果的数据包大小通常为 3000 字节以上。

三、DNS 反射放大攻击原理


(一)什么是放大攻击


DNS 反射放大攻击是一种利用 DNS 服务请求包小、返回包大的特性来实施的攻击手段。具体而言,攻击者通过伪造 IP 地址向开放的 DNS 解析器发送请求,使得 DNS 解析器将大量的响应数据包引向目标服务器,从而达到攻击目的。
这种攻击方式就像是一个精心设计的陷阱。攻击者巧妙地利用了 DNS 服务的特点,以小博大,用相对较小的请求引发巨大的响应流量。

(二)攻击目的

  1. 造成拒绝服务。
通过将大量的 DNS 响应数据包引向目标服务器,使其网络带宽被迅速耗尽,无法正常处理合法的请求,从而导致目标服务器无法为正常用户提供服务,造成拒绝服务的效果。
  1. 扩大攻击效果。
攻击者利用 DNS 回复包比请求包大得多的特性,能够实现攻击流量的放大。例如,发送的 DNS 查询请求数据包大小一般为 60 字节左右,而查询返回结果的数据包大小通常为 3000 字节以上,放大倍数可达到 50 倍以上。这样可以以较小的攻击成本获得巨大的攻击效果。
  1. 具有隐蔽性。
由于攻击者伪造了 IP 地址,使得目标服务器难以追踪到真正的攻击源头。大量的流量都来自正常的 DNS 服务器,受害者很难确定攻击者的真实身份。而且部分 “肉鸡” 通常是合法的 IP 地址,这进一步增加了攻击的隐蔽性。

四、DNS 反射放大攻击流程


  1. 选择目标服务器:
攻击者首先需要确定攻击的目标,这可能是一个特定的网站、服务器或网络设备。他们会选择具有一定重要性或影响力的目标,以便达到更大的攻击效果。例如,选择一个流量较大的商业网站或关键的企业服务器。
  1. 查找开放 DNS 解析器:
攻击者会在网络上搜索开放的 DNS 解析器。这些解析器可以响应来自任何 IP 地址的请求,并且通常不会对请求的来源进行严格验证。攻击者可以使用各种工具和技术来查找开放的 DNS 解析器,例如通过网络扫描、查询在线数据库或利用已知的漏洞。
  1. 伪造 DNS 请求,设置目标服务器 IP 为源 IP 地址:
一旦找到了开放的 DNS 解析器,攻击者就会构造伪造的 DNS 请求。在这些请求中,他们将源 IP 地址设置为目标服务器的 IP 地址,使其看起来像是目标服务器发起了请求。这样,当 DNS 解析器处理请求时,它会将响应发送到目标服务器,而不是攻击者的真实 IP 地址。
  1. 向多个开放解析器发送伪造请求:
为了增加攻击的强度和效果,攻击者会向多个开放的 DNS 解析器发送伪造的请求。这样可以同时从多个方向引导大量的响应流量流向目标服务器,使其更容易遭受流量冲击。
  1. 解析器处理请求并将响应发送至目标服务器:
开放的 DNS 解析器接收到伪造的请求后,会按照正常的 DNS 解析流程处理请求。由于请求中的源 IP 地址被设置为目标服务器的 IP 地址,解析器会将响应发送到目标服务器。这些响应通常包含大量的数据,远远超过原始请求的大小。
  1. 目标服务器遭受流量冲击:
随着多个 DNS 解析器向目标服务器发送响应,目标服务器会接收到大量的流量。这些流量可能会超出目标服务器的处理能力,导致其网络带宽被迅速耗尽,无法正常处理合法的请求。目标服务器可能会出现响应缓慢、服务中断甚至崩溃的情况。

五、DNS 反射放大攻击实验步骤


(一)实验准备


在进行 DNS 反射放大攻击实验之前,我们需要确定实验目标服务器和开放 DNS 解析器。目标服务器可以是一个特定的网站、服务器或网络设备,我们可以选择具有一定重要性或影响力的目标,以便更好地观察攻击效果。开放 DNS 解析器则可以通过网络扫描、查询在线数据库或利用已知的漏洞等方式来查找。这些解析器可以响应来自任何 IP 地址的请求,并且通常不会对请求的来源进行严格验证。

(二)伪造请求


接下来,我们需要构造 DNS 请求,选择 ANY 查询并伪造源 IP。具体来说,我们可以使用一些工具和技术来生成伪造的 DNS 请求包。在请求包中,我们将源 IP 地址设置为目标服务器的 IP 地址,使其看起来像是目标服务器发起了请求。这样,当 DNS 解析器处理请求时,它会将响应发送到目标服务器,而不是攻击者的真实 IP 地址。

(三)发送请求与观察结果


然后,我们向多个解析器发送请求,观察目标服务器流量变化。为了增加攻击的强度和效果,我们可以向多个开放的 DNS 解析器发送伪造的请求。这样可以同时从多个方向引导大量的响应流量流向目标服务器,使其更容易遭受流量冲击。当开放的 DNS 解析器接收到伪造的请求后,会按照正常的 DNS 解析流程处理请求。由于请求中的源 IP 地址被设置为目标服务器的 IP 地址,解析器会将响应发送到目标服务器。这些响应通常包含大量的数据,远远超过原始请求的大小。随着多个 DNS 解析器向目标服务器发送响应,目标服务器会接收到大量的流量。我们可以使用网络流量监测工具来观察目标服务器的流量变化,看看是否出现了流量急剧增加的情况。如果目标服务器的网络带宽被迅速耗尽,无法正常处理合法的请求,那么就说明攻击成功了。

六、DNS 反射放大攻击实验平台



在进行 DNS 反射放大攻击实验时,可使用 Saddma 等工具进行实验,该工具支持多种放大攻击策略。Saddma 能够帮助我们构造伪造的 DNS 请求,并向多个开放的 DNS 解析器发送这些请求,从而实现对目标服务器的攻击。
在使用 Saddma 进行实验时,我们需要先确定实验目标服务器和开放 DNS 解析器。可以通过网络扫描、查询在线数据库或利用已知的漏洞等方式来查找开放的 DNS 解析器。这些解析器可以响应来自任何 IP 地址的请求,并且通常不会对请求的来源进行严格验证。
找到开放的 DNS 解析器后,我们可以使用 Saddma 构造伪造的 DNS 请求。在请求包中,我们将源 IP 地址设置为目标服务器的 IP 地址,使其看起来像是目标服务器发起了请求。这样,当 DNS 解析器处理请求时,它会将响应发送到目标服务器,而不是攻击者的真实 IP 地址。
接下来,我们可以使用 Saddma 向多个开放的 DNS 解析器发送伪造的请求。为了增加攻击的强度和效果,我们可以同时向多个解析器发送请求,引导大量的响应流量流向目标服务器。
在实验过程中,我们可以使用网络流量监测工具来观察目标服务器的流量变化。如果目标服务器的网络带宽被迅速耗尽,无法正常处理合法的请求,那么就说明攻击成功了。
需要注意的是,进行 DNS 反射放大攻击实验可能会对网络环境造成一定的影响,甚至可能会违反法律法规。因此,在进行实验时,一定要在合法合规的前提下进行,并确保不会对他人的网络造成不良影响。

七、DNS 反射放大攻击案例分析



以某运营商枢纽节点 DNS 遭受攻击为例,分析攻击现象、原因及处理过程。

一、攻击现象


某运营商枢纽节点 DNS 网络中防火墙会话数接近饱和,域名专项防护系统报警有 DDoS 攻击告警,监测发现域名解析延时增大,严重影响了 DNS 业务的正常运行。具体表现为:
  • 攻击在短时间内发起了峰值大于 6Gbps 的查询请求,造成某运营商枢纽 DNS 递归服务器延迟增大。
  • 在 ADS 上监控到 defcon.org 这个域名的查询数量一直排在第一位,且查询数量较多,属于异常现象。

二、攻击原因


此次攻击为 DNS 放大 DDoS 攻击。攻击主要是攻击源向枢纽节点 DNS 发送大量小字节的针对美国黑客网站 defcon.org 域名的 ANY 查询请求,从而使得 DNS 服务器返回大量大字节的数据包。攻击源大部分来自运营商某范围内的互联网专线 IP,包括部分存在弱口令的肉鸡、智能监控设备和商用无线路由器等。这种攻击模式成本低,效果好,追踪溯源困难。

三、处理过程

  1. 检测过程:2015 年 6 月 15 日 9 点 30 分,绿盟科技 DDoS 防护系统发出 DDoS 攻击告警,同时接到某运营商网管中心互联网室通知其 DNS 疑似遭受 DDoS 攻击。从 15 日凌晨至 19 日,攻击一直在持续,初步统计此次攻击流量至少在 10G 以上。通过样本分析发现,此次攻击主要是通过控制肉鸡对美国黑客网站和僵尸网络域名进行 ANY 查询请求和随机查询请求。
  1. 分析过程:通过结合域名专项防护系统 ADS 的告警日志和抓包分析发现有大量对 defcon.org 的 ANY 查询。分析发现此次攻击事件的攻击源 90% 均来自省内 IP,攻击源更加多样化。
  1. 处置阶段:根据告警情况,结合 DNS 防火墙的会话性能适用占比情况,及时调整域名专项防护设备的 UDP 检测阀值(其 UDP 阀值调整在 8 万 pps - 15 万 pps 之间)对攻击流量进行清洗。同时在域名专项防护系统开启模式匹配策略(7 层丢弃),对查询 Defcon.org 的域名的源 IP 的请求进行丢弃。截止 6 月 19 日下午,在流量清洗和模式匹配的防护下,某运营商其 DNS 域名解析正常。

八、DNS 反射放大攻击防范措施


(一)减少开放 DNS 解析器总数


为了防范 DNS 反射放大攻击,减少开放 DNS 解析器总数是一个重要的措施。如果互联网上存在配置不当的 DNS 解析器,攻击者就很容易找到并加以利用。理想情况下,DNS 解析器应仅向源自受信任域名的设备提供服务。
在基于反射的攻击中,开放的 DNS 解析器会响应来自互联网任何位置的查询,这就使其有可能被攻击者利用。因此,我们需要限制 DNS 解析器,使其仅响应来自受信任来源的查询。这样可以使服务器无法被用于任何类型的放大攻击。

(二)源 IP 验证


对于基于 UDP 的放大攻击,降低其有效性的一个关键是互联网服务提供商(ISP)拒绝带有伪造 IP 地址的所有内部流量。由于攻击者僵尸网络发送的 UDP 请求必须有一个伪造为受害者 IP 地址的源 IP 地址,所以如果一个从网络内部发送的数据包带有一个看起来像来自网络外部的源地址,那么它就有可能是伪造数据包并可被丢弃。
Cloudflare 强烈建议所有提供商实施入口过滤,并不时联系无意中参与了 DDoS 攻击的 ISP,帮助其了解自己的
 

墨者安全 防护盾

墨者安全作为专业级别安全防护专家,在应对 Webshell 风险隐患方面展现出了卓越的能力。其拥有全面的检测机制,能够精准识别 Webshell 的各种类型和变体,无论是复杂的大马,还是隐蔽的内存马,都难逃其敏锐的监测。
墨者安全防护盾具备强大的实时监控功能,对服务器的各项活动进行 7*24 小时不间断的监视。一旦发现任何可疑的 Webshell 活动迹象,立即发出警报,并迅速采取隔离和清除措施,将风险扼杀在萌芽状态。
在防护策略上,墨者安全防护盾采用了多层次的防御体系。不仅能够在网络层面阻挡外部的恶意访问和攻击,还能深入系统内部,对服务器的文件系统、进程等进行深度检查和保护,确保 Webshell 无法植入和运行。
同时,墨者安全防护盾拥有快速的应急响应能力。当 Webshell 攻击事件发生时,专业的安全团队能够迅速介入,进行深入的分析和处理,最大程度减少攻击带来的损失,并帮助用户快速恢复服务器的正常运行。
墨者安全防护盾还注重用户教育和培训,为用户提供关于 Webshell 防范的专业知识和最佳实践,帮助用户提升自身的安全意识和防范能力,共同构建坚实的网络安全防线。

热门文章

X

7x24 小时

免费技术支持

15625276999


-->