kwatson-williams/TCP-SYN-Port-Scan

GitHub: kwatson-williams/TCP-SYN-Port-Scan

本项目通过 Wireshark 分析 PCAP,识别并缓解分布式 TCP SYN 端口扫描。

Stars: 0 | Forks: 0

# TCP-SYN-Port-Scan ## 概述 本实验对来自 Blue Team Labs Online (BTLO) 平台的捕获文件 `Task #1003.pcapng` 进行了一次完整的**网络取证调查**。分析揭示了一次针对内部主机的**分布式 TCP SYN 端口扫描**,展示了如何区分真实威胁与虚假线索,并最终提出了具体的缓解建议。整个调查过程使用 Wireshark 完成。 ## 执行摘要 在调查 `Task #1003.pcapng` 期间,分析了可疑网络流量以识别潜在安全威胁。调查发现,内部设备(`10.2.2.8`)是**分布式 TCP SYN 端口扫描**的目标。该活动涉及多个外部 IP 地址系统地尝试识别目标机器上的开放端口。内部 ARP 流量也经过调查,但被判定为良性。本报告详细说明了调查方法、发现结果以及缓解风险的各项建议。 ## 目录 - [步骤 1 — 设置分析环境](#step-1--setting-up-the-analysis-environment) - [步骤 2 — 协议层次分析](#step-2--protocol-hierarchy-analysis) - [步骤 3 — 会话分析(IPv4 与以太网)](#step-3--conversations-analysis-ipv4--ethernet) - [步骤 4 — 显示过滤器隔离](#step-4--display-filter-isolation) - [步骤 5 — 视觉颜色编码与 ARP 观察](#step-5--visual-color-coding--arp-observation) - [步骤 6 — 异常与妥协指标(IOCs)](#step-6--anomalies--indicators-of-compromise-iocs) - [步骤 7 — 深度数据包分析与 SYN 泛洪确认](#step-7--deep-packet-analysis--syn-flood-confirmation) - [步骤 8 — 处理虚假线索](#step-8--addressing-false-leads) - [步骤 9 — 总结发现与建议](#step-9--summarized-findings--recommendations) - [总结表](#summary-table) - [工具与技术](#tools--technologies) ## 步骤 1 — 设置分析环境 **打开并配置 PCAP 文件** 捕获文件 `Task #1003.pcapng` 从 BTLO 平台下载并在 Wireshark 中打开。验证该文件包含 **337,461 个数据包**,表明需要仔细分析的大量网络流量。 初步检查后,数据包列表显示了包括 **TCP、TLS 和 DNS** 在内的多种标准协议,为调查提供了基线。 step1_opening_pcap ## 步骤 2 — 协议层次分析 **使用的工具:** `Statistics > Protocol Hierarchy` 使用协议层次工具了解捕获数据中流量的整体分布。该技术有助于快速聚焦主要协议并排除无关流量类型。 **关键发现:** - **99.6% 的流量为 TCP**,确认网络活动几乎完全是面向连接的。 - 未发现高风险的点对点文件共享协议(例如 BitTorrent)。 - 未观察到明文管理协议(例如 Telnet),有助于将调查重点集中在 **TCP 异常** 上。 step2_protocol_hierarchy ## 步骤 3 — 会话分析(IPv4 与以太网) **使用的工具:** `Statistics > Conversations` 在 **IPv4 和以太网** 两个层面使用会话工具,识别高流量通信者并绘制内部与外部 IP 地址之间的关系图。 这一步对于发现攻击模式至关重要——它揭示出单个内部主机(`10.2.2.8`)正在与数十个唯一外部 IP 地址通信,这种行为高度异常,符合协同扫描活动的特征。 step3_conversations_ipv4 ## 步骤 4 — 显示过滤器隔离 **应用的过滤器:** ``` ip.addr == 10.2.2.8 tcp.flags.syn == 1 ``` 使用 Wireshark 显示过滤器剥离背景噪声,专注于涉及疑似受害主机(`10.2.2.8`)和带有 SYN 标志的 TCP 数据包。此隔离技术对于从数十万数据包中提取相关攻击流量至关重要。 这些过滤器确认内部主机正接收大量来自不同外部源的 SYN 数据包——这是端口扫描的明确指示。 step4_display_filters ## 步骤 5 — 视觉颜色编码与 ARP 观察 **技术:** Wireshark 默认颜色规则 使用 Wireshark 内置的颜色编码在数据流中识别协议异常。在此阶段,注意到一个**黄色高亮的 ARP 数据包**(第 27 个数据包)夹杂在标准 TCP 流量中,触发了进一步调查。 该 ARP 数据包被怀疑为潜在的**“中间人”欺骗尝试**,但在后续步骤中被排除为虚假线索。 step5_color_coding_arp ## 步骤 6 — 异常与妥协指标(IOCs) **使用的工具:** `Statistics > Conversations` 使用会话工具识别出针对 `10.2.2.8` 的高度可疑且机械一致的模式: | IOC 指标 | 值 | |----------|----| | **目标主机** | `10.2.2.8` | | **攻击类型** | 分布式 TCP SYN 端口扫描 | | **每个连接的包数** | 恰好 **2 个包** | | **每个连接的字节数** | 恰好 **108 字节** | | **示例源 IP** | `7.11.164.28`、`11.28.194.89` 以及数十个更多 | 在数十个唯一外部 IP 地址之间,**恰好 2 个包和 108 字节**的机械一致性是强烈的**妥协指标(IOC)**。这种一致性是**自动化扫描工具**的特征,而非人为操作。 step6_ioc_pattern ## 步骤 7 — 深度数据包分析与 SYN 泛洪确认 **应用的过滤器:** ``` ip.dst == 10.2.2.8 && tcp.flags.syn == 1 ``` 应用针对性显示过滤器以在数据包级别确认攻击性质。过滤结果揭示了**指向受害主机(`10.2.2.8`)端口 80(HTTP)的 [SYN] 数据包洪流**。 **技术结论:** 这确认了**TCP SYN 端口扫描**。攻击者发送初始 TCP 握手请求(`SYN`)以探测端口 80 是否开放,而未完成三次握手。来自多个外部源 IP 的高频请求表明这是一种**协调的分布式侦察行为**,旨在绘制组织的网络防御。 step7_syn_flood_confirmation ## 步骤 8 — 处理虚假线索 在分析过程中调查并排除两个虚假线索。 ### 虚假线索 1 — 内部共谋 - **假设:** 最初怀疑内部主机 `10.2.2.5` 和 `10.2.2.8` 因活跃度高而存在恶意通信。 - **修正:** 针对两者之间直接流量的显示过滤器返回**零结果**。会话工具证实 `10.2.2.5` 正在进行正常的网页浏览(Google/Cloudflare),而 `10.2.2.8` 正遭受外部攻击。 ### 虚假线索 2 — 黄色 ARP 数据包 - **假设:** 由于协议突变,黄色 ARP 数据包(第 27 个)被怀疑为潜在的**中间人 ARP 欺骗**。 - **修正:** 深入分析显示,这只是 `10.2.2.5` 询问“谁拥有 `10.2.2.1`?”(默认网关)——一个**完全标准的网络功能**。确认其为良性后,注意力重新聚焦于外部威胁。 step8_false_lead_arp ## 步骤 9 — 总结发现与建议 ### 安全事件总结 调查确认网络遭受了**外部侦察攻击**。内部主机 `10.2.2.8` 正在被僵尸网络或分布式攻击组针对 **端口 80** 进行主动扫描。未观察到数据成功外泄,但扫描表明攻击者正在寻找可利用的漏洞。 ### 缓解建议 | 优先级 | 操作 | 详情 | |--------|------|------| | 🔴 **高** | **防火墙阻断** | 配置边界防火墙,阻止来自扫描中识别出的可疑外部 IP 范围的入站流量 | | 🔴 **高** | **端口加固** | 若 `10.2.2.8` 无需托管公网 Web 服务器,**立即关闭 80 端口** 以消除攻击面。迁移至 **443 端口(HTTPS)** 以保障连接安全 | | 🟡 **中** | **IDS 规则实施** | 部署入侵检测系统规则,当单个内部 IP 在 1 分钟内从超过 **10 个不同外部源** 接收 SYN 数据包时提醒管理员 | ## 总结表 | 步骤 | 操作 | 工具/技术 | |------|------|----------| | 1 | 下载并打开 `Task #100.pcapng`(337,461 个数据包) | Wireshark | | 2 | 分析协议分布——99.6% TCP 确认 | 统计 > 协议层次 | | 3 | 映射高流量通信者及 IP 关系 | 统计 > 会话 | | 4 | 隔离受害流量与 SYN 数据包 | 显示过滤器(`ip.addr`、`tcp.flags.syn`) | | 5 | 通过颜色编码识别 ARP 异常 | Wireshark 颜色规则 | | 6 | 发现 IOC 模式——每个外部 IP 2 个包 / 108 字节 | 统计 > 会话 | | 7 | 确认针对端口 80 的 TCP SYN 端口扫描 | 深度数据包分析 | | 8 | 排除内部共谋与 ARP 欺骗为虚假线索 | 显示过滤器 + 数据包检查 | | 9 | 记录发现并提出缓解建议 | 分析报告 | ## 工具与技术 | 工具 | 用途 | |------|------| | [Wireshark](https://www.wireshark.org/) | 完整数据包捕获分析、过滤、会话、协议层次 | | [BTLO (Blue Team Labs Online)](https://blueteamlabs.online/) | 提供 `Task #1003.pcapng` 捕获文件的挑战平台 | | Wireshark 显示过滤器 | 流量隔离(`ip.addr`、`tcp.flags.syn`、`ip.dst`) | | Wireshark 会话工具 | 识别高流量通信者及 IOC 模式 | | Wireshark 颜色规则 | 可视化异常检测(ARP、TCP 重置等) | ## 类别 | | | |---|---| | **类型** | 网络取证 / 威胁检测 / 侦察分析 | | **难度** | 中级 | | **平台** | Blue Team Labs Online (BTLO) | | **攻击类型** | 分布式 TCP SYN 端口扫描 | | **受害主机** | `10.2.2.8` | | **目标端口** | 80(HTTP) |
标签:AMSI绕过, BTLO, IOCs, IOC 共享, TCP SYN 端口扫描, Wireshark, 分布式扫描, 取证调查, 句柄查看, 威胁检测, 实验室, 抓包分析, 数据统计, 端口扫描, 网络安全, 网络流量分析, 速率限制, 隐私保护