dns内网劫持

一、原理

    虽然计算机之间通信需要对方的ip,但是最底层的传输是物理层上,传输的是MAC帧,讲ip解析成MAC地址的是ARP缓存表,这个缓存表每个网络层设备都有。

    

    主机A要和主机B通信,知道主机A的ip,但是arp缓存表了没有主机B的MAC地址,于是他会在局域网内广播询问主机B的mac,主机B会应答自己的MAC.(注:因为每个主机的ip是不固定的,所以设备的arp缓存表也要每隔一段时间都会更新,发起广播)

    这种工作方式有一个BUG,就是如果主机C不停的应答自己的MAC,主机A广播询问主机B的MAC时,主机C应答自己的MAC,这时主机A中就会以为主机C是主机B。

    当你在浏览器中输入www.baidu.com的时候,要先对该域名发给DNS服务器进行解析,DNS服务器的地址是外网ip,网络数据要先通过网关,如果把攻击者的mac伪造成网关的MAC,局域网内本来要发给网关的数据发给攻击者,攻击者就可以对这些数据进行截获。

    被攻击者请求解析百度的时候攻击者截获请求,并解析成自己的ip,并配置好自己的伪造的百度首页,被攻击者这样就打开的是你伪造的百度。当然,你不一定非要伪造百度,你可以弄个钓鱼网站或恶搞网站。

二、技术实现

    首先安装虚拟机,安装kali linux操作系统。(kali镜像文件链接https://images.offensive-security.com/kali-linux-2018.2-amd64.torrent)

    现在我开始用虚拟机攻击实体机,对每一步截图。

    先以root登录kali。

   在/var/www/html/文件夹中编辑index.html首页,

    命令service apache2 start打开apache web服务器。

    编辑etter.dns文件,(域名    A    ip    )表示要截获的域名并解析成的ip,*代表所有域名。

    

使用ettercap -G命令,打开ettercap的图像界面


选择网卡eth0是连网线的网卡

扫描该网段的主机


列出该网段的主机

把要攻击的主机添加标记1,网关添加标记2.

选择arp中间人攻击

双击插件dns_spoof。左边会出现一个*说明添加成功。

选择开始攻击


一段时间后在实体机上打开百度


查看arp缓存表发现虚拟机的MAC和网关的MAC一样


uslookup解析的ip是内网ip


三、防范

    1.把路由器的地址池缩小到100-254。把主机的ip设置成静态ip。(缩小地址池是为了防止动态ip和静态ip冲突)

    2.把ip绑定mac。

    3.以https访问网站。

猜你喜欢

转载自blog.csdn.net/qq_42056446/article/details/80459115