ARP欺骗攻击

什么是ARP欺骗攻击

ARP协议:

  • 在以太网中,是用MAC地址来进行通讯的。所以要用 ARP 协议将 IP 地址解析成 MAC 地址。
  • ARP 协议就是通过目的 IP 询问设备的 MAC 地址。局域网中的每一台设备都有一个 ARP 缓存表,表中存放 IP 和 MAC 地址的对应情况。
  • 过程如下:在一个以太网交换网络内,主机A希望能与主机B进行交流,所以主机A对整个网络进行广播,然后使用地址解析协议找到目标主机B的MAC地址。尽管整个广播域下都能收到主机A发送的信息,但只有主机B才会回复ARP请求,将自己的MAC地址发给主机A。
主机A向全网:
源IP: A的IP
源 MAC: A的MAC
目的IP: B的IP
目的MAC地址: 00:00:00:00:00:00 
之后B主机回复ARP请求:
源 IP: B的IP
源 MAC: B的MAC
目的 IP: A的IP
目的 MAC地址: A的MAC

ARP欺骗:

  • ARP 是个早期的网络协议,RFC826在 1980就出版了。早期的互联网采取的是信任模式,在科研、大学内部使用,追求功能、速度,没考虑网络安全。
  • ARP 欺骗就是非法的宣称自己是某个 IP 的 MAC 地址,使询问者错误的更新 ARP 缓存表,这样被欺骗主机发送的数据就会发送到发起攻击的主机,而不是理想的目的 IP 主机。
  • 如果攻击者将目的主机也欺骗,就可以实现对两台主机之间数据传输的控制。
  • ARP攻击仅能在以太网(局域网如机房、内网、公司网络等)进行。无法对外网(互联网、非本区域内的局域网)攻击。

利用虚拟机进行ARP攻击

准备:

Dsniff工具集,包含的工具主要分为四类:

  1. 纯粹被动地进行网络活动监视的工具,包括:dsniff、filesnarf、mailsnarf 、msgsnarf、urlsnarf、webspy;
  2. 针对SSH和SSL的MITM(Man-In-The-Middle)"攻击"工具,包括sshmitm和webmitm;
  3. 发起主动欺骗的工具,包括:arpspoof、dnsspoof、macof;
  4. 其它工具,包括tcpkill、tcpnice
工具:Dsniff工具集中的arpspoof

平台:VMware

虚拟机:XP作为被攻击方;Ubuntu作为攻击方

将虚拟机的网络连接模式设置为桥接模式,在试验过程中发现仅在虚拟机设置中将网络适配器设置为桥接模式不能使两个运行的虚拟机处于同一个局域网中。需要将网络适配器设置为自定义,选择特定虚拟网络中的桥接网络。具体有哪些虚拟网络可以在 编辑->虚拟机网络编辑器 中添加、配置、删除。



局域网的模式是所有主机在一个子网中,具有相同的IP前缀,主机想要和外网通信时需要向局域网的网关IP发送请求,从网关接收数据。所以进行ARP欺骗就是用局域网中的攻击主机(记为Attacker)欺骗被攻击主机(记为Target)自己就是网关,从而接收到Target发送的数据,再欺骗网关自己就是Target从而获取网关发送给Target的数据。

虚拟机的四种网络模式介绍:

NAT 模式:Vhost 访问网络的所有数据由主机提供,vhost 并不真实存在于网络中,主机与网络中的任何机器都不能查看和访问到 Vhost 的存在。

桥接模式:通过主机网卡直接连入到网络中了。因此,它使得虚拟机能被分配到一个网络中独立的 IP,所有网络功能完全和在网络中的真实机器一样。 IP 一般是 DHCP 分配的。

Internal 模式:内部网络模式,虚拟机与外网完全断开,只实现虚拟机与虚拟机之间的内部网络模式。IP:由 DHCP 服务器会分配。

主机模式:是一种比较复杂的模式,前面几种模式所实现的功能,在这种模式下,通过虚拟机及网卡的设置都可以被实现。

步骤:

欺骗之前:

在Ubuntu中安装Dsniff:要用到管理员权限

sudo apt-get install dsniff

查看XP的IP地址:在cmd使用ipconfig命令,我的XP的IP地址是192.168.43.181

查看Ubuntu的IP地址:在终端用ifconfig命令,我的Ubuntu的IP地址是192.168.43.231

在Ubuntu中查看网关:终端运行命令:netstat -rn


欺骗之前先查看一下XP中的ARP缓存表,在cmd中用arp -a命令:可以看出分别为网关的mac地址和局域网中另一个主机Ubuntu的MAC地址


进行欺骗:

Ubuntu中:分别在在两个终端运行命令:

arpspoof -i ens33 -t 192.168.43.1 192.168.43.181
arpspoof -i ens33 -t 192.168.43.181 192.168.43.1

arpspoof命令解释:

Usage: arpspoof [-i interface] [-c own|host|both] [-t target] [-r] host

其中的interface可以在Ubuntu中查看网关是看到,本机为ens33,这条命令的意思即为:欺骗主机host自己就是主机target

命令1的意思是告诉XP我Ubuntu就是网关,命令2的意思是告诉网关我Ubuntu就是XP

运行之后的界面:


断网攻击:

在Ubuntu的另一个终端中运行:这条命令要在root下运行

echo 0 > /proc/sys/net/ipv4/ip_forward
命令的中'0'含义是终止数据包转发,使XP断网
echo 1 > /proc/sys/net/ipv4/ip_forward

命令的中'1'含义是允许数据包转发,即停止断网

在攻击前后可以在XP的cmd运行ping www.baidu.com看是否可以ping通

数据获取:

安装工具:

sudo apt-get install driftnet

在终端以管理员身份运行:

sudo driftnet

之后会弹出driftnet窗口

此时在XP中打开任意网页就可以在Ubuntu中的driftnet窗口中看到获取的图片


 
 

猜你喜欢

转载自blog.csdn.net/qq_40711741/article/details/80205258