菜鸟学黑客 IPC$入侵计算机系统浅析
2008-02-23 06:41:47来源:互联网 阅读 ()
在黑客众多的入侵手段中,通过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$连接的时候返回如下信息:‘提供的凭据与已存在的凭据集冲突’,怎么回事?
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:深度分析 网络违法犯罪的七大成因
下一篇:实例讲解密码破解以及抗击手段
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash