一、实验目的
通过该实验了解ARP欺骗与DNS欺骗的原理与方法
1.关于ARP的一些基础知识
ARP(Address Resolution Protocol)地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。
ARP缓存:ARP缓存是个用来储存IP地址和MAC地址的缓冲区,其本质就是一个IP地址和MAC地址的对应表,表中每一个条目分别记录了网络上其他主机的IP地址和对应的MAC地址。
IP转发:内网主机向公网发送数据包时,由于目的主机跟源主机不在同一网段,所以数据包暂时发往内网默认网关处理,而本网段的其它主机mac02,mac03对此数据包不做任何回应。如上图所示,当局域网内的mac01想要访问Internet时,由于源主机ip是私有的,禁止在公网使用,所以必须将数据包的源发送地址修改成公网上的可用ip,这就是网关收到数据包之后首先要做的工作--ip转发,然后网关再把数据包发往目的主机。
ARP欺骗:ARP欺骗又称ARP毒化,是一种内网中间人攻击手段。攻击者通过发送伪造的ARP报文,恶意修改网关或网络内其他主机的ARP表,造成用户或网络的报文转发异常。
2.关于ARP欺骗原理的介绍
mac00和mac03在同一局域网内,主机mac00想和mac03实现通信。mac00A首先会查询本地的ARP缓存表,找到mac03的IP地址对应的MAC地址后,就会进行数据传输。如果未找到,会发送一个数据包到广播地址,该数据包中包含了:我的IP地址是xxx,MAC地址是xxx,请问谁是xxx,你的IP对应的MAC地址是多少?这个数据包会被发放给局域网中所有的主机。但是只有mac03主机识别到自己的ip地址后,向mac00主机发回一个ARP响应报文,包其中就包含有mac03的MAC地址,同时mac00主机会将返回的这个地址保存在ARP缓存表中,如上图b所示。
ARP欺骗过程:地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。
假如攻击者直接冒充网关,此时攻击者会不停的发送ARP欺骗广播,大声说:我的IP是网管ip,我的硬件地址是xxx,此时局域网内所有主机都被欺骗,更改自己的缓存表,此时攻击者将会监听到整个局域网发送给互联网的数据报文。
DNS欺骗: DNS欺骗是这样一种中间人攻击形式,它是攻击者冒充域名服务器的一种欺骗行为,它主要用于向主机提供错误DNS信息,当用户尝试浏览网页,例如IP地址为XXX.XX.XX.XX,网址为www.bankofamerica.com,而实际上登录的确实IP地址YYY.YY.YY.YY上的www.bankofamerica.com ,用户上网就只能看到攻击者的主页,而不是用户想要取得的网站的主页了。
3.Arp欺骗的危害:
ARP欺骗可以造成内部网络的混乱,让某些被欺骗的计算机无法正常访问内外网,让网关无法和客户端正常通信。出现ARP欺骗攻击时的现象比如:
1. 网上银行、游戏及QQ账号的频繁丢失,攻击者利用ARP欺骗程序截取局域网中的数据包,然后以分析数据通讯协议的方法截获用户的信息,破解账号登陆时的加密解密算法,运行这类木马病毒,就可以获得整个局域网中上网用户账号的详细信息并盗取;
2. 局域网内频繁性区域或整体掉线,重启计算机或网络设备后恢复正常,当带有ARP欺骗程序的计算机在网内进行通讯时,就会导致频繁掉线,出现此类问题后重启计算机或禁用网卡会暂时解决问题,但掉线情况还会发生。
二、实验环境
攻击者:192.168.147.129 操作系统:kali
受害主机:192.168.147.130 操作系统:win7
Web服务器:192.168.147.131 操作系统:win7
辅助工具:fping,ettercap,driftnet
三、实验内容与实验要求
一:
我们希望可以通过ARP欺骗来完成1.获取目标正在浏览的网页;2.获取目标正在访问的图片;3.获取目标输入的账号密码; 并在arp基础上实现DNS攻击
所有我们的任务分为4个部分:
1.获取目标正在浏览的网页。
2.获取目标正在访问的图片。
3.获取目标输入的账号密码。
4.DNS攻击
二:
任务描述:ARP欺骗来获取目标正在访问的图片。
攻击主机:192.168.147.129
获取目标正在访问的图片; 我们使用driftnet用来抓取图片流量。
攻击主机输入命令:driftnet -i eth0 -a
命令参数详解:
-b 捕获到新的图片时发出嘟嘟声
-i interface 选择监听接口
-f file 读取一个指定pcap数据包中的图片
-p 不让所监听的接口使用混杂模式
-a 后台模式:将获取的图片保存在临时文件夹下(不会显示在屏幕上)
-m number 指定保存图片数的数目
-d directory 指定保存图片的路径
-x prefix 指定保存图片的前缀名
三:
任务描述:ARP欺骗来获取目标输入的账号密码。
受害主机:192.168.147.130
四:
任务描述:DNS欺骗就是攻击者冒充域名服务器的一种欺骗行为,把查询的域名服务器IP地址设为攻击者的IP地址,这样的话,用户上网就只能看到攻击者的主页,而不是用户想要取得的网站的主页了,这就是DNS欺骗的基本原理。我们通过对受害者进行ARP欺骗得到受害主机正在访问的主页,现在我们在进行ARP欺骗的基础上进行DNS欺骗
攻击主机:192.168.147.129
四、实验过程与分析
1. 查看受害主机的arp列表,里面包含网关,攻击主机的ip和mac,这是还没有进行arp欺骗时正常的arp列表,可以和arp欺骗后得到的arp列表进行对比:
攻击主机:192.168.147.129
1.使用fping命令查看是否有其他存活主机
2. IP转发:
A和B发给对方的数据包都发到了C这里,这样A和B就无法进行正常通信了,这样就会被受害者发现。所以需要IP转发。
3. 使用ettercap进行arp欺骗
Ettercap是一款开源的网络嗅探工具,是实现局域网内中间人攻击的神器,结合众多强大的插件,可以发起ARP欺骗、DNS欺骗、DHCP欺骗、会话劫持、密码嗅探等攻击活动。
4. 另开启一个窗口,使用urlsnarf用来获取受害者正在浏览的网页:
受害主机:192.168.147.130
查看arp新的列表。发现网关的物理地址已经变成攻击者的了。
浏览网站
攻击主机:192.168.147.129
查看终端得到网页链接
实验步骤二:
获取目标正在访问的图片; 我们使用driftnet用来抓取图片流量。
攻击主机输入命令:driftnet -i eth0 -a(由于没有driftnet工具,所以得先下载)
受害主机192.168.147.130访问图片网页:
攻击主机192.168.147.129
攻击主机出现结果,可以看出png格式图片:
在/tmp目录下查看图片:
实验步骤三:
登录创建的某网站账号
登录后可以在运行ettercap的终端直接抓取到了账号和密码:
可以看到抓取了账号和密码:
账号:202021410019
密码:111
实验步骤四:
1. 开启 apache服务:
2. 在etter.dns中添加域名解析记录,Kali中自带ettercap,默认路径是 /etc/ettercap/etter.dns
3. 加入命令:
* A 192.168.120.129
* PTR 192.168.120.129
4. 修改完后,执行命令 ettercap -i eth0 -T -q -P dns_spoof 当嗅探到局域网中有DNS查询请求时,就会发送本机地址192.168.120.129作为响应。
受害主机:192.168.147.130
受害主机访问了www.taobao.com, 但显示了如下页面,证明DNS欺骗成功!
攻击主机:192.168.120.129
我们在我们的攻击机上也可以看到有哪些页面进行了重定向!
五、实验结果总结
通过本次实验,我掌握了ARP欺骗和DNS欺骗的相关原理知识,了解了IP转发,学会fping,Ettercap,driftnet工具的使用,掌握了通过ARP欺骗来获取目标正在浏览的网页;获取目标正在访问的图片;获取目标输入的帐号密码等技能,为以后实战中抓取分析ARP,DNS欺骗数据包打下了坚实的基础。希望以后多有这种动手的机会。同时,在实验过程中用到的许多命令在kali是没有自带的,必须首先使用“apt-get install***”样式的命令下载才能进行实验,有时更新时间较长,比较麻烦,也从侧面说明了kali的强大之处。而本实验的步骤二与步骤三会涉及到需要首先搭建一个服务器,这也是本实验耗时的一块大头。有时候,当第二天再次进行实验,win7的ip地址有可能会改变,比如我在进行步骤四的时候,他的ip地址变成了192.168.147.134,使我不得不重复前面的步骤。