泛洪的基本原理就是基于协议通信,完成大流量高并发操作,导致目标主机各类资源消耗过多而无法提供正常服务,基于多线程或多进程。(MAC地址泛洪,ARP泛洪欺骗
常见的泛洪攻击有,基于socket三次握手泛洪,MAC泛洪,基于scapy半连接泛洪,基于ICMP协议泛洪,使用Ping命令泛洪等。本篇只演示基于ARP协议的MAC地址泛洪,所有演示均在本地环境内完成,请勿在真实网络内使用!!!!
MAC地址泛洪
定义任意数据包,并生成随机的MAC地址,不停地发送该条数据,该条数据就会流向交换机,而此时交换机就会发现源MAC地址在 MAC表中不存在,则会将其添加到MAC表中,当大量发送时则会填满MAC表,导致新的MAC地址不能添加到MAC表,那么MAC表就会进行广播,导致整个局域网的的数据流量全员可见。
混杂模式
默认情况下,VMWare使用混杂模式,整个网络的通信过程类似于广播,在任意网段内的流量均被其他主机监听。
禁用混杂模式
修改虚拟机配置文件.vmx,添加ethernet0noPromisc = “TRUE”,重启虚拟机
VMWare有三种虚拟网络工作方式
| 网络类型 | 交换机名称 |
|---|---|
| 桥接模式 | VMnet0 |
| NAT | VMnet8 |
| 仅主机模式 | VMnet1 |
NAT、Briged模式均可与外网进行通信,Host-Only模式一般只能在内网进行通信。
1、NAT(网络地址转换模式)
安装好虚拟机后,它的默认网络模式就是NAT模式。
原理:通过宿主机的网络来访问公网。虚拟局域网内的虚拟机在对外访问时,使用的则是宿主机的IP地址,这样从外部网络来看,只能看到宿主机,完全看不到新建的虚拟局域网。
2、Bridged(桥接模式)
类似局域网中的一台独立的主机,它可以访问内网任何一台机器,但是它要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信,主机防火墙开启会导致ping不通。
设置:
(1)默认存在自动获取ip机制,只需要将虚拟机设置为Bridged(桥接模式),虚拟机会自动获取新的ip,保证ip地址与宿主机在同一个网段。
(2)如果是手工配置机制,那么为了保持虚拟机与宿主机在同一个网段,其中涉及人工配置ip,比较麻烦。
3、Host-only(主机模式)
在某些特殊的网络环境中,要求将真实环境和虚拟环境隔离开,这时你就可采用host-only模式。
在这种模式下宿主机上的所有虚拟机是可以相互通信的,但虚拟机和真实的网络(物理机网络)是被隔离开的。

ARP欺骗
ARP欺骗(ARP spoofing),又称ARP毒化(ARP poisoning,网络上多译为ARP病毒)或ARP攻击,是针对以太网地址解析协议(ARP)的一种攻击技术,通过欺骗局域网内访问者PC的网关MAC地址,使访问者PC错以为攻击者更改后的MAC地址是网关的MAC,导致网络不通。此种攻击可让攻击者获取局域网上的数据包甚至可篡改数据包,且可让网络上特定计算机或所有计算机无法正常连线。(百度百科)
攻击机:kali
目标机:Windows10
两台机器处于同一局域网,并能够上网。假设攻击者不知道目标机的内网ip地址。
断网攻击
我们可以先看一下受害机此时的网关的MAC地址,以便于后续攻击成功后对比。
此时网关的MAC地址是正常的。

接着就是操作攻击机对目标机进行ARP欺骗了。
首先要知道目标机的局域网IP地址,以及局域网所在的网段。
有下图可以得知主机ip为192.168.62.134,子网掩码是255.255.255.0.
可以判断网段是192.168.62.0/24.
这样我们就可以使用nmap,扫描网段内存活的主机
使用
nmap -sP 192.168.62.0/24

下表是对扫描结果的一些解释
| IP 地址 | 角色说明 |
|---|---|
.1 |
默认网关(NAT 设备) —— 这是虚拟路由器,负责转发虚拟机到外网的流量。 |
.2 |
DHCP 服务器 —— VMware 的虚拟 DHCP 服务,自动分配 IP 给虚拟机。 |
.254 |
有时是备用网关或保留地址,但在某些版本/配置中可能未使用,或用于特殊目的(如 VMware 的“虚拟网络编辑器”自定义设置)。 |
其他 IP(如 .134, .145) |
用户主机 |
较新版本的 VMware(尤其是 Workstation 15.5+ 或 Fusion)中,架构发生了变化:
VMware 将 NAT 网关和 DHCP 服务合并到同一个虚拟设备上。
这个设备通常使用 .2 作为 IP 地址同时承担:
DHCP 服务器
NAT 网关(默认路由)
而 .1 可能被保留、未使用,或用于其他内部目的(比如虚拟网络接口本身)。
因此能够判断192.168.62.145是要攻击的目标机的局域网IP,(192.168.62.134是本机IP)网关IP是192.168.62.2
可以使用
ip route show
arp -a
查看流量包所经过的路径以及当前主机的arp表。
注:eth0,为主机的网卡名称
至此信息收集完毕,就可以进行ARP欺骗了
输入命令
arpspoof -i eth0 -t 192.168.62.145 192.168.62.2
攻击语句中的几个主要参数分别是:
| 0:c:29:44:b5:4c | 本机MAC 地址 |
|---|---|
| 0:c:29:a/:a5:f6 | 目标机MAC地址 |
| 192.168.62.2 | 网关IP |

现在可以检验一下
在目标机输入
arp -a
发现在目标机的ARP表中192.168.62.2对应的MAC动地址已经变成了攻击机的MAC地址,说明欺骗成功
在目标机输入
ping www.baidu.com
发现无法上网

此时,如果结束攻击机的攻击进程,目标机则恢复正常

流量监听
ARP欺骗的攻击原理即攻击机不断向目标机发送ARP包,告诉目标机,网关的MAC地址是自己的MAC地址,导致目标机在上网时,错误的将流量发送给攻击机,而不是真正的网关。既然目标机将流量发送给攻击机,那么我们就可以在控制端监听流量,转发甚至篡改。
如果要实现此效果,需要开启攻击机的流量转发
修改配置文件,将其设为1,即开启流量转发
echo 1 >> /proc/sys/net/ipv4/ip_forward

并在攻击端开启wireshark,监听eth0网卡的流量
此时再次使用命令
arpspoof -i eth0 -t 192.168.62.145 192.168.62.2
可以发现此时受害机是可以正常上网的,但是其流量是由攻击机进行转发的

由于大部分流量都是走https协议经过加密的,并不直观,我找了一个专门用来测试http请求的网站,可以更清晰的展示流量
访问http://httpbin.org,提交一个表单请求。

在wireshark中过滤http流量,可以看到用户提交的敏感信息。
