DNS 即 Domain Name System 的缩写,域名系统以分布式数据库的形式将域名和IP地址相互映射。DNS协议即域名解析协议,简单的说:DNS是用来解析域名的。有了DNS我们就不用再记住烦人的IP地址,用相对好记的域名就可以对服务器进行访问,即使服务器更换了IP地址,我们依旧可以通过域名访问该服务器,这样能够使我们更方便的访问互联网。
为了方便理解DNS的工作原理,我简单做了一幅图:
0×01.2 DNS欺骗原理
尽管DNS在互联网中扮演着如此重要的角色,但是在设计DNS协议时,设计者没有考虑到一些安全问题,导致了DNS的安全隐患与缺陷。
DNS欺骗就是利用了DNS协议设计时的一个非常严重的安全缺陷。
首先欺骗者向目标机器发送构造好的ARP应答数据包(关于ARP欺骗请看文章《中间人攻击——ARP欺骗的原理、实战及防御 》),ARP欺骗成功后,嗅探到对方发出的DNS请求数据包,分析数据包取得ID和端口号后,向目标发送自己构造好的一个DNS返回包,对方收到DNS应答包后,发现ID和端口号全部正确,即把返回数据包中的域名和对应的IP地址保存进DNS缓存表中,而后来的当真实的DNS应答包返回时则被丢弃。
假设嗅探到目标靶机发出的DNS请求包有以下内容
Source address : 192.168.1.57
Destination address : ns.baidu.com
Source port : 1234
Destination port : 53 (DNS port)
Data : www.baidu.com
我们伪造的DNS应答包如下:
Source address : ns.baidu.com
Destination address : 192.168.1.57
Source port : 53 (DNS port)
Destination port : 1234
Data : www.baidu.com 192.168.1.59
目标靶机收到应答包后把域名以及对应IP保存在了DNS缓存表中,
这样 www.baidu.com 的地址就被指向到了192.168.1.59上。
0×02.1 实战DNS欺骗
同ARP欺骗一样,DNS欺骗也可以被称为DNS毒化,属于中间人攻击,我还是用虚拟机来模拟DNS欺骗攻击
用到的工具是Ettercap
首先来看目标靶机,
by: TaskKilL
欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/) | Powered by Discuz! X3.2 |