利用Abel_Cain软件实现ARP欺骗


ARP协议

ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写

在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。而目标MAC地址就是通过地址解析协议获得的

所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程,ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

ARP欺骗原理

局域网中的主机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

 

在攻击机A安装Abel&Cain软件(略)

在主机A上对主机B进行ARP欺骗

启动Abel&cain软件,点击configure,手动选网卡

 

 

 

 

 

点击确定

选择sniffer选项卡

 

 

先点击左上角按钮,启用sniffer,然后在空白区右键选择“Scan Mac Addresses”,扫描局域网中的主机

 

 

下图选择默认,点击“OK”

 

下图显示了局域网中的主机情况

 

点击左下角“ARP”选项,然后点击红色方框空白区域,此时左上角的“+”图标会变深色,点击“+”图标

 

 

在窗口左边显示了局域网中的主机和网关,我们点击ARP被欺骗主机(即主机B,IP:10.1.1.231)

 

在右侧部分,我们点击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进行伪造的对象。

添加完成后如下

 

 

现在点击左上角的图标,开始对主机B(10.1.1.231)进行欺骗

 

 

 

我们在主机B上ping一下主机A,然后在cmd窗口输入“arp -a”

此时,在主机B看来,网关的MAC地址就是主机A的MAC地址了,主机B会把A作为网关(即,网关的物理地址被修改为了主机A的物理地址)

主机B发往外界的数据包,会经过主机A,至此就完成了对主机B的ARP欺骗

 

在主机A上对主机B进行DNS欺骗

 

在ARP欺骗的基础上,我们进入DNS欺骗

首先在主机B上ping tools.hetianlab.com,此时解析到10.1.1.254

 

打开tools.hetianlab.com/,可以看到apache的默认主页

 

访问tools.hetianlab.com/tools,可以看到一些工具

 

 

进入主机A,来到ARP欺骗界面

 

在空白区域右击,选择“Add to list”。“DNS Name Requested”表示对方(主机B)输入的url(要被劫持的网站),下面的IP栏表示要将对方输入的url解析成的IP(劫持的网站重新解析到的地址)

这里我们输入的是“10.1.1.39”

 

(我们在10.1.1.39上搭建了一个web服务器,并且有配置tools.hetianlab.com的域名)

此时Abel&cain的状态如下

 

 

在主机B上ping tools.hetianlab.com,可以看到,此时该域名已经指向了10.1.1.39

 

访问“tools.hetianlab.com”,查看结果

 

而如果此时再访问tools.hetianlab.com/tools,会提示404(因为劫持时并没有对此网址进行重新解析)

 

在主机A上查看主机B的http数据包

进入左下角的“Passwords”项,点击左侧“HTTP”,就可以监视主机B在进行HTTP请求时输入的用户名密码情况

 

在主机B上,访问 tools.hetianlab.com/login.php

输入用户名:username,密码:pass,点击“登陆”。在主机A上即可看到输入情况,但这里不保证用户输入的是正确的用户名和密码,这里只是拿到了用户名输入的数据而已

此时,在主机A,有

 

对于我们这里伪造的“tools.hetianlab.com”我们拿到的用户名、密码是明文,但大部分其他网站数据是加过密的,如126邮箱等

 

 

课后题

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM