默认共享
电脑软件
在Windows 2000/XP/2003系统中,逻辑分区与Windows目录默认为共享,这是为管理员管理服务器的方便而设,但却成为了别有用心之徒可乘的安全漏洞。
基本介绍
IPC$
进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。
利用IPC$,连接者可以与目标主机建立一个空的连接,即无需用户名和密码就能连接主机,当然这样连接是没有任何操作权限的。但利用这个空的连接,连接者可以得到目标主机上的用户列表。
利用获得的用户列表,就可以猜密码,或者穷举密码,从而获得更高,甚至管理员权限。
只要通过IPC$,获得足够的权限,就可以在主机上运行程序、创建用户、把主机上C、D、E等逻辑分区共享给入侵者,主机上的所有资料,包括QQ密码、email账号密码、甚至存在电脑里的信用卡资料都会暴露在入侵者面前。
要防止别人用ipc$和默认共享入侵,需要禁止ipc$空连接,避免入侵者取得用户列表,并取消默认共享。
禁止ipc$空连接进行枚举
Value:0x0(缺省)
0x1 匿名用户无法列举本机用户列表
0x2 匿名用户无法连接本机IPC$共享
说明:不建议使用2,否则可能会造成你的一些服务无法启动,如SQL Server
关闭139与445端口
ipc$连接是需要139或445端口来支持的,139端口的开启表示netbios协议的应用,通过139,445(win2000)端口实现对共享文件/打印机的访问,因此关闭139与445端口可以禁止ipc$连接。
关闭139端口可以通过禁用 netbios 协议来实现。
139端口关闭方法:控制面板->网络和拨号连接->本地连接,点属性按钮进入“本地连接 属性”页面,选择“Internet 协议 (TCP/IP)”,然后点属性按钮,在弹出窗口点高级按钮,然后选择WINS标签,点“禁用 TCP/IP 上的 NetBios”,最后确定退出。
关闭
删除已有的共享
运行
net share ipc$ /del
net share admin$ /del
net share c$ /del
net share d$ /del
…………(有几个删几个)
OR:建立新TXT文件,输入:
ECHO OFF
NET SHARE C$ /DELETE
NET SHARE D$ /DELETE
NET SHARE E$ /DELETE
NET SHARE F$ /DELETE
NET SHARE G$ /DELETE
NET SHARE H$ /DELETE
NET SHARE ADMIN$ /DELETE
NET SHARE IPC$ /DELETE
ECHO ON
(有更多分区的话继续加,I$ J$ ……)
另存为 noshare.bat 放在系统目录下,建立快捷方式到“开始”菜单的“启动”组。 这样每次启动的时候都自动删除共享。
或者在“控制面板->管理工具->计算机管理”里的“共享文件夹->共享”中删除。
修改注册表
删除了共享,下一次启动时还是会自动打开共享,要永久关闭需要修改注册表
IPC$、Admin$和C$、D$都不同,在注册表的修改是不同的。你所改的只是禁止了C$、D$。而没有禁止IPC$。
禁止C$、D$管理共享
对于服务器而言:
Name:AutoShareServer
Type:DWORD
Value:0
对于工作站而言:
Name:AutoShareWks
Type:DWORD
Value:0
修改注册表后需要重启Server服务或重新启动机器。
注:这些键值在默认情况下在主机上是不存在的,需要自己手动添加。
禁止ADMIN$缺省共享
Name:AutoShareWks
Type:REG_DWORD
Value:0x0
另外:
A、关闭ipc$和默认共享依赖的服务(不推荐)
net stop lanmanserver
可能会有提示说,XXX服务也会关闭是否继续。因为还有些次要的服务依赖于lanmanserver。一般情况按y继续就可以了。
B、最简单的办法是设置复杂密码,防止通过ipc$穷举密码。但如果你有其他漏洞,ipc$将为进一步入侵提供方便。
C、装防火墙,或者端口过滤。
禁止具有管理员权限的账户通过网络访问
譬如说在管理员组我有两个账户“administrator”和“123”,那么我只需要将这两个用户名添加到禁止通过网络访问就可以了,打开“本地安全设置”,找到“本地策略”下的“用户权利指派”,在其右侧的“拒绝从网络访问这台计算机”里添加“administrator”和“123”这两个账户,这样的话默认共享就失去了原有的功能了。
参考资料
最新修订时间:2023-12-15 19:28
目录
概述
基本介绍
参考资料