对一次ARP欺骗分析
一次ARP欺骗
一、 实验目的:
- 学习使用科来数据包生成器构造一个数据包
- 通过一次ARP实验,分析ARP报文格式
二、 实验内容:
通过科来数据包生成器在A主机上伪造一个arp数据包,并发送出去,将B主机的网关Mac地址的缓存修改为A的Mac地址。
三、 实验用到的工具
Wireshark、科来数据包生成器、若是在win7、8上还需要科来数据包播放器来发包(科来数据包生成器在win7、8上无法使用发包功能)
四、 实验平台
本次实验我是在虚拟机里面做的,xp系统是我装有数据包生成器的攻击机,windows 2003是我的欺骗对象。
五、 实验原理
同一局域网里面的两台主机之间相互通信是通过Mac地址寻址的,而如果两台主机若不是处于同一子网里面,则在通信的时候会相互将数据发送给各自的路由器网关,通过网关的IP寻址以达到通信目的。但是网关和自己局域网里面的主机通信的时候还是依靠Mac地址寻址的,所以如果我们要把自己攻击机伪造成网关达到欺骗作用,就应该把目标主机上的网关Mac地址缓存改为攻击机的Mac地址(这就可以通过伪造ARP报文来实现)。
正常情况下数据包的发送:
如图:在正常的情况下,处于两个子网之间的A和E之间的通信,会有A——>C——>D——>E。通过C和D这两个路由器的网关联通A和E。而现在实验所要做的就是将这一步改为A——>B——>D——>E,将B伪造成网关,这样一来所有从A到E的数据就都会通过B了,从而可以分析出A的上网情况,甚至是一些明文密码。
伪造的情况下:
六、 实验步骤
- 通过在DOS命令下知道攻击机的Mac地址和目标主机的Mac地址
目标主机windows 2003
攻击机xp
由此可知目标主机windows2003上的IP是192.168.115.130
Mac地址是00:0C:29:29:9B:88
网关是:192.168.115.2
攻击主机XP的IP是192.168.115.140
Mac地址是00:0C:29:CB:8F:C5
2.在尚未发送伪造报文时目标主机上的网关Mac地址缓存
3.开始伪造请求报文。在伪造的时候其实就是在B向A发送请求报文的基础上将源IP地址改为网关的,以达到将B伪造成网关C的目的
目地A的mac |
源B的Mac |
目地A的IP |
伪造成C的IP |
4.伪装的包:
由于这是一个请求报文,所以目的主机的Mac地址未知。
5.实验成功:
上面那个查的缓存是没法送ARP数据包之前的目标主机上的缓存,下面的是发送了包之后查看的,很明显。Arp欺骗成功。
七、 实验总结
通过这个实验,在伪造数据包的时候更深刻了解到了ARP报文的结构,在者就是认识到TCP/IP协议是相当不安全的,ARP报文可以修改达到中间人劫持获取用户和密码的目地,同样通过DNS欺骗可以制造钓鱼网站窃取密码,还可以通过修改UDP报文伪造对话,这一切的不安全因素都是因为在传输过程中任何人都可以截取、而且没有认证机制,以至于任何人可以随心所欲的修改它。
还有在实验室的时候网卡有保护机制,导致了在欺骗一次成功之后,由于网卡不断的发送数据包,导致之后目标主机的arp缓存中的网关Mac地址恢复正常。同样我在虚拟机的实验中也遇到了。这个问题我将放在下一个文档里面用以记录。
PS:不得不吐槽这个编辑器。。。。。。。。好吧,我从自己写的文档上复制过来,格式都没了。。。。。
从明天开始每天更一点Linux基础,这几天都有学一点linux的,可是比较忙,所以没上传上来,每一个星期都会写一个州总结,慢慢成长。
勿忘初心,方得始终。