在Windows 2000/XP/2003系统中,逻辑分区 与Windows目录默认为共享,这是为管理员管理服务器的方便而设,但却成为了别有用心之徒可趁的安全漏洞。
目 录
1 默认共享介绍
2 关闭默认共享
2.1 删除已有的共享
2.2 修改注册表
2.3 禁止具有管理员权限的账户通过网络访问
1 默认共享介绍
IPC$
IPC$(Internet Process Connection)是共享"命名管道"的资源,它是为了让进程间通信 而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。
利用IPC$,连接者可以与目标主机建立一个空的连接,即无需用户名和密码就能连接主机,当然这样连接是没有任何操作权限的。但利用这个空的连接,连接者可以得到目标主机上的用户列表。
利用获得的用户列表,就可以猜密码,或者穷举密码,从而获得更高,甚至管理员权限。
只要通过IPC$,获得足够的权限,就可以在主机 上运行程序、创建用户、把主机上C、D、E等逻辑分区 共享给入侵者,主机上的所有资料,包括QQ密码、email帐号密码、甚至存在电脑里的信用卡资料都会暴露在入侵者面前。
要防止别人用ipc$ 和默认共享入侵,需要禁止ipc$ 空连接 ,避免入侵者取得用户列表,并取消默认共享。
禁止ipc$空连接 进行枚举
运行regedit,找到如下组键[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA]把RestrictAnonymous = DWORD的键值改为:00000001
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”,最后确定退出。
445端口关闭方法:运行regedit,找到项[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters],建立名称为SMBDeviceEnabled,DWORD类型的键,值为00000000。
2 关闭默认共享
删除已有的共享
运行
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$管理共享
对于服务器而言:
修改HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters
Name:AutoShareServer
Type:DWORD
Value:0
对于工作站 而言:
修改HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters
Name:AutoShareWks
Type:DWORD
Value:0
修改注册表后需要重启Server服务或重新启动机器。
注:这些键值在默认情况下在主机 上是不存在的,需要自己手动添加。
禁止ADMIN$缺省共享
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters
Name:AutoShareWks
Type:REG_DWORD
Value:0x0
另外:
A、关闭ipc$ 和默认共享依赖的服务(不推荐)
net stop lanmanserver
可能会有提示说,XXX服务也会关闭是否继续。因为还有些次要的服务依赖于lanmanserver。一般情况按y继续就可以了。
B、最简单的办法是设置复杂密码,防止通过ipc$ 穷举密码。但如果你有其他漏洞,ipc$ 将为进一步入侵提供方便。
C、装防火墙,或者端口过滤。
禁止具有管理员权限的账户通过网络访问
譬如说在管理员组我有两个账户“administrator”和“123”,那么我只需要将这两个用户名添加到禁止通过网络访问就可以了,打开“本地安全设置”,找到“本地策略”下的“用户权利指派 ”,在其右侧的“拒绝从网络访问这台计算机”里添加“administrator”和“123”这两个账户,这样的话默认共享就失去了原有的功能了。