利用Abel_Cain软件实现ARP欺骗
一、实验简介
实验所属系列:网络攻防工具
实验对象:本科/专科信息安全专业
相关课程及专业:信息网络安全概论、计算机网络
实验时数(学分):2学时
实验类别:实践实验类
二、实验目的
1.理解ARP协议;
2.了解Abel&cain软件的使用;
3.利用Abel&cain软件在局域网中进行ARP欺骗。
三、预备知识
ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
局域网中的主机1与主机2通信,主机1会先发送ARP请求包(请求包中有2的IP地址),2发送ARP响应包给1,1获得主机A的MAC地址,1利用MAC地址给2传输数据。这里主机A通过使用Abel&cain软件,主动给目标B发送ARP回应包(数据包中携带IP为网关的IP,MAC是A主机的MAC),让目标B更新自己的ARP缓存表。更新后B本地ARP表中网关的MAC地址就是主机A的MAC地址,在主机B看来网关就是A,达到欺骗局域网中某个特定目标的目的。
四、实验环境
网络拓扑见下图,局域网中的两台电脑A、B,主机A(安装Abel&cain软件)是发起ARP的攻击者,B是ARP被欺骗方。通过对B进行ARP欺骗,让B认为A就是网关:
主机A:winxp IP地址:10.1.1.39
主机B:win2003 IP地址:10.1.1.231
五、实验步骤
1)
在主机A上安装Abel&Cain软件
(1)双击桌面文件夹“利用Abel&Cain软件实现ARP欺骗”里面的“ca_setup_53494.exe”,点击“Next”。
(2)点击“Next”。
(3)选择安装路径,点击“Next”。
(4)点击“Next”。
(5)点击“finish”。
(6)询问是否安装WinPap,WinPcap是底层的抓包工具,选择“install”。
(7)弹出下图界面,点击“Next”。
(8)点击“Next”。
(9)点击“Agree”。
(10)点击“install”。
(11)安装完毕,finish,会在桌面上生成“Cain”快捷方式。
2)
在主机A上对主机B进行ARP欺骗
(1)双击启动Abel&cain软件,点击configure,手动选网卡。
点击sniffer选项卡。
(2)先点击左上角按钮,启用sniffer,然后在空白区右键选择“Scan Mac Addresses”,扫描局域网中的主机。
(3)下图选择默认,点击“OK”。
(4)下图显示了局域网中的主机情况。
(5)点击左下角“ARP”选项,然后点击红色方框空白区域,此时左上角的“+”图标会变深色,点击“+”图标。
(6)在窗口左边显示了局域网中的主机和网关,我们点击ARP被欺骗主机(即主机B,IP:10.1.1.231)。
(7)在右侧部分,我们点击10.1.1.90(即网关),点击“OK”。左侧部分表示对哪一个主机进行欺骗,在这里我们选择10.1.1.231(即主机B);右侧部分表示Abel&cain进行伪造的主机,在这里我们选择网关即运行Abel&cain的主机(这里是A)要冒充网关。对B(10.1.1.231)进行ARP欺骗,欺骗的结果是主机B会认为网关是运行Abel&cain软件的主机(即主机A)。在右侧部分选择的主机,就是Abel&cain进行伪造的对象。
(8)点击左上角的图标,开始对主机B(10.1.1.231)进行欺骗。
(9) 我们先在主机B上ping一下主机A,然后在cmd窗口输入“arp -a”。此时,在主机B看来,网关的MAC地址就是主机A的MAC地址了。主机B会把A作为网关,如下图所示。
主机B发往外界的数据包,会经过主机A,至此就完成了对主机B的ARP欺骗。
3)
在主机A上对主机B进行DNS欺骗
(1)在ARP欺骗的基础上,我们进入dns欺骗。
(2)首先在主机B上ping tools.hetianlab.com,此时解析到10.1.1.254
(3)打开tools.hetianlab.com/,可以看到apache的默认主页。
(4)访问tools.hetianlab.com/tools,可以看到一些工具。
(5)然后进入主机A,来到ARP欺骗界面。
(6)在空白区域右击,选择“Add to list”。“DNS Name Requested”表示对方(主机B)输入的url,下面的IP栏表示要将对方输入的url解析成的IP。这里我们输入的是“10.1.1.39”。
(7)我们在10.1.1.39上搭建了一个web服务器,并且有配置tools.hetianlab.com的域名,可以在配置文件C:\xampp\xampp\apache\conf\extra\httpd-vhosts.conf 里可以看到。
在主机B上访问“tools.hetianlab.com”时,会自动跳转到10.1.1.39指定的服务器页面上。该页面是模仿的百度首页。
(8)此时Abel&cain的状态如下图。
(9)在主机B上ping tools.hetianlab.com,可以看到,此时该域名已经指向了10.1.1.39
(10)访问“tools.hetianlab.com”,查看结果。
(11)而如果此时再访问tools.hetianlab.com/tools,会提示404。
(12)如果做一个WEB认证的钓鱼网站,当对方登陆某WEB认证网站的时候发送的WEB认证信息将转到你的钓鱼网站上。这个问题就大了,建议加强安全意识,提高安全措施。
4)
在主机A上查看主机B的http数据包
(1)进入左下角的“Passwords”项,点击左侧“HTTP”,就可以监视主机B在进行HTTP请求时输入的用户名密码情况。
(2)我们在主机B上,访问 tools.hetianlab.com/login.php(在没有开始DNS欺骗之前,访问该页面会提示404)
(3)这里我们输入用户名:username,密码:pass,点击“登陆”。在主机A上即可看到输入情况,但这里不保证用户输入的是正确的用户名和密码,这里只是拿到了用户名输入的数据而已。对于我们这里伪造的“tools.hetianlab.com”我们拿到的用户名、密码是明文,但大部分其他网站数据是加过密的,如126邮箱等。
六、分析与思考
1)怎样发现局域网中存在的ARP欺骗。
①PC端:
如果是windows系统在cmd模式下,执行arp-a,显示当前系统ARP缓存表,检查缓
存中的IP-MAC对应关系是否正确,正常情况下IP-MAC是一一对应的。另外可先使用
arp-d清除当前ARP缓存表,再开始观察是否存在ARP欺骗的情况。
如果是unix/linux客户端,使用/etc/arp -a检查ARP缓存信息。
②网络设备端:
通过show arp命令检测ARP缓存信息。
如果某MAC地址对应多个IP地址,则说明该MAC地址的PC正在广播ARP欺骗包(如
果某设备存在多IP地址,这种情况是正常的)。另一种恶意欺骗是该MAC地址在局域
网中根本就不存在。
2)思考怎样防止ARP欺骗。
①同时按住键盘上的“ CTRL ”和“ ALT ”键再按“ DEL ”键,选择“任务管理器”,点选“进程”标签。察看其中是否有一个名为“ MIR0.dat ”的进程。如果有,则说明已经中毒。右键点击此进程后选择“结束进程”
②检查网内感染“ ARP 欺骗”木马染毒的计算机
在“开始” - “程序” - “附件”菜单下调出“命令提示符”。输入并执行以下命令:
ipconfig
记录网关 IP 地址,即“ Default Gateway ”对应的值,例如“ 59.66.36.1 ”。再输入并执行以下命令:
arp –a
在“ Internet Address ”下找到上步记录的网关 IP 地址,记录其对应的物理地址,即“ Physical Address ”值,例如“ 00-01-e8-1f-35-54 ”。在网络正常时这就是网关的正确物理地址,在网络受“ ARP 欺骗”木马影响而不正常时,它就是木马所在计算机的网卡物理地址。
也可以扫描本子网内的全部 IP 地址,然后再查 ARP 表。如果有一个 IP 对应的物理地址与网关的相同,那么这个 IP 地址和物理地址就是中毒计算机的 IP 地址和网卡物理地址。
③设置 ARP 表避免“ ARP 欺骗”木马影响的方法
本方法可在一定程度上减轻中木马的其它计算机对本机的影响。用上边介绍的方法确定正确的网关 IP 地址和网关物理地址,然后在 “命令提示符”窗口中输入并执行以下命令:
arp –s 网关 IP 网关物理地址
七、答题
八、实验心得体会
理解了ARP协议。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。这个目标MAC地址是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。