首页 > 代码库 > 网络安全系列之十九 禁止建立ipc$连接
网络安全系列之十九 禁止建立ipc$连接
在Windows系统中执行net share命令查看共享,可以看到除了系统默认开启的隐藏共享之外,还有一个名为IPC$的隐藏共享。
这个IPC$在黑客界可是鼎鼎大名,当然那是很早以前的事了。IPC$的主要作用是用来连接共享连接。我们知道,当客户端访问文件服务器时,必须要输入用户名和密码进行身份验证,验证通过之后就在客户端与服务器之间建立了一个共享连接,我们可以通过net use命令来管理共享连接,关于这部分内容参见博文http://yttitan.blog.51cto.com/70821/1341546。
一般情况下,客户端在访问服务器时,都是先进行身份验证,然后再建立共享连接。而利用IPC$可以直接来建立共享连接,这样用户在访问文件服务器时,就无需进行身份验证了。
比如,在客户端执行下面的命令(123是administrator用户的密码):
连接建立好之后,用户再访问服务器,就会直接以administrator的身份访问。
在WinXP SP2之前的系统,如果administrator没有设置密码,系统允许客户端直接以空密码与服务器建立连接,这也就是大名鼎鼎的IPC$空连接。当然这个漏洞在WinXP SP2就已经被修补了,但是这个IPC$至今却仍然可以在hacker那里发挥作用,比如用它来猜管理员密码。如果再配上一个批处理脚本以及一个不错的字典,那么这个猜解密码的威力还是比较强大的。
下面是我自己写的一个脚本,pass.txt是字典文件,192.168.80.128是目标主机,成功猜出的密码会保存在1.txt文件中。
for /f %%a in (c:\pass.txt) do net use \\192.168.80.128\ipc$ /user:administrator %%a && echo %%a 1>1.txt
如何来防范这种攻击呢,这里有两种方法:
第一种方法是关闭IPC$。关闭IPC$的方法是停止server服务,而停止了server服务,也就禁用了文件共享的功能,所以此种方法并不推荐。
第二种方法是禁止建立IPC$连接,这是个人比较推荐的方法,具体操作需要修改注册表。展开[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\restrictanonymous],将值改为1。
本文出自 “一壶浊酒” 博客,转载请与作者联系!
网络安全系列之十九 禁止建立ipc$连接