局域网:vmware虚拟网卡下NAT模式。
代号 | 主机名 | ip地址 |
主机A | Kali Linux 32位 | 192.168.233.129 |
主机B | Kali Linux 64位 | 192.168.233.131 |
攻击机C | Kali Linux 32位 | 192.168.233.130 |
(注意,攻击机C的ip是*.130,夹在A和B中间,不要搞混)
在攻击机终端上分别输入arp和ifconfig,查看本地局域网内mac地址映射关系。
其中192.168.233.1、192.168.233.2、192.168.233.254不用管。
仅需要注意红线标注的三个主机。
打开ettercap,初始界面的这些选项比较好理解,不需要修改,直接点右上角√。
点左上角Scan for hosts,扫描网卡eth0的局域网内主机如下。
将*.129主机A添加到Target1,将*.131主机B添加到Target2。
在Current Targets中查看Targets如下。
在右上角菜单MITM中找到ARP Poison,进行ARP欺骗。其中默认Sniff remote connections开启远程嗅探,让A和B的通信经过C。另外选项Only poison one-way表示只嗅探一边(例如:A的报文经过C发给B,B的回应直接发回A)。设置好后,点OK。
此时在A上输入arp,可以看到B和C的MAC地址都变成后缀为e4的地址(结合前面知道,e4是C的MAC地址)
为了实验是否能够成功嗅探,这里结合两个工具做验证:NetCat和wireshark。
在C上输入 nc -v -l,启动tcp监听,(参数-v表示打印信息,-l表示启动监听)
由下图可以看到,nc自动选择监听端口33461
在A上输入nc 192.168.233.131 33461 -v,连接主机B。两边终端上均显示连接成功。例如如下图,在B上看到,B连接到了A的端口40858上。
NetCat工具配置完成,这时,在C打开wireshark,选定eth0网卡。
在A、B任意机上发送信息,此时两边都能看到。如下图。
与此同时,C中wireshark也捕捉的到该报文。
但是,经过实验,如果不采用ARP嗅探方式(即A不经过C直接向B发送报文),C也是可以在wireshark中捕捉的到该信息。
ARP嗅探:
非ARP嗅探:
对比上面两张图,主要区别有二:
1.
ARP嗅探,一个TCP过程有4个报文,包括发送消息{A->C,C->B}和响应{B->C,C->A};
非ARP嗅探,一个TCP过程有2个报文,包括发送消息A->B和响应B->A。
2.
相同的Source或Destination对应的MAC地址不同,如上面两图所示。
非ARP嗅探,一个TCP过程有2个报文,包括发送消息A->B和响应B->A。
2.
相同的Source或Destination对应的MAC地址不同,如上面两图所示。