【最近小镇除了在研究mysql的性能优化还在研究一些网络安全方面的知识,今天在android上面看到一款很不错的软件,叫Zanti,推荐大家装一下,装了这个软件之后,你可以劫持跟你在一个局域网下面的用户发送的数据,今天我就用zanti看到了一个妹子聊天发送的一些图片和信息,甚至你还可以更改她所上网页的内容,真是非常的另人“激动”啊,那么,今天我们就来学习该劫持信息的方法和原理并用kali linux里面的工具实现该劫持功能】
【小镇总结下先,该项劫持功能应该叫中间人攻击信息劫持,而中间人攻击所用到的核心漏洞就是arp协议的完全信任性,其欺骗方法被称为arp欺骗。】
科普ARP欺骗
首先了解ARP协议
地址解析协议,即ARP(Address Resolution Protocol),是根据 IP地址
获取 物理地址
的一个 TCP/IP协议
。 主机
发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
【就是ip地址解析成物理地址的协议呗】
arp欺骗
欺骗原理
假设一个网络环境中,网内有三台主机,分别为主机A、B、C。主机详细信息如下描述:
A的地址为:IP:192.168.10.1 MAC: AA-AA-AA-AA-AA-AA
B的地址为:IP:192.168.10.2 MAC: BB-BB-BB-BB-BB-BB
C的地址为:IP:192.168.10.3 MAC: CC-CC-CC-CC-CC-CC
正常情况下A和C之间进行通讯,但是此时B向A发送一个自己伪造的ARP应答,而这个应答中的数据为发送方IP地址是192.168.10.3(C的IP地址),MAC地址是BB-BB-BB-BB-BB-BB(C的MAC地址本来应该是CC-CC-CC-CC-CC-CC,这里被伪造了)。当A接收到B伪造的ARP应答,就会更新本地的ARP缓存(A被欺骗了),这时B就伪装成C了。同时,B同样向C发送一个ARP应答,应答包中发送方IP地址四192.168.10.1(A的IP地址),MAC地址是BB-BB-BB-BB-BB-BB(A的MAC地址本来应该是AA-AA-AA-AA-AA-AA),当C收到B伪造的ARP应答,也会更新本地ARP缓存(C也被欺骗了),这时B就伪装成了A。这样主机A和C都被主机B欺骗,A和C之间通讯的数据都经过了B。主机B完全可以知道他们之间说的什么:)。这就是典型的ARP欺骗过程。
注意:一般情况下,ARP欺骗的某一方应该是网关。
【这下大家应该猜到了吧,这种欺骗就是强行让你的数据经过中间人,而中间人就是黑客,那么黑客在通过数据包解析提取工具就能从中获取有用的信息了,那么我们下面在实战操作一下!】
在这里,我们用kali linux作为攻击机器,一台win10做为受害者,好了,我们现在开始试验,首先在win10机器上打开cmd,运行ipconfig,如下图所示,得到win10的ip地址是192.168.237.131
然后打开kali linux的terminal,输入命令arpspoof -i eth0 -t 192.168.237.131 192.168.1.1(路由器ip地址),利用arpspoof工具进行arp欺骗,让其认为kali linux的mac地址就是路由器的mac地址,命令如下图所示:
好了,现在就arp诱骗成功了,然后用win10的机器百度图片,看看kali linux是否能抓到图片。在kali linux的terminal中输入driftnet -i eth0利用driftnet工具来解析抓取的数据包,可以看到抓到相应的图片了,如下图所示,第一张是win10的百度图片,第二张是kali linux上抓到的图片。
win10的百度图片
driftnet抓取的图片
打开wireshark可以看到192.168.237.131的数据包,如下图所示:
大家可以看到,这样就抓取了相应的数据了,可以利用这样的工具配合其他的攻击工具可以干很多很多的坏事,怎么防止呢!很简单,装个360就可以完美防住了!!好了,今天就到这边,明天再带来新的工具的学习。