内网渗透之ARP欺骗及其攻击手法

1.实验环境

设备/角色IPv4地址子网掩码MAC地址
​Win7主机​192.168.41.20255.255.255.000-0C-29-A9-5E-BF
​Kali主机​192.168.41.132255.255.255.000:0c:29:a4:ce:b5
​NAT网关​192.168.41.2255.255.255.000-50-56-ea-26-d7

 

sudo arpspoof -i eth0 -t 192.168.41.20 192.168.41.2

 arp欺骗前

arp欺骗后

 进行单向欺骗后,测试win7的网络联通性,以及win7与网关间的联通性。

 利用kali伪装成为网关对win7进行arp欺骗,同时伪装成为win7对网关也进行欺骗,形成双向欺骗。

sudo arpspoof -i eth0 -t 192.168.41.20 -r 192.168.41.2

攻击逻辑​

  1. ​欺骗Win7​​:让Win7认为Kali是网关(192.168.41.2 → Kali的MAC)。

  2. ​欺骗网关​​:让网关认为Kali是Win7(192.168.41.20 → Kali的MAC)。

  3. ​流量全拦截​​:Win7和网关之间的双向流量均通过Kali中转(需开启IP转发)。

测试双向欺骗后,win7的网络联通性,以及win7与网关间的联通性 

 IP转发,只有开启的kali上的ip转发功能,才能让win7数据包通过kali的路由表去找到真正的NAT网关,进而访问外网。

​开启Kali的IP转发​
# 临时生效
echo 1 > /proc/sys/net/ipv4/ip_forward

# 永久生效(编辑/etc/sysctl.conf)
sysctl -w net.ipv4.ip_forward=1

​作用​​:允许Kali在内核层面转发数据包

这里使用临时的IP转发

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

 此时win7还是不能上网的

当我修改

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

iptables -P FORWARD ACCEPT

之后win7才能正常的上网

1. iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 的作用​

  • ​功能​​:将 ​​Win7 的私有 IP(192.168.41.20)​​ 发出的数据包,在通过 Kali 的 eth0 接口(IP 为 192.168.41.132)时,修改其 ​​源 IP​​ 为 Kali 的 eth0 接口 IP(192.168.41.132)。

  • ​必要性​​:

    • Win7 的 IP 是私有地址(192.168.41.20),无法直接访问公网(如 8.8.8.8)。

    • NAT 网关(192.168.41.2)只接受来自同一子网(192.168.41.0/24)的流量。通过 MASQUERADE 规则,Win7 的流量“伪装”成 Kali 的 IP(192.168.41.132),从而被 NAT 网关接受并转发到外网。

​2. iptables -P FORWARD ACCEPT 的作用​

  • ​功能​​:允许 Kali 转发来自其他主机的数据包(默认策略可能为 DROP,导致转发被拒绝)。

  • ​必要性​​:

    • 即使开启了 IP 转发(net.ipv4.ip_forward=1),如果 FORWARD 链策略未设置为 ACCEPT,Kali 仍会丢弃来自 Win7 的转发流量。

    • 此规则确保 Kali 作为网关,能将 Win7 的流量从内网接口(连接 Win7)转发到外网接口(eth0 连接 NAT 网关)。

​Win7 访问 8.8.8.8 的流量路径(结合图片分析)​

​步骤 1:Win7 发送请求​

  • ​数据包信息​​:

    • 源 IP:192.168.41.20(Win7)

    • 目标 IP:8.8.8.8

    • 网关:192.168.41.132(Kali)

​步骤 2:Kali 处理转发​

  1. ​接收数据包​​:
    Kali 从内网接口(如 eth1)收到 Win7 的请求。

  2. ​路由决策​​:
    Kali 的路由表检查目标 IP(8.8.8.8),发现需通过默认网关(NAT 网关 192.168.41.2)从 eth0 发出。

  3. ​NAT 伪装​​:
    MASQUERADE 规则将 ​​源 IP 从 192.168.41.20 修改为 192.168.41.132​​(Kali 的 eth0 IP)。

  4. ​转发放行​​:
    FORWARD ACCEPT 策略允许数据包从 eth1 转发到 eth0

​步骤 3:NAT 网关处理​

  • ​数据包信息​​:

    • 源 IP:192.168.41.132(Kali)

    • 目标 IP:8.8.8.8

  • ​行为​​:
    NAT 网关(192.168.41.2)将源 IP 转换为公网 IP(假设为 203.0.113.5),并将请求发送到互联网。

​步骤 4:返回流量处理​

  1. ​响应返回​​:
    8.8.8.8 的响应目标为 NAT 网关的公网 IP(203.0.113.5)。

  2. ​NAT 网关反向转换​​:
    NAT 网关将目标 IP 从 203.0.113.5 转换回 192.168.41.132(Kali 的 eth0 IP)。

  3. ​Kali 反向 NAT​​:
    Kali 根据 NAT 表记录,将目标 IP 从 192.168.41.132 还原为 192.168.41.20(Win7)。

  4. ​转发到 Win7​​:
    数据包通过 Kali 的内网接口(eth1)送回 Win7。

​图片验证(tracert 8.8.8.8 结果)​

  1. ​第一跳​​:192.168.41.132(Kali),证明 Win7 的流量经过 Kali。

  2. ​第二跳​​:192.168.41.2(NAT 网关),证明 Kali 将流量转发到 NAT 网关。

  3. ​后续超时​​:公网路由器通常禁用 ICMP 响应(安全策略),不影响实际 TCP/UDP 通信(如网页访问)。

​流量路径示意图​

Win7 (192.168.41.20)
  │
  ↓ 源IP:192.168.41.20 → 目标IP:8.8.8.8
Kali (192.168.41.132)
  │ ① 修改源IP为192.168.41.132
  ↓ 源IP:192.168.41.132 → 目标IP:8.8.8.8
NAT网关 (192.168.41.2)
  │ ② 转换源IP为公网IP (203.0.113.5)
  ↓ 源IP:203.0.113.5 → 目标IP:8.8.8.8
互联网
  │
  ↓ 响应目标IP:203.0.113.5
NAT网关 (192.168.41.2)
  │ ③ 转换目标IP为192.168.41.132
  ↓ 目标IP:192.168.41.132
Kali (192.168.41.132)
  │ ④ 还原目标IP为192.168.41.20
  ↓ 目标IP:192.168.41.20
Win7 (192.168.41.20)

​关键结论​

  • ​MASQUERADE​​:解决私有 IP 无法访问公网的问题,使 Win7 流量“合法化”。

  • ​FORWARD ACCEPT​​:确保 Kali 允许转发流量,避免策略拦截。

  • ​双向欺骗​​:实际是 Kali 的 NAT 功能(非 ARP 欺骗),通过修改 IP 包头实现流量中转。 

 driftent 需要自行安装,安装命令:

sudo apt install driftnet

driftnet -i eth0 -d /home/kali/

 win7打开百度

kali嗅探到win7所访问http网站的图片


ettercap嗅探HTTP网站帐号密码 Ettercap是一款中间人攻击神器,集成了各种形式的中间人攻击手段, 并且是kali自带的工具。

sudo ettercap -G

开启ettercap

菜单栏选择 Sniff → Unified sniffing → 选择网卡(如eth0)。

菜单栏选择 Hosts → Scan for hosts。

在 Hosts List 中添加Win7和网关IP到目标(Add to Target 1 和 Target 2)

菜单栏选择 Mitm → ARP poisoning → 勾选 Sniff remote connections。

菜单栏选择 Start → Start sniffing。

 成功捕捉到明文的账号和密码

实验成功

关键总结​

步骤操作要点
​双向目标选择​Target1 = Win7, Target2 = 网关
​ARP 欺骗配置​勾选 Sniff remote connections,禁用单向欺骗
​IP 转发​必须启用,否则断网
​验证方法​检查 ARP 表 + 嗅探明文流量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值