首先需要指出的是空连接和ipc$是不同的概念。空连接是在没有信任的情况下与服务器建立的会话,换句话说,它是一个到服务器的匿名访问。ipc$是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限。有许多的工具必须用到ipc$。默认共享是为了方便远程管理而开放的共享,包含了所有的逻辑盘(c$,d$,e$……)和系统目录winnt或win-(admin$)。 

常见问题和回答: 
1,怎样建立空连接,它有什么用? 
使用命令 net use \\ip\ipc$ "" /user:"" 就可以简单地和目标建立一个空连接(需要目标开放ipc$)。 
对于nt,在默认安全设置下,借助空连接可以列举目标用户、共享,访问everyone权限的共享,访问小部分注册表等,没有什么利用价值。对2000作用就更小了。而且实现也不方便,需借助工具。 

2,为什么我连不上ipc$? 
1,只有nt/2000/xp及以上系统才可以建立ipc$。如果你用的是98/me是没有该功能的。 
2,确认你的命令没有打错。正确的命令是: net use \\目标ip\ipc$ "密码" /user:"用户名" 
注意别多了或少了空格。当用户名和密码中不包含空格时两边的双引号可以省略。空密码用""表示。 
3,根据返回的错误号分析原因: 
错误号5,拒绝访问 : 很可能你使用的用户不是管理员权限的,先提升权限; 
错误号51,win- 无法找到网络路径 : 网络有问题; 
错误号53,找不到网络路径 : ip地址错误;目标未开机;目标lanmanserver服务未启动;目标有防火墙(端口过滤); 
错误号67,找不到网络名 : 你的lanmanworkstation服务未启动;目标删除了ipc$; 
错误号1219,提供的凭据与已存在的凭据集冲突 : 你已经和对方建立了一个ipc$,请删除再连。 
错误号1326,未知的用户名或错误密码 : 原因很明显了; 
错误号1792,试图登录,但是网络登录服务没有启动 : 目标netlogon服务未启动。(连接域控会出现此情况) 
错误号2242,此用户的密码已经过期 : 目标有帐号策略,强制定期要求更改密码。 

3,怎样打开目标的ipc$? 
首先你需要获得一个不依赖于ipc$的shell,比如sql的cmd扩展、telnet、***。当然,这shell必须是admin权限的。然后你可以使用shell执行命令 net share ipc$ 来开放目标的ipc$。从上一问题可以知道,ipc$能否使用还有很多条件。请确认相关服务都已运行,没有就启动它(不知道怎么做的请看net命令的用法)。还是不行的话(比如有防火墙,杀不了)建议放弃。 

4,怎样映射和访问默认共享? 
使用命令 net use z: \\目标ip\c$ "密码" /user:"用户名" 将对方的c盘映射为自己的z盘,其他盘类推。 
如果已经和目标建立了ipc$,则可以直接用ip加盘符加$访问。比如 copy muma.exe \\ip\d$\path\muma.exe 。或者再映射也可以,只是不用用户名和密码了:net use y: \\ip\d$ 。然后 copy muma.exe y:\path\muma.exe 。当路径中包含空格时,须用""将路径全引住。 

5,如何删除映射和ipc$连接? 
用命令 net use \\ip\ipc$ /del 删除和一个目标的ipc$连接。 
用命令 net use z: /del 删除映射的z盘,其他盘类推。 
用命令 net use * /del 删除全部。会有提示要求按y确认。 

6,连上ipc$然后我能做什么? 
能使用管理员权限的帐号成功和目标连接ipc$,表示你可以和对方系统做深入“交流”了。你可以使用各种命令行方式的工具(比如pstools系列、win2000srvreskit、telnethack等)获得目标信息、管理目标的进程和服务等。如果目标开放了默认共享(没开你就帮他开),你就可以上传***并运行。也可以用tftp、ftp的办法上传。像dwrcc、vnc、remoteadmin等工具(***)还具有直接控屏的功能。如果是2000server,还可以考虑开启终端服务方便控制。这里提到的工具的使用,请看自带的说明或相关教程。 

7,怎样防止别人用ips$和默认共享***我? 
a、一种办法是把ipc$和默认共享都删除了。但重起后还会有。这就需要改注册表。 
1,先把已有的删除 
net share ipc$ /del 
net share admin$ /del 
net share c$ /del 
…………(有几个删几个) 
2,禁止建立空连接 
首先运行regedit,找到如下主键[hkey_local_machine\system\currentcontrolset\control\lsa]把restrictanonymous(dword)的键值改为:00000001。 
3,禁止自动打开默认共享 
对于server版,找到如下主键[hkey_local_machine\system\currentcontrolset\services\lanmanserver\parameters]把autoshareserver(dword)的键值改为:00000000。 
对于pro版,则是[hkey_local_machine\system\currentcontrolset\services\lanmanserver\parameters]把autosharewks(dword)的键值改为:00000000。 
如果上面所说的主键不存在,就新建一个再改键值。 
b、另一种是关闭ipc$和默认共享依赖的服务(不推荐) 
net stop lanmanserver 
可能会有提示说,xxx服务也会关闭是否继续。因为还有些次要的服务依赖于lanmanserver。一般情况按y继续就可以了。 
c、最简单的办法是设置复杂密码,防止通过ipc$穷举密码。但如果你有其他漏洞,ipc$将为进一步***提供方便。 
d、还有一个办法就是装防火墙,或者端口过滤。防火墙的方法就不说了,端口过滤看这里: 
过配置本地策略来禁止139/445端口的连接