Paulcyber06/E5-Wireshark-FTP-Brute-Force

GitHub: Paulcyber06/E5-Wireshark-FTP-Brute-Force

一份通过Wireshark分析pcap文件来检测和还原FTP暴力破解攻击的实战教学指南,帮助安全分析师掌握流量取证与事件响应的基本方法。

Stars: 0 | Forks: 0

# 第5集 — Wireshark:检测 FTP 暴力破解 ## 目录 1. [背景](#1-contexte) 2. [流量概览](#2-vue-générale-du-trafic) 3. [检测暴力破解 — 重复尝试](#3-détection-du-brute-force--tentatives-répétées) 4. [识别登录失败](#4-identification-des-échecs-de-connexion) 5. [提取尝试的凭证](#5-extraction-des-credentials-tentés) 6. [成功登录 — 凭证泄露](#6-connexion-réussie--credentials-compromis) 7. [MITRE ATT&CK 映射](#7-mitre-attck-mapping) 8. [结论](#8-conclusion) 9. [SOC 运营响应](#9-réponse-opérationnelle-soc) ## 1. 背景 由于未能通过网络侦察获取 `/passwords.pdf` 文件,攻击者改变了策略。他转入主动攻击,直接针对 Buttercup Games FTP 服务器的用户账户发起了暴力破解攻击。 继我们之前看到的一系列事件之后,**Buttercup Games** 委托进行了一次内部安全审计。 此次审计发现多台服务器使用了**未加密的 FTP** 协议: 这是一个已知的漏洞,允许明文拦截凭证。 向 **SFTP** 的迁移计划已制定,但在遭受攻击时尚未部署。 ## 2. 流量概览 我们首先在不应用任何过滤器的情况下在 Wireshark 中打开文件,以获取流量的整体概览。
[![概览 — 907 个数据包](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/ebc5a7484f035023.png)](1.png)
该文件包含 **907 个数据包**。主要协议为 **TCP**,并在 **端口 21** 上存在大量的 **FTP** 流量。 ## 3. 检测暴力破解 — 重复尝试 我们应用一个初步的过滤器来仅隔离 FTP 流量: ``` ftp ```
[![FTP 流量 — 可见重复尝试](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/63dc2df5a9035023.png)](2.png)
**Info** 列立即显示出大量重复的 `USER` 和 `PASS` 命令 —— 这是暴力破解攻击的典型特征。攻击者正在有条不紊地测试用户名/密码组合列表。 ## 4. 识别登录失败 我们进一步细化过滤器,仅查看失败的登录尝试: ``` ftp.response.code == 530 ```
[![代码 530 — 登录错误](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/0ef56ed4c7035024.png)](3.png)
代码 **530** 对应消息 **"Login incorrect"**。每个带有此代码的数据包都代表一次失败的尝试。
| FTP 代码 | 含义 | |----------|--------------| | 530 | 登录错误 — 无效凭证 | | 230 | 登录成功 — 连接成功 | | 331 | 用户名正确,需要密码 |
## 5. 提取尝试的凭证 我们过滤 `PASS` 命令以查看所有测试过的密码: ``` ftp.request.command == "PASS" ```
[![PASS 命令 — 测试的密码](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/afe1039111035025.png)](4.png)
尝试过的密码列表在 **Info** 列中以明文形式可见。这直接证明了 FTP 不加密传输内容 —— 网络上的任何人都可以拦截这些数据。 ## 6. 成功登录 — 凭证泄露 我们过滤成功代码以确定泄露发生的准确时间: ``` ftp.response.code == 230 ```
[![代码 230 — 登录成功](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/a9f0273df8035026.png)](5.png)
检测到两次成功的登录:
| 元素 | 值 | |---------|--------| | 日期和时间 | 2021-02-01 23:26:26 | | 源 IP (攻击者) | 192.168.0.115 | | 目标 IP (FTP 服务器) | 192.168.0.147 | | 返回代码 | 230 — 登录成功 |
为了重建完整的会话,我们在第一次成功登录的会话上使用 **Follow TCP Stream**: [![TCP Stream — 会话重建](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/bf7323ad46035027.png)](6.png) 该会话清楚地揭示了攻击的顺序:
| 步骤 | 命令 | 响应 | |-------|----------|---------| | 第1次尝试 | `USER jenny` / `PASS 111111` | `530 登录错误` | | 第2次尝试 | `USER jenny` / `PASS password123` | `230 登录成功` |
## 7. MITRE ATT&CK 映射
| 技术 | ID | 描述 | |-----------|-----|-------------| | 暴力破解 | T1110 | 使用字典对 FTP 进行大规模登录尝试 | | 有效账户 | T1078 | 使用凭证 jenny:password123 |
## 8. 结论
| 步骤 | 发现 | |-------|---------| | 检测到 FTP 暴力破解 | ❌ 几秒钟内出现多个 530 代码 | | 泄露的凭证 | ❌ jenny / password123 | | 泄露时间 | ⚠️ 2021-02-01 23:26:26 | | 攻击者 IP | ⚠️ 192.168.0.115 |
账户 `jenny` 的失陷仅仅是个开始。调查将在第6集中继续进行,以确定攻击者在成功登录后做了什么。 ## 9. SOC 运营响应 ### 🚧 立即遏制 - 立即禁用账户 `jenny` - 在防火墙层面封锁 IP `192.168.0.115` - 在向 SFTP 迁移之前,将 FTP 服务器与网络隔离 ### 📋 升级处理 - 记录泄露事件,包括日期、时间和暴露的凭证 - 将报告提交给 N2 团队以进行深入调查 - 检查同一服务器上是否有其他账户被攻击 ### 🔔 检测 - 针对 60 秒内重复出现的 530 代码创建警报 ### 🛡️ 建议 - 禁止使用弱密码。加强安全意识,并强制实施复杂密码策略 - 在 N 次登录尝试失败后启用账户锁定机制 - 尽快禁用 FTP 并迁移到 SFTP

[![⬅️ 上一集](https://img.shields.io/badge/⬅️%20Précédent--grey?style=for-the-badge)](https://github.com/Paulcyber06/E4-Splunk-Dashboard-and-Alerts) [![➡️ 下一集](https://img.shields.io/badge/➡️%20Suivant--grey?style=for-the-badge)](https://github.com/Paulcyber06/E6-Wireshark-Post-Exploitation)
## 📁 复现此分析 使用的 `.pcapng` 文件可在 **TryHackMe** 的 **[h4cked](https://tryhackme.com/room/h4cked)** 房间中找到。 只需一个免费的 TryHackMe 账户即可访问。 *© Paulcyber06 — 保留所有权利。*
标签:Cloudflare, FTP安全, MITRE ATT&CK, PoC, Wireshark, 凭证提取, 句柄查看, 安全运营中心, 明文协议漏洞, 暴力破解, 网络安全, 网络映射, 网络流量分析, 隐私保护