热点推荐
ZOL首页 > 软件资讯 > 新闻资讯 > 互联网 > 菜鸟学黑客 IPC\$入侵计算机系统浅析

菜鸟学黑客 IPC\$入侵计算机系统浅析


个人电脑 作者:中关村在线 朱晓斌 【原创】 2006年02月22日 15:36 评论

    在黑客众多的入侵手段中,通过IPC\$入侵成为目前比较常见的一种方式,其攻击步骤甚至可以说已经成为经典的入侵模式,许多朋友非常想搞清楚这是怎么回事。知己知彼,方能百战不殆,基于这种考虑,我们来了解一下这种入侵方式的基础知识。
    IPC是Internet Process Connection的缩写,也就是远程网络连接。它是Windows NT/2000/XP特有的一项功能,就是在两个计算机进程之间建立通信连接。一些网络通信程序之间通信可以建立在IPC上面。打个比方,IPC连接就像是挖好的地道,程序可通过地道访问远程主机。默认情况下,IPC是共享的,也就是说微软已经为我们挖好了这个地道(IPC),因此,这种基于IPC的入侵也常常被简称为IPC入侵。
    IPC后面的\$是共享的意思,不过是隐藏的共享,微软系统中用“\$”表示隐藏的共享,比如C\$就是隐藏的共享C盘。也就是说C盘是共享的,但是C盘没有那个“托手”标志。IPC\$是共享“命名管道”的资源,它是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。利用IPC\$,连接者甚至可以与目标主机建立一个空的连接而无需用户名与密码!当然对方机器必须打开IPC\$共享,否则你是连接不上的。而利用这个空的连接,连接者还可以得到目标主机上的用户列表。
    问:建立IPC连接需要什么条件?
    答:建立IPC连接要求双方都是基于NT架构的系统。Windows Me/98/95都不可以。
    问:怎么才能建立IPC连接呢?需要什么黑客工具呢?
    答:建立IPC连接不需要任何黑客工具,在Windows里敲命令行就行了,但需要知道远程主机的用户名和密码。打开CMD后用如下命令:net use\\ip\ipc\$ "password" /user:"username"进行连接。注意,如果远程服务器没有监听139或445端口,会话是无法建立的。也就是说IPC\$需要对方开启139或445端口。
    问:建立IPC\$之后黑客能做什么?
    答:如果黑客使用管理员权限的账号和目标连接IPC\$,他就可以和对方系统做深入“交流”了。黑客可以使用各种命令行方式的工具,比如pstools系列、Win2000SrvReskit、telnethack等获得目标信息、管理目标的进程和服务等。如果目标开放了默认共享(没开的话,黑客会帮你开),黑客就可以上传木马并运行,也可以用tftp、ftp的办法上传,而dwrcc、VNC、RemoteAdmin等工具(木马)还具有直接控屏的功能,直接控制我们。如果是Win2000 server,黑客还会考虑开启终端服务以方便控制。
    问:别人无法和自己建立IPC\$是否意味着我就不能和对方建立IPC\$呢?
    答:不是的!发起IPC\$和被建立IPC\$是两个不同的概念。别人无法和自己建立IPC\$并不影响自己是否能够和他人建立IPC\$。
    问:我听说有个空连接,这是怎么回事呢?
    答:简单说来,空连接即不需要用户名和密码就可以建立IPC连接,但是这种连接是得不到什么权限的。建立空连接的命令:net use \\IP\ipc\$ "" /user:""。空连接是在没有信任的情况下与服务器建立的会话(即未提供用户名与密码),但根据Win2000的访问控制模型,空会话的建立同样需要提供一个令牌,可是空会话在建立过程中并没有经过用户信息的认证,所以这个令牌中不包含用户信息,因此,这个会话无法在系统间发送加密信息,但这并不表示空会话的令牌中不包含安全标识符SID(它标识了用户和所属组),对于一个空会话,LSA提供的令牌的SID是S-1-5-7,这就是空会话的SID,用户名是:ANONYMOUS LOGON(这个用户名是可以在用户列表中看到的,但是无法在SAM数据库中找到,属于系统内置的账号),这个访问令牌包含下面伪装的组:Everyone,Network;在安全策略的限制下,这个空会话将被授权访问到上面两个组有权访问到的一切信息。
    问:空连接有什么用?
    答:对于NT,在默认安全设置下,借助空连接可以列举目标主机上的用户和共享,访问Everyone权限的共享,访问小部分注册表等,并没有什么太大的利用价值;对Win2000作用更小,因为在Win2000和以后版本中默认只有管理员和备份操作员有权从网络访问到注册表,而且实现起来也不方便,需借助工具。从这些我们可以看到,这种非信任会话并没有多大的用处,但从一次完整的IPC\$入侵来看,空连接是一个不可缺少的跳板,因为我们从它那里可以得到用户列表,空连接还可以列举用户和组,目标系统类型等。这对于一个老练的黑客已经足够了。
    问:如何利用空连接得到远程主机的用户列表
    答:首先,先建立一个空会话(需要目标开放ipc\$),用命令:net use \\ip\ipc\$ "" /user:""即可建立空连接。然后用命令:net view \\IP命令查看远程主机的共享资源,如果对方开了共享,就可以列出共享名、类型及其注释。最后再使用nbtstat -A IP命令就可以得到远程主机的NetBIOS用户名列表(需要打开自己的NBT)。注意,建立IPC\$连接的操作会在EventLog中留下记录,不管你是否登录成功。
    问:空连接和IPC\$是一回事吗?
    空连接和IPC\$是不同的概念。空连接是在没有信任的情况下与服务器建立的会话,换句话说,它是一个到服务器的匿名访问。IPC\$是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限。IPC\$连接可以实现远程登陆及对默认共享的访问。
    问:IPC\$是个漏洞吗?
    许多文章中都提到了IPC\$漏洞,其实,IPC\$并不是真正意义上的漏洞,它是为了方便管理员的远程管理而开放的远程网络登陆功能,而且还打开了默认共享,即所有的逻辑盘(c\$,d\$,e\$……)和系统目录winnt或windows(admin\$)。所有的这些,其初衷都是为了方便管理员的管理,但一些别有用心者会利用IPC\$访问共享资源,导出用户列表,并使用字典工具进行密码探测,寄希望于获得更高的权限,从而达到不可告人的目的。从这个角度来说,IPC\$常常被黑客所利用。
    问:IPC\$连接成功后,我用net uset kkk /add命令建立了一个账户,却发现这个账户在我自己的机器上,这是怎么回事?
    答:IPC\$建立成功只能说明你与远程主机建立了通信隧道,并不意味你取得了一个shell,只有在获得一个shell之后,你才能在远程建立一个账户,否则你的操作只是在本地进行。
    问:我建立ipc\$连接的时候返回如下信息:‘提供的凭据与已存在的凭据集冲突’,怎么回事?
    答:这说明你与目标主机建立了一个以上的IPC\$连接,这是不允许的,把其他的删掉吧。用如下命令计量:net use \\*.*.*.*\ipc\$ /del。
    问:IPC\$与默认共享有什么联系?
    答:默认共享是为了方便管理员远程管理而默认开启的共享,即所有的逻辑盘(c\$,d\$,e\$……)和系统目录winnt或windows(admin\$),我们通过ipc\$连接可以实现对这些默认共享的访问,前提是对方没有关闭这些默认共享。
    问:只要对方开放了139端口或者445端口就可以建立IPC\$吗?
    答:这种想法不一定正确!139、445端口开放了未必可以建立IPC\$,但IPC\$可建立则表示对方的139端口或445端口开放了。
    问:怎样映射和访问默认共享?
    答:使用命令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即可。当路径中包含空格时,须用""将路径全引住。
    问:如何删除映射和ipc\$连接?
    答:用命令net use \\IP\ipc\$ /del可以删除和一个目标的IPC\$连接。用命令net use z: /del删除映射的Z盘,其他盘类推。而用命令net use * /del可以删除全部,在删除时会有提示要求按“y”键确认。
    问:如何防范IPC\$入侵?
    答:首先要禁止空连接进行枚举(此操作并不能阻止空连接的建立)。运行regedit,找到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA下的DWORD值RestrictAnonymous的键值改为:00000001。
    然后输入net share察看本地共享资源,接下来输入如下命令删除共享:
net share ipc\$ /delete
net share admin\$ /delete
net share c\$ /delete
net share d\$ /delete(如果有e,f等盘符可以同法删除)
    接下来用记事本编辑如下内容的注册表文件,保存为任意名字的.Reg文件,使用时双击即可关闭默认共享和IPC\$:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]
"AutoShareServer"=dword:00000000
"AutoSharewks"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
"RestrictAnonymous"=dword:00000001

    注意,上面的代码最后面一定要空上一行,否则不会成功。其中,键值AutoShareServer对应C\$、D\$一类的缺省共享,键值AutoSharewks对应ADMIN\$缺省共享,键值RestrictAnonymous对应IPC\$空连接。
    除了上面的方法,你也可以通过屏蔽139,445端口来防范别人通过IPC\$来入侵,因为没有139,445端口的支持是无法建立IPC\$的,因此屏蔽139,445端口同样可以阻止IPC\$入侵。139端口可以通过禁止NBT来屏蔽,方法是:选择本地连接→TCP/IP属性→高级→WINS→禁用TCP/IP上的NETBIOS即可(图1)。445端口可以通过修改注册表来屏蔽方法是:打开注册表到HKEY_LOCAL_MACHINE\System\Controlset\Services\NetBT\Parameters下,新建预告DWORD值SMBDeviceEnabled,将其键值设为0,然后修改完后重启机器即可。


菜鸟学黑客 IPC\$入侵计算机系统浅析

图1

    再有,停止Server服务也是个不错的防范方法,具体方法是在CMD下输入:net stop server /y即可,注意重新启动电脑后Server服务会重新开启。所以,如果你觉得这样还不够安全,可以永久关闭ipc\$和默认共享依赖的服务:Server服务,方法是:打开“控制面板”|“管理工具”|“服务”,找到Server服务(图2),用鼠标右键单击它,选择弹出菜单中的“属性”,再点击“常规”|“启动类型”|“已禁用”即可(图3)。

菜鸟学黑客 IPC\$入侵计算机系统浅析
图2

菜鸟学黑客 IPC\$入侵计算机系统浅析
图3

下载 计算机资料大全 请点击://xiazai.zol.com.cn/detail/4/30641.shtml
查看更多软件信息>> 计算机资料大全 2.0
本软件在电子阅读中排名第310位
用户评分:9 | 1 人点评
更新时间:2011年12月22日
开发商:未知
下载次数:175595次
应用平台:Win XP/Win2000/Win98/Win ME
软件分类:电子阅读
论坛讨论:进入论坛
查看本文作者 朱晓斌 的其他文章>>
看完本文后的感受:文章感受排行>>
频道热词:微信  手机QQ  12306  
视觉焦点
计算机资料大全 2.0
  • 更新时间:2011年12月22日
  • 软件大小:10.089MB
  • 软件分类:电子阅读
  • 语言种类:简体中文
  • 软件评级:1 人点评
N8 Symbian Anna PR 2.0系统升级对比
新浪微博