7.Wireshark学习-使用Wireshark分析中间人攻击

7. 分析中间人攻击

中间人攻击又被简称为NITM攻击,这是一种很有意思的攻击方式。攻击者会把自己的设备放置在网络连接的两台设备中间,以此来监听它们之间的通信,当然这个中间位置是逻辑上的而不是物理位置。攻击者就像是一个间谍,它不断从一个设备接收信息,解读之后再转发给另一个设备。在这个过程中两个设备之间的通信并没有中断,因此它们完全不会发觉多了一个"中间人"

本文内容:

  • 中间人攻击的相关理论;
  • 使用Wireshark的专家系统分析中间人攻击;
  • 发起中间人攻击;
  • 如何防御中间人攻击。

7.1 中间人攻击的相关理论

  • 中间人攻击的目标并不是交换机,而是终端设备(例如计算机、手机等) 。在每一台终端设备中都有一个ARP缓存表,这个表中保存了一些IP地址和MAC地址之间的对应关系。

  • 通常应用程序只能通过IP地址进行通信,但是在内部网络中使用的交换机却不能识别IP地址。因此每一台终端设备在发送应用程序产生的数据包时,必须在它里面添加上一个MAC地址。而这个MAC地址是哪里来的呢?

  • 如果没有在缓存表中找到对应的表项, ARP程序就会在局域网中进行广播,询问网络中是否存在这样一个IP地址。如果局域网中有计算机使用了这个IP地址,那么它就会回应个包含了自己MAC地址的信息,这样计算机就可以将这个信息添加到自己的ARP缓存中,并将这个数据包填写好目的MAC地址发送输出。

arp报文格式:

7.Wireshark学习-使用Wireshark分析中间人攻击_第1张图片

请求包:

7.Wireshark学习-使用Wireshark分析中间人攻击_第2张图片
Opcode(操作类型):用来表示这个报文的类型,ARP请求为1,ARP响应为2,RARP请求为3,RARP响应为4;

应答包:

7.Wireshark学习-使用Wireshark分析中间人攻击_第3张图片

显示过滤器的使用:

arp.opcode == 0x00001//显示请求包
arp.opcode == 0x00002//显示应答包

arp.src.hw_mac == dc:fe:18:58:8c:3b//限定源mac地址为dc:fe:18:58:8c:3b的 

短时间内出现大量arp数据包通常有三种情况:

  1. 有攻击者利用arp请求对网络进行扫描。
  2. 有计算机感染arp病毒
  3. 有攻击者在用arp欺骗,发动中间人攻击。

Wireshark左下角的专家系统提示发现的问题,专家系统只有在捕获结束后才可以用

7.Wireshark学习-使用Wireshark分析中间人攻击_第4张图片

出现一个ip地址对应两个mac地址的包
7.Wireshark学习-使用Wireshark分析中间人攻击_第5张图片

判断真假的方法

  1. 频繁发arp包的是假的
  2. 一个mac地址对应多个ip地址的主机是假的

发起中间人攻击

7.Wireshark学习-使用Wireshark分析中间人攻击_第6张图片

选择网卡

7.Wireshark学习-使用Wireshark分析中间人攻击_第7张图片

扫描内网主机

7.Wireshark学习-使用Wireshark分析中间人攻击_第8张图片

攻击192.168.159.2(网关)与192.168.159.132(win7),右键,选择
7.Wireshark学习-使用Wireshark分析中间人攻击_第9张图片

7.Wireshark学习-使用Wireshark分析中间人攻击_第10张图片

7.Wireshark学习-使用Wireshark分析中间人攻击_第11张图片
7.Wireshark学习-使用Wireshark分析中间人攻击_第12张图片

完成后,在kali中打开Wireshark,如图过滤,win7(192.168.159.132)的ip

7.Wireshark学习-使用Wireshark分析中间人攻击_第13张图片

在win7上ping百度

7.Wireshark学习-使用Wireshark分析中间人攻击_第14张图片

可以看到截获的数据包

7.Wireshark学习-使用Wireshark分析中间人攻击_第15张图片

还有个工具:file2cable,用法 file2cable -i eth0 -f 文件用来将Wireshark保存的文件发送出去

ettercap并不会转发数据包,转发数据包的是操作系统,因此,在中间人攻击时需要启用操作系统的数据包转发功能。
 sysctl -w net.ipv4.ip_forward =1这样设置之后,当前系统就能实现包转发,但下次启动计算机时将失效。
在配置文件/etc/sysctl.conf中写入:net.ipv4.ip_forward = 1.这样就不会在重启的时候失效。
用户还可以使用如下命令查看当前系统是否支持包转发:sysctl net.ipv4.ip_forward
参考链接:http://www.cnblogs.com/gunl/archive/2010/09/14/1826234.htm

7.4如何防御中间人攻击

  • 7.4.1静态绑定ARP表项
    • arp -s ip地址 mac地址,缺点:工作量大,一旦换设备就得重新设置
  • 7.4.2使用DHCP Snooping功能(交换机)
  • 7.4.3划分VLAN
  • 7.4.4 ARP防火墙,比较耗资源

你可能感兴趣的:(安全工具)