网络攻防实验之模拟arp攻击

时间:2024-02-20 18:18:09

      因为我的电脑本机是连的网线,而虚拟机的网卡使用的是NAT模拟,所以虚拟机和本机就不在一个局域网里面的,就没法进行arp攻击,所以我就用两台虚拟机来进行arp攻击

(注意arp攻击是局域网攻击)

arp攻击原理:

     ARP欺骗攻击建立在局域网主机间相互信任的基础上的

     当A发广播询问:我想知道IP是192.168.0.3的硬件地址是多少?

     此时B当然会回话:我是IP192.168.0.3我的硬件地址是mac-b,

     可是此时IP地址是192.168.0.4的C也非法回了:我是IP192.168.0.3,我的硬件地址是mac-c。而且是大量的。

     所以A就会误信192.168.0.3的硬件地址是mac-c,而且动态更新缓存表

     这样主机C就劫持了主机A发送给主机B的数据,这就是ARP欺骗的过程

 

ARP协议工作过程:A➔B,A向B发送数据

  •  A先在其ARP高速缓存中查看有无B的IP地址和MAC地址。如有,就通过局域网把数据发往此硬件地址。
  •  如果查不到B的IP,A的ARP进程在本局域网上广播发送一个ARP请求分组,主要内容是A的IP地址、MAC地址,B的IP地址。 局域网上的所有主机运行的ARP进程都收到此ARP请求分组。 
  •  主机B的IP地址与ARP请求分组中要查询的IP地址一致,就收下这个ARP请求分组,并向A发送ARP响应分组(其中写入了B自己的硬件地址),同时将A的地址映射写入自己的ARP高速缓存中。由于其余的所有主机IP地址都与ARP请求分组要查询的IP地址不一致,因此都不理睬这个ARP请求分组。 
  •  A收到B的ARP响应后,就在其ARP高速缓存中写入B的IP地址到硬件地址的映射。 至此,A得到了从B的IP地址和MAC地址。当这个映射项目在高速缓存中保存超过生存时间,将被从高速缓存中删除。
     

攻击步骤:

      ①确定被攻击计算机的ip地址和网关ip

          (linux下用route命令可以获得,windows下用ipconfig)

     ②arp流向劫持(造成被攻击者断网)

           arpspoof -i eth0(网卡) -t(目标ip) (网关ip)

     ③设置端口转发

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

     ④监听对方流量并且嗅探对方所浏览的图片

driftnet -i eth0

 

解释:

      arpspoof是一款断网攻击软件

      linux因为系统安全考虑,是不支持IP转发的,其配置文件写在/proc/sys/net/ipv4的ip_forward中。默认为0,接下来修改为1。

-------------------------------------------------------------------------------

实验过程:

获取被攻击者的ip和网关

(注意这里的网关,一般默认最后一位是.1,但也是有例外,像这个就是.2)

用arpspoof进行流量劫持 

arpspoof -i eth0 -t 192.168.244.130 192.168.244.2

被攻击者就上不了网了

设置端口转发,监听对方流量并嗅探图片

echo 1 > /proc/sys/net/ipv4/ip_forwardd

driftnet -i eth0