本篇文章仅作演示 禁止复现
本篇文章部分内容来源于网络 若有侵权 请联系删除
一、什么是DNS
域名系统(英文:Domain Name System,缩写:DNS) 是互联网的一项服务。DNS作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
我们本地的计算机在接入网络的时候,都会自动分配一个DNS服务器的IP地址,这个DNS服务器叫做本地域名服务器,一般是由网络服务商提供的。
在浏览器里输入一个域名,例如:www.baidu.com 单击回车键以后,就是DNS发挥作用的时候了。
二、什么是DNS欺骗
DNS欺骗就是攻击者冒充域名服务器的一种欺骗行为。 原理:如果可以冒充域名服务器,然后把查询的IP地址设为攻击者的IP地址,这样的话,用户上网就只能看到攻击者的主页,而不是用户想要取得的网站的主页了,这就是DNS欺骗的基本原理。
DNS 欺骗会带来以下风险:
- 机密数据盗窃:网络钓鱼用于窃取密码等敏感数据。这些方法通常用于入侵计算机系统或进行各种诈骗。
- 系统恶意软件感染:受害者被诱骗在自己的系统上安装恶意软件,为进一步的攻击打开了大门。
- 收集用户资料:在此过程中收集个人数据,进行出售或用于其他有针对性的网络钓鱼攻击。
- 可构成持续威胁:遭遇 DNS 欺骗,被篡改的 DNS 响应信息可能会保留在缓存中,在较长时间内进行欺骗。
三、实验环境
系统环境:攻击机Kali(192.168.84.142)、靶机Windows 7(192.168.84.144)
四、实验步骤
1、我们首先需要开启靶机的Web服务 也就是Apache
systemctl start apache2
检查一下是否开启成功
netstat -antpl
2、然后我们需要去修改/etc/ettercap/etter.dns
vim /etc/ettercap/etter.dns
启动ettercap
ettercap -G
然后我们用靶机ping一下任意的一个网站
可以看到打开的网站指向的ip是kali的ip
我们用靶机打开试试
可以看到靶机打开后是我们的kali的apache默认页面 说明我们劫持成功了!!
3、如果想要他的页面变成你写的页面 我们需要修改apache的页面
对应的路径是/var/www/html
vim /var/www/html
或者可以直接替换我们的index.html
4、知识点
我们靶机访问的有可能还是正常页面 这是因为dns缓存问题 需要清除dns缓存
ipconfig /flushdns
这样我们就完成了dns欺骗
五、DNS欺骗防范
DNS 作为影响信息安全的一类威胁,我们需要对 DNS 欺骗保持戒心。我们可以采取加密措施的手段有效地防止 DNS 欺骗。加密方法通常具有两个关键优势:
- 保护数据免受第三方未经授权的访问
- 保证了通信双方的真实性
针对网站管理员的方式来说,可用的加密方式有网站域名开启强制 HTTPS,电子邮件客户端中配置的连接(例如 IMAP、POP3 和 SMTP )使用安全协议TLS 和 SSL。这类加密可以保护请求中的数据传输,如果攻击者试图冒充正常的主机,客户端就会出现证书错误的提示,减少受到 DNS 欺骗的可能。
DNS 服务器间的连接还可以通过DNSCrypt、DNS over HTTPS(DoH)和 DNS over TLS(DoT)这些技术,减少危险的中间人攻击。但需要注意的是,这三种解决方案的应用不是很普遍,DNS 服务器必须支持相应的安全技术,才能使用这三种方式进行加密工作。
上面提到的是管理员可以做的加密方式,对于用户来说,我们可以使用公共 DNS 来避免 DNS 欺骗。设置非常简单,直接在系统的 “网络设置” 中更改 DNS 地址即可。公用的 DNS 除了可以应对 DNS 欺骗,还可以加快解析响应速度。同时大型的公共 DNS 通常会使用先进的安全技术,例如 DNSSEC(DNS 安全扩展)、DoH、DoT 和 DNSCrypt。常见的公共 DNS 有 114DNS 的 114.114.114.114,纯净无劫持;Google 的 8.8.8.8 、Quad9 的 9.9.9.9,均支持 DNSSEC。
Ps:最后请大家不要做违法的事情!!!