ARP协议(中间人攻击)


一,什么是ARP协议(七层里的第二层网络层)

ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。

二,ARP欺骗的危害

ARP欺骗可以造成内部网络的混乱,让某些被欺骗的计算机无法正常访问内外网,让网关无法和客户端正常通信,也可以截取全网络数据包等。实际上他的危害还不仅仅如此,一般来说IP地址的冲突我们可以通过多种方法和手段来避免,而ARP协议工作在更低层,隐蔽性更高。系统并不会判断ARP缓存的正确与否,无法像IP地址冲突那样给出提示。

三,ARP欺骗的原理

ARP欺骗的原理:就是把自己的MAC地址伪造成网关的地址来欺骗其它的主机。

四,ARP实战测试

实验一:让主机无法上网、限速等

实验二(单向):arpsniffer 192.168.60.1 192.168.60.135 80,3389

log.txt    //安装提示的使用方法, arpsniffer的第一个参数为网关地址,我这儿为:192.168.1.1,第二个参数为要欺骗的IP地址, IP为:192.168.1.100, 第三个参数为要截取数据的端口号:80, 第四个参数是要把捕获的数据保存到指定的文件:log.txt

实验三:zxarps实现双向截取数据,并修改网页内容

zxarps.exe

-idx 0 -ip 192.168.1.102 -p 80 -insert

现在只要IP为192.168.1.102的计算机用户访问协议为http的网页, 页面中都会弹出一条消息, ARP欺骗可以实现局域网挂广告,盗取明文密码, 偷偷

刷weibo粉丝,查看别人的聊天记录等, 获取局域网妹纸的微信号,qq号等, 毕竟可以插入JavaScript代码了,啥事干不了...

zxarps还有其他的使用方式,比如捕获用户的网页请求数据和接收数据,截取IP为192.168.1.107和192.168.1.105的所有网页请求并保存起来, 构造如下的命令行:

运行下面代码

zxarps

-idx 0 -ip 192.168.1.107,192.168.1.105 -p 80 -save_a log.txt

实验四:dns欺骗

实验五:用户密码盗取

五,ARP安全防范

1、不要随意登录免费的WIFI,没人知道免费的WIFI是不是有恶意的攻击者在搞鬼;

2:使用ARP绑定, 避免被ARP欺骗;

3:开启电脑管家或者360安全卫士的ARP防火墙或金山贝壳或彩影ARP防火墙;

4:使用https协议或者其他有保密协议的连接访问外网,避免被坑。      

1、手工静态绑定

        编写一个批处理文件命名为xx.bat,将批处理文件放到“Windows→开始→程序→启动”中,如果需要立即生效,请运行文件。批处理文件内容如下:

@echo off

Arp –a   上不了网

arp -d 清空缓存表delate

arp -s 192.168.0.11500-16-36-f7-bd-5e  //ip与MAC地址根据具体情况修改。    

https://wenku.baidu.com/view/89772efb7e192279168884868762caaedd33bade.html

https://wenku.baidu.com/view/55efed86f71fb7360b4c2e3f5727a5e9856a27cd.html

六,ARP有两种:单向ARP和双向ARP

单向ARP:掐断A 与 B 的通讯,实现原理:C 向 A 发送一条 Arp 数据包,内容为:B的地址是 00:00:00:00:00:00 (一个错误的地址),那么 A 此后向 B 发的数据包都会发到00,而这个地址是错误的,所以通讯中断了,但是要注意了,这里只是 A –> B 中断了,B –> A 没有中断,所以这个叫单向欺骗。

掐断 B 与 A 的通讯,实现原理和第一条一样,如果和第一条一起发,那么 A 和 B 的通讯就完全中断了,即:A<– × –> B

双向ARP:A要跟C正常通讯,B向A说我是才C。B向C说我才是A,那么这样的情况下把A跟C的ARP缓存表全部修改了。以后通讯过程就是A把数据发送给B,B在发送给C,C把数据发送B,B在把数据给A。

攻击主机发送ARP应答包给被攻击主机和网关,它们分别修改其ARP缓存表, 修改的全是攻击主机的MAC地址,这样它们之间数据都被攻击主机截获。

七,ARP攻击存在的漏洞

当主机之间进行通信时,通过封装数据包进而转发到目标主机上。转发的数据包中包括源IP地址、目标IP地址及MAC地址。但是当主机在自己的缓存表中找不到目标主机的地址时,它会发送ARP广播,在此过程中就可能被其他攻击者冒充目标主机。

八,中间人攻击

  实现中间人攻击分为两个阶段。第一是通过某种手段去攻击一台计算机;第二是欺骗主机。这两个阶段工作工程如图3和图4所示。

第一阶段:

在该阶段主机B通过ARP注入攻击的方法以实现ARP欺骗,通过ARP欺骗的方法控制主机A与其他主机间的流量及机密信息。

第二阶段:

在第一个阶段攻击成功后,主机B就可以在这个网络中使用中间人的身份,转发或查看主机A和其他主机间的数据流,如图4所示。

中间人攻击机制

1)在这个局域网中当主机A向主机C发送请求,此时该数据将被发送到主机B上。

2)主机A发送给主机C的数据流将会经主机B转发到主机C上。

3)主机C收到数据以为是主机A直接发送的。此时主机C将响应主机A的请求,同样的该数据流将会被主机B转发到主机A上。

4)主机A收到响应后,将登录主机C。这样主机A登录时的用户名及密码,将会被主机B查看到。

实战一

使用Ettercap工具实现中间人攻击。具体操作步骤如下所示。

1)启动Ettercap工具。执行命令如下所示:

执行以上命令后,将显示如图5所示的界面。

Ettercap启动界面

2)该界面是Ettercap工具的初始界面。接下来通过抓包的方法实现中间人攻击。在菜单栏中依次选择Sniff—Unified sniffing命令或按下Shift+U组合键,将显示如图6所示的界面。

启动嗅探

3)在该界面单击Unified sniffing命令后,将显示如图7所示的界面。

  选择接口

4)在该界面选择网络接口。这里选择eth0,然后单击“确定”按钮,将显示如图8所示的界面。

图8  启动接口界面

5)启动接口后,就可以扫描所有的主机了。在菜单栏中依次选择Hosts—Scan for hosts命令或按下Ctrl+S组合键,如图9所示。

启动扫描主机

6)在该界面单击Scan for hosts命令后,将显示如图10所示的界面。

 扫描主机界面

7)从该界面输出的信息可以看到共扫描到五台主机。如果要查看扫描到主机的信息,在菜单栏中依次选择Hosts—Hosts list命令或按下H键,如图11所示。

打开主机列表

8)在该界面单击Hosts list命令后,将显示如图12所示的界面。

图12  扫描到的所有主机

9)该界面显示了扫描到的五台主机的IP地址和MAC地址。在该界面选择其中一台主机,作为目标系统。这里选择192.168.41.151主机,然后单击Add to Target 1按钮。添加目标系统后开始嗅探数据包,在菜单栏中依次选择Start—Start sniffing命令或按下Ctrl+W组合键,如图13所示。


开始扫描

10)启动嗅探后,通过使用ARP注入攻击的方法获取到目标系统的重要信息。启动ARP注入攻击,在菜单栏中依次选择Mitm—Arp poisonig...命令,如图14所示。

Arp注入攻击图

11)单击Arp poisonig命令后,将显示如图15所示的界面。在该界面选择攻击的选项,这里选择Sniff remote

connections。然后单击“确定”按钮,将显示如图16所示的界面。

图15  攻击选项


图16  攻击界面

12)此时,当某个用户登录192.168.41.151主机时,它的敏感信息将会被传递给攻击者。本例中捕获到的敏感信息如图17所示。

图17  捕获到的敏感信息

13)从该界面可以看到,有用户登录192.168.41.151主机的FTP服务器了。其用户名为anonymous,密码为123456。获取这些信息后停止嗅探,在菜单栏中依次单击Start—Stop sniffing命令,如图18所示。

停止嗅探

14)停止嗅探后,还需要停止中间人攻击。在菜单栏中依次单击 Mitm—Stop mitm attack(s)命令,将显示如图19所示的界面。

停止中间人攻击

15)在该界面单击“确定”按钮,这样就成功的完成了中间人攻击

你可能感兴趣的:(ARP协议(中间人攻击))