一、DNS原理
DNS 域名系统( Domain Name System ),是一种分布式网络目录服务,主要用于域名与 IP 地址的相互转换
DNS特点:分散和分层的机制来实现域名空间的委派授权以及域名与地址相转换的授权
DNS查询请求是层层传递,查询和应答无严格身份验证、会话无加密
收到应答后DNS服务器会缓存结果
二、DNS欺骗原理
DNS欺骗(DNS spoofing),也称为DNS缓存投毒(DNS cache poisoning),是一种攻击技术,它利用了域名系统(DNS)的漏洞,通过向DNS解析过程中注入虚假的信息,从而使得用户在尝试访问某个网站时被错误地重定向到攻击者指定的恶意网站。
三、dns欺骗操作
1.首先,确定目标机的ip和网关,攻击机要先冒充目标机的网关,对目标机进行arp欺骗
2.打开kali,输入sudo su 进入root用户
3. 输入vim /etc/ettercap/etter.dns ,在配置文件下输入*.com A 192.168.254.128(这是把所有以.com结尾的域名都映射为对应攻击者的ip,在攻击机做中间人后,目标机先访问这里的dns)(A代表ipv4,AAA代表ipv6)
4.使用工具ettercap:一个基于ARP地址欺骗方式的网络嗅探工具,主要适用于交换局域网络。
输入ettercap -G ,进入ettercap工具 ,点击对勾(接受)。拓:MITM是中间人攻击(Man-in-the-middle attack)
5.分别点击1(扫描同网段存活主机)和2(存活主机列表),得到Host List
6.如图分别把目标机ip与网关IP加入Target中
7.如图点击1下的2,即可进行arp欺骗了(感觉这个工具不能造成断网,始终能使目标机连网,但是攻击机已经做了一个中间人)
ettercap mitm方法:
ARP ARP欺骗
NDP ipv6协议欺骗技术
ICMP 发送ICMP数据包重定向到kali,然后由kali转发(只有受害者发出的数据包经过kali)
Port Stealing ARP静态绑定欺骗
DHCP 发送DHCP数据包,让受害者认为kali是路由器,(只有受害者发出的数据包经过kali)
8.可以看到目标机的网关mac地址已是攻击机的mac地址了
9.进行如下图所示1-->2-->3-->鼠标左键双击dns_spoof操作,可进行dns欺骗了
10.在目标机ping www.baidu.com ,发现ip为攻击机架设的ip。ettercap工具下方也有欺骗记录。
四、DNS欺骗的危害
-
隐私泄露:用户在被欺骗后访问的网站可能会记录用户的敏感信息,如用户名、密码、地址、电话号码和信用卡信息等个人数据。这些信息可能会被用于身份盗窃、欺诈或其他恶意活动。
-
安全性破坏:通过DNS欺骗,攻击者可以将用户重定向到携带恶意软件的网站,从而感染用户设备,可能会造成数据丢失、勒索软件的感染或加入到僵尸网络。
-
信任崩溃:DNS是互联网基础架构的关键组成部分,DNS欺骗攻击可能会破坏用户对互联网服务提供商和在线服务的信任。
-
服务中断:在某些情况下,DNS欺骗不仅用于重定向用户,也可能导致合法服务不可用,这种服务中断可能对企业产生重大财务影响。
-
传播速度:由于DNS解析结果通常会被缓存以提升效率,一次成功的DNS欺骗攻击可能会迅速影响大量用户,增加攻击的广泛性和危害性。
-
网络钓鱼:攻击者可以通过DNS欺骗创建钓鱼网站,这些网站看起来像是合法的网站,诱导用户输入敏感信息。
-
法律和合规风险:对企业来说,DNS欺骗可能会导致违反数据保护法规,如GDPR等,企业可能面临高额的罚款和法律诉讼。
-
品牌声誉损害:如果客户由于DNS欺骗而遭受损失,可能会导致企业品牌声誉受损,客户流失和长期信任度下降。
五、DNS欺骗的防御
-
使用DNSSEC:域名系统安全扩展(DNSSEC)为DNS响应添加了数字签名,确保了其完整性和真实性。这种加密验证机制可以有效防止DNS缓存投毒。
-
配置安全的DNS服务器:使用安全配置且定期更新的DNS服务器,它们能够抵抗缓存投毒等攻击。
-
使用安全连接:通过使用HTTPS来确保通信的加密,即使DNS请求被劫持,数据的安全性也能得到保障。
-
验证DNS查询的结果:应用程序和浏览器可以设计成验证DNS查询结果的真实性,比如通过证书鉴定技术来确保所连接的服务器是合法的。
-
网络监控和异常检测:通过监视网络流量和分析模式,可以检测到异常的DNS请求和响应,从而及时识别DNS欺骗攻击。
-
使用VPN服务:使用VPN可以对网络流量进行加密,减少中间人攻击的风险,其中也包括DNS欺骗。
-
使用专门的网络安全设备:部署入侵检测系统(IDS)和入侵防御系统(IPS)来监测和防御可能的DNS攻击行为。
-
定期清理DNS缓存:定期清理本地和服务器端的DNS缓存,可以降低攻击者利用过时或污染的缓存信息发动攻击的风险。
-
强化终端安全:确保所有的终端设备都安装了最新的安全补丁和防病毒软件。
-
用户教育:教育用户识别可疑的网络活动,比如SSL警告,以及不要在没有验证的网站上输入敏感信息。