Vmware中Windows11与Kali运行Nmap SMB脚本无结果求助
SMB共享枚举无结果的排查方案
1. 检查SMB协议版本兼容性
Windows 11默认禁用SMBv1,部分旧版Nmap脚本依赖该协议。可临时启用SMBv1测试:
- 图形化操作:打开「控制面板」→「程序」→「启用或关闭Windows功能」,勾选「SMB 1.0/CIFS 文件共享支持」后重启系统
- PowerShell命令:
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
测试完成后建议关闭SMBv1,避免安全风险。
2. 验证共享访问权限
默认Windows共享可能拒绝匿名访问,导致脚本无输出:
- 手动用
smbclient测试匿名访问:
smbclient -L //192.168.189.129 -N
若无法列出共享,需使用目标主机账号验证:
smbclient -L //192.168.189.129 -U 目标用户名
3. 给Nmap脚本传入身份凭证
如果目标需要验证,需在命令中指定账号密码:
nmap --script smb-enum-shares.nse --script-args smbusername=用户名,smbpassword=密码 -p445 192.168.189.129 -v
4. 更新Nmap并测试全量SMB脚本
旧版Nmap对SMBv2/v3支持不足,先更新:
sudo apt update && sudo apt install --only-upgrade nmap
再运行全量SMB枚举脚本,排查是否为单一脚本问题:
nmap --script smb-enum* -p445 192.168.189.129 -v
5. 确认VMware网络配置
- 确保Kali与Windows 11处于同一网络段(如均为NAT/桥接模式),先验证连通性:
ping 192.168.189.129
- 将Windows网络类型设置为「私有网络」,公网模式会限制SMB访问。
6. 调整Windows本地安全策略
- 打开「本地安全策略」→「本地策略」→「安全选项」
- 将「网络访问:本地账户的共享和安全模型」设为「经典 - 本地用户以自己的身份验证」
- 若目标账号为空密码,禁用「账户:使用空密码的本地账户只允许进行控制台登录」选项
内容的提问来源于stack exchange,提问作者Mohamed Taha
相关产品推荐
相关产品推荐

