DNS工作过程特点
• DNS 查询请求是层层传递,查询和应答无严格身份验证、会话无加密
• 收到应答后 DNS 服务器会缓存结果
DNS是什么
• DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP地址。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。
DNS欺骗原理
• dns 欺骗就是利用了 dns 协议设计时的一个非常严重的安全缺陷,首先欺骗者向目标机器发送构造号的 arp 应答数据包, arp 欺骗成功后,嗅探到对方发出的 dns 请求数据包,分析数据包取得 ID 和端口号后,向目标发送自己构造好的一个 dns 返回包,对方收到 dns 应答包后,发现 ID 和端口号全部正确,即把返回数据包中的域名和对应的 IP 地址保存进 dns 缓存表中,而后来的当真实的 dns 应答包返回时则被丢弃。
实战
将需要修改的域名 和IP写入配置文件
┌──(root💀kali)-[~]
└─# vim /etc/ettercap/etter.dns
在最底部加入
──(root💀kali)-[~]
└─# ettercap -G
打开主机列表
扫描局域网内主机
加入target(网关和肉鸡地址两者可以互换)
进行arp攻击
查看win7的arp表是否欺骗成功
之后进行DNS欺骗设置
右上角插件Plugins
双击如图插件进行欺骗
此时我们可以看到win7机上ping的域名解析地址已改变
防御dns欺骗最常见防御手段:
使用最新版本的dns服务器软件,及时安装补丁
关闭dns服务器的递归功能
限制区域传输范围
限制动态更新
采用分层的dns体系结构
采用https
dns欺骗利用:
可以用来钓鱼,组合浏览器漏洞,组合csrf,组合xss,配合msf等一系列漏洞。