记一次成功的arp流量转发以及实验过程中出现的问题

0x00    前言

之前笔者仔细学习了arp协议和arp欺骗的原理和细节,这里通过kali linux和其他虚拟机完成一个实验

实验环境: kali linux 2018.2(32位)  winxp(32位) ,均为虚拟机

实验工具:arpspoof,driftnet(获取靶机图片)

0x01    实验

首先打开kali linux 和winxp 虚拟机,xp的命令行输入

arp -a

在kali中首先可以用fping对局域网进行扫描,这里由于是已知目标ip,就不多做赘述了。

然后在kali命令行中使用工具arpspoof,实现arp欺骗或者流量转发。

具体步骤如下:

1、命令行输入

arpspoof -i (网卡) -t ip1(目标主机) ip2(网关)

在本实验中就是

arpspoof -i eth0 -t 192.168.0.5 192.168.0.1

2、观察目标arp缓存的变化

再次在xp机命令行中输入

arp -a

可见,对于xp来说,已经成功受到arp欺骗,这时如果xp相要通过网关访问互联网是不行的

3、然后再在kali 命令行中输入指令

表示数据包可转发。

4、最后再利用driftnet截取通过本机网卡的图片,语法为

driftnet -i (interface),在此实验中即为

driftnet -i eth0

跳出一个框

5、最后使用xp访问网页,可以在kali机上看到xp上面获得的图片

xp百度搜索 kali 跳出下列界面

记一次成功的arp流量转发以及实验过程中出现的问题_第1张图片

然后观察kali中driftnet的情况

记一次成功的arp流量转发以及实验过程中出现的问题_第2张图片

可以看到,确实已经得到了xp上面访问的图片

0x02   原理

上面为操作过程,但是原理也同样重要。

在之前的文章中,笔者写过有关于arp相关的一些知识,有兴趣的还请去看看,说得不清楚或者不正确的可以告诉我,我会及时修改。这里对arp的原理就不多说了。

首先,arpspoof工具的原理其实就是欺骗IP1,告诉IP1自己是IP2,这里笔者和网上一些文章所写有所出入。

在语法   arpspoof -i interface -t ip1 ip2 中,一些文章说是告诉IP2自己是IP1,经过笔者利用arp -a测试,得出的结论是告诉ip1自己是ip2。有兴趣的朋友可以试一试,对理解arp原理很有帮助,而且我也有可能写错了,了解的朋友还请指正。

另外,十分重要的一个指令

允许数据包转发对于是十分重要的,如果没有这一条指令,那么你只是欺骗了内网中的一个用户,告诉它网关是你,然后由于默认不允许转发,你的主机也不能转发该用户的数据包,那么它将处于断网状态,这时他会十分敏感地感受到异常,可能会及时处理异常网络情况,导致本次攻击失败。而如果转发了,经过实测,目标机的网速比起没有攻击时会变慢,可能是由于本机将作为一个必经口会多出来一跳,但是我个人感觉这一跳影响不会大,具体为什么会慢许多,有可能是虚拟机本身自己的情况,因为就算不实验,我感觉虚拟机网速也挺慢。

最后说一说driftnet的原理,其实这个原理最好理解,目标机的数据包都通过你的网卡再转发一次了,那么它在网上干的事情你也自然全都了解了。听说还有比driftnet更好用的工具,之后几天可能会出相关文章。

0x03 总结和本次实验得失

说实话,本次实验我个人走了许多误区,总的来说归结为以下几点。

1、arp协议的理解和arpspoof的利用问题

主要还是新工具的使用,arpspoof的参数顺序实验进行了一段时间才出结论,不过也对该知识的理解透彻了不少

2、为何要实现数据包转发,这个光靠说很难理解它的重要性,但只要你实验一下你立刻就可以意识到它的意义。仅仅断网对于进一步的工作是无意义的。

3、虚拟机、实机的选用

一开始是想用kali来攻击我的本机的,但仅仅实现了断网这一步,关于数据包转发这一步怎么也没有做到,可以确定的是那个重要参数确定是设置为1了的,需要转发。最后看网上说可能是因为实机和虚拟机间的不同造成的,于是选择了两个虚拟机来进行实验,之后准备做一下两个实机间的实验。

4、局域网的安全问题

可以看到,局域网中本身几乎是没有安全可言的,如果你和攻击者处于同一局域网下,极其难以防御,所以那些外面的网络不能乱连,尤其是那些随地可以见的,不要密码的wifi。

 

你可能感兴趣的:(ARP欺骗,kali,linux)