JFrancisSOC/Case-File-06-Vulnerability-Scanning-with-Nmap.
GitHub: JFrancisSOC/Case-File-06-Vulnerability-Scanning-with-Nmap.
一份完整的家庭实验室漏洞评估案例报告,使用 Nmap 对 Metasploitable 2 进行端口与服务扫描、漏洞检测和结果分析。
Stars: 0 | Forks: 0
# 案例文件 06 — 使用 Nmap 进行漏洞扫描
## 案例概述
| 字段 | 详情 |
|---|---|
| 案例 ID | CF-06 |
| 调查类型 | 漏洞评估 |
| 分析师 | Jamaal Francis |
| 告警来源 | 主动家庭实验室调查 |
| 严重程度 | 信息 |
| 状态 | 已关闭 |
| 目标 | Metasploitable 2 |
| 目标 IP | 192.168.56.101 |
| 扫描仪 | Ubuntu SOC Lab |
| 工具 | Nmap |
| 最终处置 | 已识别并记录漏洞以进行修复 |
## 案例总结
我使用 Nmap 扫描了一台 Metasploitable 2 机器,以查找开放端口、暴露的服务和可能的漏洞。扫描发现了 23 个开放的 TCP 端口、弱 Diffie-Hellman 加密、不安全或过时的服务,以及可能存在 UnrealIRCd 后门的迹象。
这是一次在我自己的虚拟机上进行的授权家庭实验室调查。
## 调查目标
我的目标是:
- 确认我的 Ubuntu 机器能够与目标进行通信。
- 识别目标的开放端口和运行中的服务。
- 扫描这些服务以查找可能的漏洞。
- 将已确认的发现与需要更多验证的发现区分开来。
- 记录风险并建议安全改进措施。
## 实验室环境
| 系统 | 用途 |
|---|---|
| Ubuntu SOC Lab | 用于执行扫描的安全工作站 |
| Metasploitable 2 | 故意设计为存在漏洞的目标机器 |
| VirtualBox Host-only Adapter | 连接两台虚拟机的私有网络 |
| Nmap | 网络和漏洞扫描工具 |
| Grep | 用于过滤保存的 Nmap 报告的工具 |
## 收集的证据
- Metasploitable 2 IP 地址验证
- Ubuntu 到目标的连通性测试
- Nmap 服务检测结果
- 已完成的 Nmap 漏洞扫描
- 过滤后的漏洞发现
- 开放 TCP 端口和服务列表
- 调查笔记
- 已保存的 Nmap 扫描报告 |
## 网络指标
| 指标 | 值 |
|---|---|
| 扫描仪 | Ubuntu SOC Lab |
| 目标 | Metasploitable 2 |
| 目标 IP | 192.168.56.101 |
| 网络 | VirtualBox Host-only Adapter |
| 协议 | TCP |
| 开放的 TCP 端口 | 23 |
| 外部 IP 地址 | 未观察到 |
| 域名 | 未调查 |
暴露的重要服务包括 FTP、Telnet、SSH、Samba、MySQL、PostgreSQL、VNC、IRC 和 Apache Tomcat。
## 调查时间线
1. 使用 `ifconfig` 验证了目标的 IP 地址。
2. 使用 `ping` 测试了 Ubuntu 与 Metasploitable 2 之间的通信。
3. 运行了 Nmap 服务和漏洞扫描。
4. 将完整的扫描输出保存为文本报告。
5. 使用 `grep` 过滤报告以查找主要漏洞发现。
6. 创建了单独的开放 TCP 端口和服务列表。
7. 审查了发现并记录了建议的操作。
## 证据与分析
### 1. 目标 IP 验证
我在 Metasploitable 2 上使用 `ifconfig` 并确认其 IP 地址为 `192.168.56.101`。我需要正确的 IP 地址,以便 Ubuntu 扫描预期的机器。

### 2. 连通性测试
我从我的 Ubuntu SOC Lab 运行了以下命令:
```
ping -c 4 192.168.56.101
```
Ubuntu 发送了四个数据包并收到了所有四个响应,丢包率为零。这确认了目标正在运行,IP 地址正确,并且两台虚拟机能够进行通信。

### 3. Nmap 服务扫描
我使用 Nmap 服务检测来识别哪些端口是开放的以及哪些服务正在其上运行。
开放的端口并不自动意味着系统已被入侵。它意味着某个服务正在侦听并通过该端口接受连接。

### 4. Nmap 漏洞扫描
我运行了以下命令:
```
sudo nmap -sV --script=vuln -oN nmap-vulnerability-scan.txt 192.168.56.101
```
该命令执行了以下操作:
- `sudo` 赋予了 Nmap 所需的权限。
- `-sV` 识别了服务和软件版本。
- `--script=vuln` 运行了 Nmap 的漏洞检测脚本。
- `-oN` 将结果保存为普通文本报告。
- `nmap-vulnerability-scan.txt` 是保存的报告。
- `192.168.56.101` 是目标 IP 地址。

### 5. 过滤漏洞发现
由于完整的 Nmap 报告很长,我使用 `grep` 缩小了结果范围:
```
grep -nEi -B 2 -A 2 "State: VULNERABLE|WEAK DH GROUP|unrealircd-backdoor" nmap-vulnerability-scan.txt
```
此命令在保存的报告中搜索标记为 vulnerable 的发现、弱 Diffie-Hellman 加密以及 UnrealIRCd 后门结果。
过滤后的输出显示了标记为 `State: VULNERABLE` 的发现,包括弱 Diffie-Hellman Group 1。它还显示了可能存在 UnrealIRCd 后门的迹象。
我将 UnrealIRCd 的结果视为需要更多验证的强烈迹象,而不是声称它已完全确认。

### 6. 开放端口和服务
我使用以下命令仅显示开放的 TCP 端口:
```
grep -E "^[0-9]+/tcp[[:space:]]+open" nmap-vulnerability-scan.txt
```
目标有 23 个开放的 TCP 端口。暴露的服务包括:
- FTP
- Telnet
- SSH
- Samba
- MySQL
- PostgreSQL
- VNC
- IRC
- Apache Tomcat
暴露的众多服务产生了巨大的攻击面,因为每个服务都为攻击者提供了另一个可能的调查切入点。

## 调查发现
### 发现 1 — 巨大的攻击面
目标有 23 个开放的 TCP 端口。暴露了多个网络服务,为系统提供了多个可能的入口点。
开放端口就像是一扇进入计算机的可用通道。系统暴露的不必要服务越多,攻击者发现弱点的机会可能就越多。
### 发现 2 — 弱 Diffie-Hellman 加密
Nmap 将弱 Diffie-Hellman Group 1 标记为 vulnerable。
Diffie-Hellman 用于计算机建立加密通信时。Group 1 是一种过时且脆弱的设置,可能使攻击者更容易削弱或破坏加密通信。
### 发现 3 — 可能的 UnrealIRCd 后门
扫描显示了可能存在 UnrealIRCd 后门的迹象。
后门是一种访问或控制系统的隐藏方式。我没有尝试利用该服务,因此我将其记录为需要额外验证的强烈迹象,而不是完全确认的入侵。
### 发现 4 — 不安全或过时的服务
诸如 Telnet、FTP、rlogin、rsh 和 VNC 等服务被暴露。
其中一些服务可以在没有强加密的情况下传输信息,而另一些可能已经过时或容易受到已知攻击。如果不需要这些服务,应将其禁用或限制。
## 分析师评估
Metasploitable 2 机器具有很大的攻击面,因为它运行着 23 个暴露的 TCP 服务。其中几个服务不安全或已过时,可能会增加未经授权访问的风险。
弱 Diffie-Hellman 结果被 Nmap 标记为 vulnerable。可能存在的 UnrealIRCd 后门在完全确认之前需要进一步调查。
在真实的组织中,这些发现应被记录并上报给相应的团队。应禁用不必要的服务,应更新过时的软件,并且在修复后应重新扫描系统。
## 已采取的行动
- 验证了目标的 IP 地址。
- 确认了网络连通性。
- 识别了开放端口和运行中的服务。
- 运行了 Nmap 漏洞检测脚本。
- 保存了完整的扫描报告。
- 过滤报告以查找重要发现。
- 将已确认的发现与需要验证的发现区分开来。
- 记录了安全风险。
- 制定了建议的修复措施。
在此次调查期间未执行任何利用或修复操作。
## 建议行动
1. 禁用不需要的服务。
2. 将 Telnet、rlogin 和 rsh 替换为安全的替代方案。
3. 更新或移除过时的软件和服务。
4. 将弱的 Diffie-Hellman 设置替换为更强的加密。
5. 使用防火墙规则限制对管理服务的访问。
6. 调查并验证可能存在的 UnrealIRCd 后门。
7. 在修复后重新扫描系统,确认风险已被纠正。
## 最终处置
漏洞评估已成功完成。
Nmap 识别出 23 个开放的 TCP 端口、弱加密、不安全或过时的服务,以及一个需要额外验证的可能存在的后门。发现已被记录并标记为待修复。
在此次调查期间,目标未被利用或修改。
## 展示的技能
- 漏洞扫描
- 网络连通性测试
- Nmap 服务检测
- Nmap Scripting Engine 的使用
- Linux 命令行导航
- 使用 `grep` 过滤报告
- 开放端口和服务分析
- 漏洞验证
- 证据收集
- 风险记录
- 修复建议
## 案例关闭笔记
这项调查帮助我了解了漏洞评估的工作原理。我使用 Nmap 检查了一台故意设计为存在漏洞的机器,识别了暴露的服务,审查了可能的安全弱点,并将已确认的发现与仍需验证的发现区分开来。
我还了解到 `grep` 不会执行另一次扫描。它只是过滤现有报告,以便我能专注于最重要的信息。
本次调查原本打算使用 Nessus,但它无法在我的实验室机器上完成设置。我使用 Nmap 的漏洞检测脚本作为替代方案,并成功完成了评估。
标签:AES-256, CTI, Nmap, 云存储安全, 应用安全, 插件系统, 漏洞评估, 网络扫描, 虚拟驱动器, 靶场实验