hollawunmi/Vulnerability-Assessment-Lab
GitHub: hollawunmi/Vulnerability-Assessment-Lab
一个模拟SOC漏洞评估工作流的家庭实验项目,使用Nessus Essentials对Metasploitable 2执行从基线扫描、CVE识别、分级修复到验证扫描的完整闭环。
Stars: 0 | Forks: 0
# 漏洞评估实验 -- Metasploitable 2
**扫描器:** Nessus Essentials (Tenable) | **目标:** Metasploitable 2 | **网络:** VirtualBox 仅主机网络 (LAB_INTERNAL)
## 报告
[查看完整 PDF 报告](VA_Report_Metasploitable2_Nessus.pdf)
## 概述
本项目演示了在隔离的家庭实验环境中执行的完整漏洞评估工作流。使用 Nessus Essentials,我扫描了 Metasploitable 2 虚拟机,识别了按 CVSS 严重程度分类的漏洞,应用了针对性的修复措施,并重新扫描以验证修复效果,模拟了真实的安全运营周期。
## 实验架构
| 组件 | 详情 |
|-----------|---------|
| 虚拟机监视器 | Oracle VirtualBox |
| 网络 | 内部网络 (LAB_INTERNAL) - 与互联网隔离 |
| 扫描器虚拟机 | Kali Linux - 192.168.56.10 |
| 目标虚拟机 | Metasploitable 2 - 192.168.56.101 |
| 扫描工具 | Nessus Essentials v10.x (Tenable) |
| 扫描策略 | 基础网络扫描 - CVSS v3.0 |
### 网络配置


### 连通性证明

## Nessus 仪表盘

## 扫描结果摘要
共执行了三次扫描:初始基线扫描、修复后扫描和最终验证扫描。
| 严重程度 | 扫描 1 (基线) | 扫描 2 (修复后) | 扫描 3 (最终) | 变化 |
|----------|------------------|--------------------|----------------|--------|
| 严重 | 9 | 4 | 3 | -6 |
| 高危 | 6 | 4 | 1 | -5 |
| 中危 | 23 | 22 | 22 | -1 |
| 低危 | 9 | 9 | 9 | 0 |
| **总计** | **69** | **62** | **61** | **-8** |
## 基线扫描 - 修复前
### 扫描概览

### 完整漏洞列表


## 主要发现
| 严重程度 | 插件 | 发现 | CVSS |
|----------|--------|---------|------|
| 严重 | 61708 | VNC Server 默认密码 - Nessus 使用 "password" 登录 | 10.0 |
| 严重 | 201352 | Ubuntu 8.04 终止支持 - 无可用安全补丁 | 10.0 |
| 严重 | 134862 | Apache Tomcat AJP Ghostcat - 通过 8009 端口进行远程文件包含 | 9.8 |
| 严重 | 20007 | 启用了 SSL v2 和 v3 - 协议级漏洞 | 9.8 |
| 严重 | 51988 | Bind Shell 后门 - 1524 端口上的未经身份验证 shell | 9.8 |
| 严重 | 32314 | Debian OpenSSH/OpenSSL 弱随机数生成器 (RNG) - 密钥可预测 | 9.8 |
| 高危 | 90509 | Samba Badlock - 中间人 (MITM) 身份验证降级 | 7.5 |
| 高危 | 10205 | rlogin 服务 - 基于信任的身份验证绕过 | 7.5 |
| 高危 | 42256 | NFS 共享全局可读 - 整个文件系统暴露 | 7.5 |
| 中危 | 42263 | 未加密的 Telnet - 明文凭据传输 | 6.5 |
### 严重发现 - VNC 默认密码 (CVSS 10.0)

### 严重发现 - Bind Shell 后门 (CVSS 9.8)

### 高危发现 - Samba Badlock (CVSS 7.5)

### 中危发现 - 未加密的 Telnet (CVSS 6.5)

### Nessus 修复建议

## 应用的修复措施
### 严重 - 已修复
- **Bind Shell 后门 (端口 1524):** 通过 `sudo kill $(sudo lsof -t -i:1524)` 终止进程;在 `/etc/inetd.conf` 中禁用了 ingreslock
- **VNC 默认密码:** 通过 `vncpasswd` 更改了密码;重启了 VNC 服务
- **Apache Tomcat Ghostcat:** 在 `/etc/tomcat5.5/server.xml` 中注释掉了 AJP 连接器;重启了 Tomcat
- **SSL v2/v3:** 在 Apache ssl.conf 中取消注释了 `SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1`
### 高危 - 已修复
- **Telnet:** 在 `/etc/inetd.conf` 中注释掉了 telnet 行;重启了 openbsd-inetd
- **rlogin / rexec / rsh:** 在 `/etc/inetd.conf` 中注释掉了 shell、login、exec 行
- **NFS 全局可读:** 将 `/etc/exports` 限制为 `127.0.0.1` 并使用 `root_squash`;重启了 NFS
- **SMB 签名:** 在 `/etc/samba/smb.conf` 中添加了 `server signing = mandatory`
### 遗留问题 - 需要操作系统级别的更改
- **Ubuntu 8.04 终止支持 (EOL):** 需要完整迁移操作系统至 Ubuntu 22.04 LTS - 已上报
- **SSL 多项问题:** 需要有效的 CA 签名证书 - 已上报
- **Samba Badlock:** 需要升级 Samba 版本 - 已标记待变更管理
## 修复后 - 扫描 2
### 扫描概览

### 修复后漏洞列表

## 最终验证 -- 扫描 3
### 最终扫描概览

### 最终漏洞列表

## 展示的技能
- 在隔离的 VirtualBox 实验室环境中使用 Nessus Essentials 进行漏洞扫描
- CVSS v3 严重性分类和基于风险的修复优先级排序
- 跨 Web 服务器、网络服务、密码学和操作系统的 CVE 识别
- 在 Linux 上使用 Bash 应用修复措施 (inetd、Apache、Tomcat、NFS、Samba)
- 重新扫描以验证修复效果 - 在 3 次扫描中将发现总数从 69 个减少到 61 个
- 使用 curl 和 Python 从 Nessus 提取基于 API 的数据以生成 CSV
- 网络实验室设置:VirtualBox 内部网络、静态 IP 分配、多虚拟机拓扑
- 记录需要上报的问题与分析师级别可修复问题的文档编写
## 使用的工具
| 工具 | 用途 |
|------|---------|
| Nessus Essentials (Tenable) | 漏洞扫描和 CVE 识别 |
| Oracle VirtualBox | 用于隔离实验环境的虚拟机监视器 |
| Kali Linux | 扫描器主机 |
| Metasploitable 2 | 故意存在漏洞的目标虚拟机 |
| Python 3 | Nessus API 数据提取和 CSV 生成 |
| curl | Nessus REST API 交互 |
标签:AES-256, CVE识别, CVSS, Home Lab, Metasploitable 2, Nessus, OPA, OpenCanary, VirtualBox, 安全基线, 安全报告, 安全运营中心, 家庭实验室, 应用安全, 插件系统, 教学环境, 无线安全, 漏洞修复, 漏洞评估, 网络安全, 网络安全培训, 网络映射, 隐私保护, 靶场, 验证扫描