ARP欺骗与中间人攻击

▼魔方 西西 提交于 2020-02-01 15:08:00

ARP协议

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。相关协议有RARP、代理ARP。NDP用于在IPv6中代替地址解析协议。

ARP欺骗原理

ARP欺骗的运作原理是由攻击者发送假的ARP数据包到网络上,尤其是送到网关上。其目的是要让送至特定的IP地址的流量被错误送到攻击者所取代的地方。因此攻击者可将这些流量另行转送到真正的闸道(被动式数据包嗅探,passive sniffing)或是篡改后再转送(中间人攻击,man-in-the-middle attack)。攻击者亦可将ARP数据包导到不存在的MAC地址以达到阻断服务攻击的效果,例如netcut软件。

例如某一网络闸道的IP地址是192.168.0.254,其MAC地址为00-11-22-33-44-55,网络上的电脑内ARP表会有这一笔ARP记录。攻击者发动攻击时,会大量发出已将192.168.0.254的MAC地址篡改为00-55-44-33-22-11的ARP数据包。那么网络上的电脑若将此伪造的ARP写入自身的ARP表后,电脑若要通过网络闸道连到其他电脑时,数据包将被导到00-55-44-33-22-11这个MAC地址,因此攻击者可从此MAC地址截收到数据包,可篡改后再送回真正的闸道,或是什么也不做,让网络无法连接。

中间人攻击

在密码学和计算机安全领域中,中间人攻击 ( Man-in-the-middle attack,通常缩写为MITM )是指攻击者与通讯的两端分别创建独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。在中间人攻击中,攻击者可以拦截通讯双方的通话并插入新的内容。在许多情况下这是很简单的(例如,在一个未加密的Wi-Fi 无线接入点的接受范围内的中间人攻击者,可以将自己作为一个中间人插入这个网络)。

一个中间人攻击能成功的前提条件是攻击者能将自己伪装成每一个参与会话的终端,并且不被其他终端识破。中间人攻击是一个(缺乏) 相互认证的攻击。大多数的加密协议都专门加入了一些特殊的认证方法以阻止中间人攻击。例如,SSL协议可以验证参与通讯的一方或双方使用的证书是否是由权威的受信任的数字证书认证机构颁发,并且能执行双向身份认证。

Ettercap

ettercap是LINUX下一个强大的欺骗工具,当然WINDOWS也能用,你能够用飞一般的速度创建和发送伪造的包.让你发送从网络适配 器到应用软件各种级别的包.绑定监听数据到一个本地端口:从一个客户端连接到这个端口并且能够为不知道的协议解码或者把数据插进去(只有在arp为基础模 式里才能用)

ettercap使用方法,参数详解:

-P 使用插件

-T 使用基于文本界面

-q 启动安静模式(不回显)

-M 启动ARP欺骗攻击

// // 代表欺骗的子网网络,如果网络中有多个主机的话,可以在第一个//中加上目标主机,第二个//中加上网关路由ip。

此外我们可以综合这些参数使用:

ettercap –T –q –M arp:remote /192.168.1.101/ //

Ettercap默认就会过滤密码,我们也不需要指定过滤脚本

Driftnet

Driftnet是一款数据嗅探软件,它感兴趣的内容可能和你一样:别人正在查看的图片、视频、音频……意味着,你可以通过Driftnet,将你电脑所处的网络广播域中所有人未经加密传输的图像一一显示出来,特别在无线WiFi网络中。Driftnet是一个Unix/Linux程序,他包含在如Ubuntu等的Linux发行版中,可以通过以下命令轻松获得。由于是直接操控硬件,运行它需要管理员权限;

sudo apt-get install driftnet

Driftnet提供了一些参数,可以指定嗅探到的图片等的保存位置,显示方式……通过-h查看。

编译Driftnet也很轻松,在作者主页下载driftnet-0.1.6.tar.gz,运行make即可,代码包中甚至没有autoconf的脚本,makefile里面可能有些不正确,比如gtk-config已经不存在现在的gtk包中,换之的是pkg-config。

Driftnet并不支持Windows,作者说:If you want a Microsoft Windows version, well, go ahead and write one-- the libraries you need support Microsoft Windows too. 再者,Driftnet被认为是elaborate plot to undermine civilisation(文明毁灭者),并不希望被太多人使用。

实验说明:

攻击机地址:192.168.1.161

靶机地址:192.168.1.162

网关地址:192.168.1.1

1、打开winxp虚拟机并输入ipconfig命令查看靶机ip地址;

靶机ip地址
2、打开kali linux虚拟机,并输入ifconfig命令查看攻击机ip地址;

攻击机ip地址
3、在kali linux虚拟机里使用ettercap工具对靶机进行arp欺骗,命令如下图所示;

使用命令进行arp欺骗

4、在kali linux虚拟机里用driftnet工具查看靶机上正在浏览的图片;

在这里插入图片描述

5、在靶机winxp虚拟机里打开百度,并搜索有关hacker的图片;

在这里插入图片描述

6、此时在kali linux的driftnet框里会显示出靶机正在预览的图片;
hack

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!