DNS放大攻击

AI-摘要
TLDR GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
DNS放大攻击
lololoweDNS原理
可以看我写的另一篇博客:DNS解析过程
DNS 放大攻击(反射攻击)
DNS 放大攻击又叫做 DNS 反射攻击。
先来看一个🌰, bash下执行以下命令:
1 | dig -t ANY jd.com @223.5.5.5 |
该命令会使用223.5.5.5作为 DNS 服务器, 发送DNS请求来查询 jd.com 所有 DNS 类型的记录。
从图中可以看到收到的响应消息的大小为287字节。
借助Wireshark抓包工具, 可以看到DNS请求大小为47字节:
响应包是请求包的6.1倍!
如果伪造 DNS 请求的源地址, 那么该地址就会莫名收到 DNS 服务器的响应包, 利用这个效应, 黑客可以控制自己的僵尸网络批量发起伪造源地址的 DNS 请求从而导致源地址服务器遇到DDoS攻击导致网络拥塞或中断。再打个比方解释 DNS 反射攻击:张三用多个盗来的账号在电商平台上下单了很多乱七八糟的商品, 但收货地址却是李四的, 并且填的是货到付款, 每到一个快递送货员就会打电话通知李四下楼取货并结账, 数量多了就会给李四造成不少麻烦。在这个栗子中, 张三是黑客, 电商平台就像一个 DNS 服务器, 而李四就是攻击的目标, 李四会因为收到很多快递而感到麻烦, 电商平台又会收到李四的投诉, 而张三却逍遥法外。
实验
实验环境:
- 攻击机:192.168.31.35
- 靶机:192.168.31.121
- DNS 服务器:223.5.5.5 (阿里云公共域名服务器)
1 | from scapy.all import * |
- 攻击机抓包:
- 靶机抓包:
可以看到靶机收到了域名服务器返回的DNS响应包, 妥妥的无妄之灾🤨
注意:
上面2张图中, 他们能分别抓到不是发给自己的DNS响应包和DNS请求包的原因是他们处于同一个非有线网络中并开启了混杂模式。
防护
对于网站服务器, 只能预防性的防范, 比如套高防 CDN 来分散攻击流量。
对于域名服务器, 应该做源 IP 认证, 丢弃伪造的源 IP 地址的请求或者返回错误响应, 比如上面的脚本中, 创建的查询类型如果为 ANY 则会返回错误响应。
参考:
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果