news 2026/7/24 21:14:28

【CTF-MISC-流量】从TCP协议中查询开放的端口到ARP欺骗中识别真实网关

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【CTF-MISC-流量】从TCP协议中查询开放的端口到ARP欺骗中识别真实网关

题目

KnightCTF 2026
https://2026.knightctf.com/

第一题 Reconnaissance

Question: 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 Identification

During 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 challenge

Author: TareqAhamed (0xt4req)

翻译:在初始侦察过程中,攻击者收集了有关网络基础设施的信息。我们需要识别在此捕获中充当默认网关的网络设备的供应商。这些信息可以帮助我们了解是否有任何特定于供应商的漏洞被利用。

解题

第一题

加载流量包

筛选开放的端口

TCP连接建立的三次握手过程:

  1. 第一次握手 :客户端向服务器发送SYN包( tcp.flags.syn == 1, tcp.flags.ack==0 ),表示请求建立连接
  2. 第二次握手 :如果服务器的对应端口是开放的,会返回SYN+ACK包( tcp.flags.syn == 1, tcp.flags.ack==1 ),表示接受连接请求
  3. 第三次握手 :客户端发送ACK包( tcp.flags.syn == 0, tcp.flags.ack==1 ),完成连接建立

因此,我们使用 tcp.flags.syn == 1 and tcp.flags.ack==1 搜索到的端口是开放的

第二次握手,如果不开放,则返回RST+ACK包,用tcp.flags.reset==1 and tcp.flags.ack ==1进行搜索

tcp.flags.syn==1andtcp.flags.ack==1"

识别攻击者与目标系统IP

  • 虽然识别出来了39个开放的端口,但题目问的目标系统有多少个开放的端口,所以我们要确定攻击者和目标系统的IP

  • tcp.flags.syn==1 and tcp.flags.ack ==0 过滤出的是 TCP连接请求的第一个包。正常网络通信中,设备通常只会向特定端口发送少量SYN包,用于建立必要的连接。而攻击者在进行端口扫描时,向同一目标IP的 大量不同端口 发送SYN包,且通常只发送SYN包,不完成完整的三次握手(即没有后续的ACK包)。

tcp.flags.syn==1andtcp.flags.ack==0

由此确认攻击者IP为192.168.1.104,目标系统IP为192.168.1.102

筛选开放的端口时 加上攻击者和目标系统的IP

  • 精确统计目标系统对攻击者的SYN+ACK响应
  • 只关注目标系统(192.168.1.102)对攻击者(192.168.1.104)的响应
  • SYN+ACK包的源端口就是目标系统上开放的端口
tcp.flags.syn==1andtcp.flags.ack==1andip.src==192.168.1.102 andip.dst==192.168.1.104

发现开放端口为22(SSH)和80(HTTP)

答案

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.opcode==1 :表示这是ARP请求包(询问"谁拥有这个IP?请告诉我你的MAC地址")
  • arp.opcode==2 :表示ARP响应包(回答"我拥有这个IP,我的MAC地址是…")
arp.opcode==1

发现结果中,存在两种情况:

  • 大量重复的 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)与之前的攻击IP:192.168.1.104的MAC地址相同,且操作很像典型的网络侦察行为,尝试扫描192.168.253.0/24和172.16.30/24等网段的活跃主机

  • 所以192.168.1.1是网关设备

分析网关数据包

通过查看网关IP(192.168.1.1)对应的MAC地址,可以确定其供应商。
所有来自192.168.1.1的数据包都使用相同的MAC地址88:bd:09:38:d7:a0,供应商为NetisTechnol

答案

KCTF{Netis}

附录:ARP扫描原理

流量包里包含非常经典的ARP扫描(探测)行为,通常也被称为ARP SweepARP Discovery

1. 攻击者的真实IP(192.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欺骗”
      1. 混杂模式:让他的网卡接收所有流经网络的包,而不仅仅是发给自己的包。这样他就能“偷听”到那些回复给192.168.0.1的单播包。
      2. ARP欺骗:他可能已经或即将向网络发送虚假的ARP通告,声称192.168.0.1的MAC地址就是他自己的MAC(LiteonTechno_7e:74:6b。这样一来,所有想发给网关192.168.0.1的流量(包括这些ARP回复)实际上都会发到他的机器上。

总结:攻击者在做什么?

这是一个典型的、带有IP欺骗主动ARP扫描

  1. 目的:发现192.168.0.0/24网段内所有在线的主机及其MAC地址。
  2. 手段
    • 伪造源IP (192.168.0.1) 以隐藏自身 (192.168.1.104)。
    • 发送大量ARP广播请求进行“地毯式轰炸”。
  3. 后续可能
    • 网络侦察:绘制目标网络拓扑。
    • 为更高级的攻击做准备:如ARP欺骗(中间人攻击)、针对特定主机的漏洞利用等。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/24 21:14:17

Windows Defender终极控制指南:彻底掌控系统安全防护的利器

Windows Defender终极控制指南:彻底掌控系统安全防护的利器 【免费下载链接】defender-control An open-source windows defender manager. Now you can disable windows defender permanently. 项目地址: https://gitcode.com/gh_mirrors/de/defender-control …

作者头像 李华
网站建设 2026/7/24 21:12:17

TDR阻抗测试仪.哪.家好?Bamtone H系列深度评测

在高速数字设计、射频工程和精密线缆制造中,当信号速率跃升至Gbps级别,或传输距离延长时,哪怕微小的阻抗失配都可能引发严重的信号反射、抖动和衰减,导致系统失效。因此,选择一台精准、可靠、高效的时域反射&#xff0…

作者头像 李华
网站建设 2026/7/24 21:10:42

如何快速掌握mytv-android:电视直播体验的完整解决方案

如何快速掌握mytv-android:电视直播体验的完整解决方案 【免费下载链接】mytv-android 使用Android原生开发的视频播放软件 项目地址: https://gitcode.com/gh_mirrors/my/mytv-android mytv-android是一款基于Android原生开发的高性能电视直播应用&#xff…

作者头像 李华
网站建设 2026/7/24 21:05:29

【关注可白嫖源码】--课程设计--毕业设计--springboot智能家电购物商城[编号:project77956](案件分析)

本文仅展示核心实现逻辑与部分代码片段,完整项目源码、配套文档、数据库脚本内容较多,篇幅有限无法全部放出。 有需要完整资源的同学,可以在评论区留言【资料或领源码】,我会一 一回复站内私信,发送完整文件 摘 要 智…

作者头像 李华
网站建设 2026/7/24 21:04:25

AttriLens-Mol: Attribute Guided Reinforcement Learning for Molecular Property Prediction with Lar...

文章主要内容和创新点 主要内容 本文提出了一种基于属性引导的强化学习框架AttriLens-Mol,用于利用大型语言模型(LLMs)进行分子性质预测。该框架旨在解决现有LLM方法依赖人工设计提示或思维链模板、推理过程冗长且相关性不足的问题。 AttriLens-Mol通过三种奖励机制引导模…

作者头像 李华