我可以在任何基于Unix的计算机上使用mount.cifs访问此服务器上的数据共享.但是,当我尝试从Windows计算机访问它们(使用Windows 7和10测试)时,我在提供凭据后立即收到拒绝访问错误.
记录SMB流量后,我注意到Windows计算机在尝试访问我提供的共享(通过地图网络驱动器或添加网络位置)之前总是在IPC $共享上执行树连接请求.我的samba服务器返回IPC $共享的拒绝访问权限,Windows从不尝试访问我想要的共享.
所以我的问题是如何阻止Windows在IPC $上执行这个无用的请求并只访问我提供的共享?或者至少如何在IPC $one返回Access拒绝后强制Windows访问真实共享?
提前感谢您的帮助和节日快乐!
海绵宝宝
[1] https://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/securing-samba.html#id2618877
或者至少我怎么能强迫Windows访问真正的份额后…?
答案是,你做不到!很抱歉,但情况确实如此.然而,虽然这是你的问题的真正答案 – 我不想听起来没有帮助.我确实想要帮助,所以希望以下是我能给出的最好的建议,这对你的情况有用.
我是一名专业的渗透测试人员,经常使用匿名共享访问(例如IPC $)来获取有关合法测试目的的系统信息并进入系统.关键是要防止匿名用户(没有有效凭据的人)枚举用户和共享.一旦获得有效的凭证,通常有其他方式来枚举用户(例如cat / etc / passwd),并且无论如何它都不再是攻击者的优先级.
If you use this method,then clients will be given an `access denied’
reply when they try to access the IPC$share. Those clients will not
be able to browse shares and may also be unable to access some other
resources. This is not recommended unless for some reason you cannot
use one of the other methods just discussed.
之所以不推荐是因为“那些客户……也可能无法访问其他资源.” Windows无法访问计算机上的任何共享就是一个例子.不幸的是,Windows需要访问IPC $才能查看其他共享.如果它看不到IPC $,它只是假设没有其他股票可用并放弃.
Samba的Linux客户端实现略有不同,因此不会遇到同样的问题.由于没有办法绕过它,我只是确保IPC $共享不会向匿名用户提供信息.
使用您发送的文章的基于主机的保护和基于用户的保护部分是防止对所有Samba进行不受欢迎的访问的好方法,包括来自不受信任来源的IPC $共享,并且很可能为您提供所需的一切.
但是,本页的指定部分提供了进一步的建议:
https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html
要看的部分:
“access based share enum”
“browseable” – setting to “no” on all shares (except IPC$) should prevent them showing up but windows should still be able to access
“guest ok” – test whether setting to “no” on IPC$share prevents Windows accessing other shares
如果您使用的是winbind,请设置以下内容以防止枚举:
winbind enum groups = no winbind enum users = no