- 由 虚拟的现实创建于10月 11, 2023 需要 2 分钟阅读时间
简介
假设C/S两侧都是Win10,只开一个匿名只读共享,不想提供user/pass就访问到,很
多Win9x年代过来的会比较怀念那种匿名共享。Win10时代达到那种效果要比想像的复
杂一些。
先确保Win10可以配置普通共享,依次做如下检查与实验
(a) 检查445/TCP侦听中
(b) 检查Server服务启动中
(c) 检查Win10自带FW
(d) 检查"高级共享设置"
(e) 检查网络属性
(f) 检查SMB协议相关安全限制
(g) 开启共享目录
(h) 检查SMB会话
(i) 访问共享目录
假设Win10普通共享创建、访问无误,现在来整Win10匿名共享。
配置方式
客户端设置
对于现代Win10、Win11客户端来说,为实现客户端不提供user/pass访问服务端共享,可能需要在客户端做个设置。
为什么说"可能需要"?SMB协议有个"来宾登录"的概念,可以当成任意user/pass建立SMB会话,该会话拥有Guest权限。从Windows 10 1709开始,通过SMBv2协议访问共享时客户端缺省禁用不安全的来宾登录,这是个客户端限制,不是服务端限制。
这一步"可能不需要"。对于不了解SMB协议的人,为达目的,管它三七二十一,设上就对了。
--------------------------------------------------------------------------
gpedit.msc
Local Computer Policy
Computer Configuration
Administrative Templates
Network
Lanman Workstation
Enable insecure guest logons
Enabled (缺省是Not Configured,等同于Disabled)
--------------------------------------------------------------------------
启用后立即生效,无需热刷新组策略并重启Workstation服务。恢复成未配置状态,必须重启Workstation服务使之生效。
为减少干扰,最好是热刷新组策略并重启Workstation服务
gpupdate.exe /force && net stop rdr && net start rdr
服务端设置
--------------------------------------------------------------------------
创建共享名temp
右键/Security
Edit
Add
Everyone (调整NTFS权限)
Read & execute
List folder contents
Read
--------------------------------------------------------------------------
secpol.msc
Security Settings
Local Policies
User Rights Assignment
Deny access to this computer from the network
删掉Guest (缺省只有Guest)
Security Options
Accounts: Guest Account Status
Enabled (缺省Disabled)
Network access: Sharing and security model for local accounts
Guest only - local users authenticate as Guest (必须调整成这种)
--------------------------------------------------------------------------
lusrmgr.msc
Users
Guest
Set Password
设为空口令 (必须为空)
--------------------------------------------------------------------------
control
Network and Sharing Center
Change advanced sharing settings
Guest or Public (current profile)
File and printer sharing
Turn on file and printer sharing
All Networks
Password protected sharing
Turn off password protected sharing (必须调整成这种)
--------------------------------------------------------------------------
Guest账号启用后,缺省口令为空。
Guest口令不为空时,无法保持"Turn off password protected sharing"。
不建议只重启Server服务,应重启服务端OS后测试。若实在不想重启服务端OS,至少要热刷新组策略
gpupdate.exe /force && net stop srv && net start srv
服务端无关设置
客户端不提供user/pass访问服务端共享,与这些服务端设置"无关"
--------------------------------------------------------------------------
secpol.msc
Security Settings
Local Policies
User Rights Assignment
Access this computer from the network
Security Options
Network access: Do not allow anonymous enumeration of SAM accounts
Network access: Do not allow anonymous enumeration of SAM accounts and shares
Network access: Let Everyone permissions apply to anonymous users
Network access: Restrict anonymous access to Named Pipes and Shares
Network access: Shares that can be accessed anonymously
--------------------------------------------------------------------------
control
Network and Sharing Center
Change advanced sharing settings
All Networks
Public folder sharing
Turn on sharing so anyone with network access can read and write files in the Public folders
--------------------------------------------------------------------------
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
"everyoneincludesanonymous"=dword:00000000
"restrictanonymous"=dword:00000001
"restrictanonymoussam"=dword:00000001
"LimitBlankPasswordUse"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]
"restrictnullsessaccess"=dword:00000001
"NullSessionPipes"=hex(7):00,00
"NullSessionShares"=-
--------------------------------------------------------------------------
"无关"是说随便设,不影响原始需求。
打开"Public folder sharing"只是将"C:\Users"共享出去。
相当于任意user/pass建立Guest会话
满足原始需求时,实际相当于任意user/pass都能建立SMB会话,该会话拥有Guest权限,这也是"来宾登录"的意义所在。
net use * /d /y net use \\<ip>\ipc$ "any" /u:"some" net use \\<ip>\ipc$ "any" /u:"domain\some"
"来宾登录"应该是XP首次引入,当时给极光扫描插件带来麻烦。有个弱口令检查,面对配置过"来宾登录"的服务端,会误报,当年是SMBv1插件,时间久远,都忘了这茬。但这种配置不足以建立空会话,下列操作可能报"拒绝访问"
net use \\<ip>\ipc$ "" /u:""
Wireshark抓包
无预设SMB会话的前提下直接访问UNC路径,抓包看到"SMB2 Session Setup RequestNTLMSSP_AUTH"直接成功,不会失败。
应用场景
原始需求是有一些正常应用场景的。比如家庭环境中,有一台电影服务器,希望每台接入家庭局域网的电脑能无感直接访问电影服务器,无需提供user/pass,无需提前建立SMB会话,只需提供UNC路径。
匿名共享打印机
为实现匿名共享打印机,除了前面的服务端设置,还得做些其他设置
--------------------------------------------------------------------------
control
Devices and Printers
右键选中打印机
Properties
Sharing
Share this printer (勾中)
Share name
Render print jobs on client computers (勾中)
Security
Everyone
Print
Manage this printer
Manage documents
--------------------------------------------------------------------------
- 无标签
添加评论