SMB 共享枚举查什么
文件共享是内网横向移动的重要跳板:一份「全员可写」的共享目录可以被用来投递可执行文件,一个「全盘共享」可以让人直接读到系统盘内容,而配置不当的共享还可能允许匿名列出。枚举的目标是把共享名、可用账号、读权限与写权限列清楚,重点是找 Everyone 可写与匿名可列这两类配置问题。原则是只读为主:写权限的确认方式必须提前与管理员约定。
基本信息
| 对象 | 文件服务器、成员机、NAS 设备(Windows 或 Samba) |
|---|---|
| 枚举内容 | 共享列表、匿名可列性、账号可读范围、写权限标记 |
| 常用工具 | smbclient、netexec 或 crackmapexec 的 shares 模块 |
| 纪律 | 不遍历目录树、不拷出业务文件 |
| 写权限验证 | 与管理员约定,用空目录或测试文件方式确认 |
典型使用场景
- 内网评估中识别文件共享暴露面与横向移动路径
- 核查匿名可列共享:这类配置会直接暴露共享清单
- 发现「全盘共享」与过度授权目录,作为配置问题提出
- 评估共享目录中是否存在敏感文件命名线索(只看目录与文件名)
- 修复验证:确认权限已收敛,匿名枚举已被拒绝
枚举示例
枚举示例
smbclient -L //10.0.10.20 -N # 匿名列出共享清单
smbclient -L //10.0.10.20 -U testuser%密码 # 指定账号列出(用测试账号)
netexec smb 10.0.10.0/24 --shares # 批量枚举共享与权限标记
# 记录:共享名 + 匿名可列性 + 读权限 + 写权限标记 + 备注
# 不遍历目录内容;需要确认写权限时先与管理员约定测试目录结果与判断
| 结果 | 含义 | 处置 |
|---|---|---|
| 匿名可列出共享清单 | 匿名访问未关闭 | 列为配置问题,建议禁用匿名枚举 |
| 共享标记为 Everyone 可写 | 可投递文件,横向移动风险 | 高优先级提出并要求收敛权限 |
| 共享名为磁盘根(如 C$、D$) | 管理共享被普通账号可达 | 核查账号权限与网络可达范围 |
| 需凭据且权限受限 | 配置合理 | 记录为已核查 |
写权限验证以空目录或测试文件方式与管理员配合进行,避免覆盖或污染真实业务文件。
共享权限与 NTFS 权限是两层:共享层给了写权限但 NTFS 层拒绝时实际不可写,判断时要看两层并记录验证方式。