rani27-bipo/vuln-smb-v1-exploitation-lab
GitHub: rani27-bipo/vuln-smb-v1-exploitation-lab
一个隔离虚拟机环境中的 SMBv1(EternalBlue)漏洞利用教学实验,完整演示攻击路径并提供蓝队检测与防御分析。
Stars: 0 | Forks: 0
# 利用配置不当的 SMBv1 共享 — 教学实验
## ⚠️ 免责声明
本实验完全在隔离环境(本地虚拟机,VirtualBox/VMware 的 host-only 网络)中进行,仅供教学目的。未针对任何真实系统。截图中可见的凭据和数据均为虚构。
## 目标
演示薄弱的 SMBv1 配置(启用过时的协议 + 共享网络安全防护不足 + 弱凭据)如何使攻击者能够枚举并提取敏感数据,并分析如何检测和预防此类场景。
## 环境
| 角色 | 系统 | IP |
|---|---|---|
| 攻击者 | Parrot Security OS | 192.168.95.128 |
| 受害者 | Windows 7/10(启用 SMBv1) | 192.168.95.129 |
网络:host-only 模式,与任何外部访问隔离。
## 方法论
### 1. 网络侦察
检查攻击机的网络配置,并测试与目标的连通性。

### 2. 主机发现(Nmap)
对子网进行 ping sweep 扫描,以识别活动主机。

### 3. 服务扫描与匿名枚举尝试
`-sV` 扫描揭示了 139/445 端口处于开放状态,并精确识别了 SMB 服务以及目标 Windows 操作系统的版本。首次尝试建立空会话(null session)失败(`NT_STATUS_ACCESS_DENIED`),表明匿名会话已被阻止。

### 4. 使用弱凭据进行认证连接
使用带有弱密码的 `demo` 账户访问暴露的网络共享。

### 5. 枚举共享内容
列出在 `smbclient` 会话中可访问的文件。

### 6. 提取与读取敏感数据
获取(`get`)随后读取包含机密数据(凭据、财务信息)的文件,证明了共享配置不当造成的实际影响。

## 分析 — 为什么此攻击会成功
- 启用了 **SMBv1** 协议,该协议自 2017 年起已被 Microsoft 弃用且已过时
- 网络共享可被拥有**完全控制**权限的账户访问
- **弱**密码,不符合复杂性策略
- 缺乏**加密**或基于 IP/组的访问限制
- 敏感数据以**明文**形式存储在网络共享上
## 检测 — 蓝队 / SOC 视角
- **Windows 日志**:Event ID 4624(网络登录,Logon Type 3)和 Event ID 5140/5145(访问共享对象)
- **网络/IDS**:可检测到来自同一主机对 139/445 端口的异常连接阈值,从而发现顺序端口扫描(nmap)(Suricata/Snort 的 `ET SCAN` 类型规则)
- **SIEM**:低特权账户在认证失败后取得成功的相关性分析
- **DLP**:针对包含敏感关键字(`mot_de_passe`、`confidentiel`、`financier`)的文件传输发出警报
## 修复建议
1. 禁用 SMBv1(`Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol`)
2. 迁移到启用了加密的 SMBv3
3. 实施强密码策略(复杂性 + 尽可能启用 MFA)
4. 将共享权限限制在最低需求(最小权限原则)
5. 绝不将敏感数据以明文形式存储在网络共享上
6. 定期审核暴露的共享(`Get-SmbShare`)
## 展示的技能
`网络侦察` `Nmap` `SMB 枚举` `漏洞分析`
`SOC 检测` `Windows 加固` `日志分析`
## 使用的工具
Parrot Security OS · Nmap · smbclient · VirtualBox/VMware
标签:CTI, Metaprompt, SMB协议, XXE攻击, 安全实验靶场, 插件系统, 数据展示, 红队, 网络安全, 蓝队检测, 隐私保护