【CTF-MISC-流量】从TCP协议中查询开放的端口到ARP欺骗中识别真实网关 题目KnightCTF 2026https://2026.knightctf.com/第一题 ReconnaissanceQuestion: Our IDS flagged some suspicious scanning activity in the first capture.The attacker was probing our network to identify potential entry points. Analyze the traffic and determine how many ports were found to be open on the target system.翻译我们的IDS在首次捕获时标记出了一些可疑的扫描活动。攻击者正在探查我们的网络以识别潜在的入口点。请分析这些流量并确定在目标系统中发现了多少个处于开放状态的端口。第二题 Gateway IdentificationDuring the initial reconnaissance, the attacker gathered information about the network infrastructure. We need to identify the vendor of the network device acting as the default gateway in this capture. This information could help us understand if any vendor-specific vulnerabilities were exploited.Flag Format KCTF{vendor_name}Use pcap1.pcapng to solve this challengeAuthor: TareqAhamed (0xt4req)翻译在初始侦察过程中攻击者收集了有关网络基础设施的信息。我们需要识别在此捕获中充当默认网关的网络设备的供应商。这些信息可以帮助我们了解是否有任何特定于供应商的漏洞被利用。解题第一题加载流量包筛选开放的端口TCP连接建立的三次握手过程第一次握手 客户端向服务器发送SYN包 tcp.flags.syn 1, tcp.flags.ack0 表示请求建立连接第二次握手 如果服务器的对应端口是开放的会返回SYNACK包 tcp.flags.syn 1, tcp.flags.ack1 表示接受连接请求第三次握手 客户端发送ACK包 tcp.flags.syn 0, tcp.flags.ack1 完成连接建立因此我们使用 tcp.flags.syn 1 and tcp.flags.ack1 搜索到的端口是开放的第二次握手如果不开放则返回RSTACK包用tcp.flags.reset1 and tcp.flags.ack 1进行搜索tcp.flags.syn1andtcp.flags.ack1识别攻击者与目标系统IP虽然识别出来了39个开放的端口但题目问的目标系统有多少个开放的端口所以我们要确定攻击者和目标系统的IPtcp.flags.syn1 and tcp.flags.ack 0 过滤出的是 TCP连接请求的第一个包。正常网络通信中设备通常只会向特定端口发送少量SYN包用于建立必要的连接。而攻击者在进行端口扫描时向同一目标IP的 大量不同端口 发送SYN包且通常只发送SYN包不完成完整的三次握手即没有后续的ACK包。tcp.flags.syn1andtcp.flags.ack0由此确认攻击者IP为192.168.1.104目标系统IP为192.168.1.102筛选开放的端口时 加上攻击者和目标系统的IP精确统计目标系统对攻击者的SYNACK响应只关注目标系统192.168.1.102对攻击者192.168.1.104的响应SYNACK包的源端口就是目标系统上开放的端口tcp.flags.syn1andtcp.flags.ack1andip.src192.168.1.102 andip.dst192.168.1.104发现开放端口为22SSH和80HTTP答案KCTF{2}第二题查看ARP数据包题目要确定网关的设备型号那我们需要确定网关的IP地址默认网关会发送ARP查询包来维护网络设备的MAC地址表ARP协议用于将IP地址映射到MAC地址所以我们查看ARP数据包了解网络设备的IP和MAC地址对应关系arp但发现多个设备的IP和MAC地址对应关系需要进一步筛选查找DHCP信息DHCP服务器在分配IP地址时会发送会在响应中包含默认网关信息。DHCP通信包含四个阶段需要区分客户端请求和服务器响应阶段数据包类型发送方接收方主要作用1. 发现DHCP Discover客户端广播寻找DHCP服务器2. 提供DHCP Offer服务器广播/单播提供IP地址等配置3. 请求DHCP Request客户端广播请求接受提供的配置4. 确认DHCP ACK服务器广播/单播确认配置并提供网关等信息dhcp只发现了DHCP Request数据包第3阶段关键特征Message type: Boot Request (1) 明确是客户端请求Source Address: 0.0.0.0 客户端还没有IP地址Destination Address: 255.255.255.255 广播发送Requested IP Address (192.168.1.101) 客户端请求特定IP并不是我们想要的DHCP Offer或者DHCP ACK继续分析ARP请求模式arp.opcode1 表示这是ARP请求包询问谁拥有这个IP请告诉我你的MAC地址arp.opcode2 表示ARP响应包回答我拥有这个IP我的MAC地址是…arp.opcode1发现结果中存在两种情况大量重复的 Who has 192.168.1.100? Tell 192.168.1.1。解释 IP 地址为 192.168.1.1 的设备很可能是这个局域网的默认网关或路由器在持续、高频地询问 192.168.1.100 的 MAC 地址。LiteonTechno_7e:74:6b (9c:2f:9d:7e:74:6b)与之前的攻击IP192.168.1.104的MAC地址相同且操作很像典型的网络侦察行为尝试扫描192.168.253.0/24和172.16.30/24等网段的活跃主机所以192.168.1.1是网关设备分析网关数据包通过查看网关IP192.168.1.1对应的MAC地址可以确定其供应商。所有来自192.168.1.1的数据包都使用相同的MAC地址88:bd:09:38:d7:a0供应商为NetisTechnol答案KCTF{Netis}附录ARP扫描原理流量包里包含非常经典的ARP扫描探测行为通常也被称为ARP Sweep或ARP Discovery。1. 攻击者的真实IP192.168.1.104为什么没出现在数据包里流量显示攻击者没有使用自己的真实IP。数据包中Tell 192.168.0.1是一个伪造的源IP地址Sender Protocol Address。为什么这么做这是一种ARP欺骗扫描或隐蔽扫描的手法隐藏自身攻击者192.168.1.104不想暴露自己的真实IP避免被日志记录或直接追踪。伪装成网关192.168.0.1通常是这个/24子网的默认网关地址。伪装成网关可能会让目标主机在回应时更“配合”或者为后续的中间人攻击做准备。试探网络结构通过观察哪些IP地址有ARP回应攻击者可以绘制出当前活跃主机的网络地图而且自己还不暴露。2. 为什么要发送这么多包询问 192.168.0.2 到 192.168.0. …这是主机发现阶段。攻击者想要知道在这个192.168.0.0/24网段里哪些IP地址是活跃的即有哪些机器在线。这些活跃IP地址对应的MAC地址是什么。原理ARP协议是局域网的“电话簿”。当一个设备想知道某个IP地址对应的MAC地址时它会广播一个“Who has [IP]? Tell [Sender IP]”的请求。如果该IP地址的设备在线它就会单播回复“Hey[IP] is at [MAC]”。所以攻击者通过依次询问.2,.3,.4… 直到.254来“敲门”。有回应的就是在线主机。3. 告诉 192.168.0.1攻击者能收到么答案是能收到但方式不是直接的。数据包是广播的注意看目标MAC地址是Broadcast(FF:FF:FF:FF:FF:FF)。这意味着这个ARP请求会被发送到整个局域网的所有设备。所有设备都能“听到”包括攻击者自己的网卡LiteonTechno_7e:74:6b以及网段内所有其他主机。但只有被问到的目标会回复当攻击者发出Who has 192.168.0.2? Tell 192.168.0.1时IP地址为 192.168.0.2 的主机如果在线会认为192.168.0.1伪造的网关在找它。于是.2主机会单播一个ARP回复给192.168.0.1。攻击者如何截获回复——这里就是关键因为192.168.0.1这个IP是攻击者伪造的实际拥有这个IP的网关如果存在可能会收到回复并感到困惑因为MAC地址不匹配或者直接忽略。为了确保能收到回复攻击者几乎必定同时开启了“混杂模式”和“ARP欺骗”。混杂模式让他的网卡接收所有流经网络的包而不仅仅是发给自己的包。这样他就能“偷听”到那些回复给192.168.0.1的单播包。ARP欺骗他可能已经或即将向网络发送虚假的ARP通告声称192.168.0.1的MAC地址就是他自己的MACLiteonTechno_7e:74:6b。这样一来所有想发给网关192.168.0.1的流量包括这些ARP回复实际上都会发到他的机器上。总结攻击者在做什么这是一个典型的、带有IP欺骗的主动ARP扫描。目的发现192.168.0.0/24网段内所有在线的主机及其MAC地址。手段伪造源IP (192.168.0.1) 以隐藏自身 (192.168.1.104)。发送大量ARP广播请求进行“地毯式轰炸”。后续可能网络侦察绘制目标网络拓扑。为更高级的攻击做准备如ARP欺骗中间人攻击、针对特定主机的漏洞利用等。