win2k ipc$是个什么东西

JustinLee_PB 2003-10-17 01:18:24
我访问网上邻居,看这个机器总提示
必须提供密码才能连接
资源; \\turbo\ipc$
密码:

但是那个机器我共享了几个目录,都是对所有人开放的。

是不是因为我去除了ipc$共享的缘故
...全文
42 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
loveghb 2003-10-17
  • 打赏
  • 举报
回复
syman815(*蓝魔*) 继续继续啊!
那个ipc$我想知道更多的呢!
hhhuangrui 2003-10-17
  • 打赏
  • 举报
回复
好象是默认的共享吧!
syman815 2003-10-17
  • 打赏
  • 举报
回复
1. 什么是IPC$
IPC$(Internet Process Connection)是共享“命名管道”的资源,它是为了让进程间通信而开放的命名管道,通过提供可信任的用户名河口岭,连接双方可建立安全通道,并以次通道进行加密数据的交换,从而实现对远程计算机的访问。IPC$是WinNT/2000的一项新功能,它有一个特点,即在同一时间内,两个IP之间只允许建立一个连接。WinNT/2000在提供IPC$功能的同时,在初次安装系统时还打开了默认共享,即所有的逻辑共享(C$,D$,E$。。。。。。)和系统目录WinNT(admin$)共享,所有这些,微软的初衷都是为了方便管理员的管理,但在有意无意种,导致了系统安全的降低。(使用net share命令)平时我们总能听到有人在说IPC$漏洞,我想之所以有人这么说,一定是指微软自己安置的“后门”:空会话(Null Session)。那么什么是空会话呢?

2. 什么是空会话
在介绍空会话之前,我们有必要了解一下一个安全会话是如何建立的。在Win2000中,是使用挑战响应协议(CHAP)与远程机器建立一个会话的,建立成功的会话将成为一个安全隧道,建立双方通过它互通信息,这个过程的大致顺序如下:
1) 会话请求者(客户)向会话接收者(服2) 务器)传送一个数据包,3) 请求安全隧道的建立;
4) 服5) 务器产生一个随机的64位数,6) (实现挑战)传送回客户;
7) 客户取得这个由服8) 务器产生的64位数,9) 用试图建立会话的账户的口令加密它,10) 将结果返回到服11) 务器(实现响应);
12) 服13) 务器接受响应之后,14) 发送给本地安全验证(LSA),15) LSA通过使用该用户正确的口令来核实响应,16) 以便确认请求者身份。如果请求者的账号是服17) 务器本地账号,18) 核实本地发生;如果请求账号是一个域的账号,19) 响应传送到域控制器去核实。当对挑战的响应核实为正确后,20) 一个访问令牌产生,21) 然后传送给客户。客户使用这个访问这个令牌连接到服22) 务器上的资源,23) 直到建立的会话被终止;
以上是一个安全会话建立的大致过程,那么空会话又如何呢?
空会话是在没有信任的情况下与服务器建立的会话(即未提供用户名与密码),但根据Win2000的访问控制模型,空会话的建立同样需要提供一个令牌,可空会话在建立过程中并没有经过用户信息的认证。所以这个令牌中不包含用户信息,因此,这个会话不能让系统间发送加密信息,但这并不表示空会话的令牌中不包含安全标志符SID(它标志了用户和所属组)。对于一个空会话,LSA提供的令牌的SID是S-1-5-7,这就是空会话的SID,用户名是:ANONYMOUS LOGON(这个用户名可在用户列表中看到,但不能在SAM数据库中找到,属于系统内置账户),这个访问令牌包含下面伪装的组:Everyone和Network;
在安全策略的限制下,这个空会话将被授权访问到上面两个组有权访问到的一切信息。那么建立空会话到底可以做什么呢?

3. 空会话可以做什么
对于WinNT,在默认安全设置下,借助空连接可列举目标主机上的用户和共享,访问Everyone权限的共享,访问小部分注册表等,并没有什么太大的利用价值。对Win2000的作用更小,因为在Win2000和以后的版本中,默认只有管理员和备份操作员有权从网络访问到注册表,而且实现起来也不方便,需借助工具,从这些我们可以看到,这种非信任会话并没有多大用处,但从一次完整的IPC$入侵来看,空会话是一个不可缺少的跳板,因为我们从他那里可得到用户列表,而大多数弱口令扫描工具就是利用这个用户列表来进行口令猜解的,成功的导出用户列表大大增加了猜解的成功率。仅从这一点足以说明空会话所带来的安全隐患,因此说空会话毫无用处是不正确的。以下是空会话中能使用的一些具体命令:
1) 首先,2) 我们先建立一个空会话(当然,3) 这需要目标4) 开放IPC$)
命令:net use \\192.168.1.2\ipc$ “” /user:“”
5) 查看远程主机的共享资源,6) 但此命令不7) 能显示默认共享
命令:net view \\192.168.1.2
8) 查看远程主机的当前时间
命令:net time \\192.168.1.2
9) 得到远程主机的NetBIOS用户名10) 列表,11) 这需要打开自己的NBT
命令:nbtstat —a \\192.168.1.2
以上就是我们经常使用空会话做的事情,好像也能获得不少东西,不过要注意一点:建立IPC$连接的操作会在Event Log中留下纪录,不管你是否登录成功。好了,下面我们就来看看IPC$所使用的端口是什么?
chenbing557 2003-10-17
  • 打赏
  • 举报
回复
请问楼上,我怎么在注册表里找到修改IPC$的地方。
sungod8 2003-10-17
  • 打赏
  • 举报
回复
是的,你可以使用net share ipc$再次开放ipc$,不过这个不是长久的方法,最好还是把注册表改回来!

供参考:
什么是IPC$
http://expert.csdn.net/Expert/topic/2332/2332354.xml?temp=6.353396E-02

9,505

社区成员

发帖
与我相关
我的任务
社区描述
Windows专区 安全技术/病毒
社区管理员
  • 安全技术/病毒社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧