论坛: 菜鸟乐园 标题: ipc的小总结 复制本贴地址    
作者: magic [buaaytt]    论坛用户   登录
    前几天闲来无事,在菜鸟乐园的搜索里打了个ipc,出了22篇文章,看完之后想总结一下,希望于人于己都能有些帮助,里面大部分都是别人说的话,我只是copy加上edit罢了。

1、ipc$和空会话是不是一回事?

    空连接是在没有信任的情况下与服务器建立的会话,换句话说,它是一个到服务器的匿名访问,你不需要提供用户名和密码。只需要键入net use \\ip\ipc$ "" /user:""就可以简单地和目标建立一个空连接(需要目标开放ipc$),具体的实现原理可以看看下面这篇文章(我是看不太懂)。http://www.sandflee.net/txt/list.asp?id=117。 对于NT,在默认安全设置下,借助空连接可以列举目标用户、共享,访问everyone权限的共享,访问小部分注册表等,没有什么利用价值。对2000作用就更小了。而且实现也不方便,需借助工具。

    ipc$是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,有许多的工具必须用到ipc$。默认共享是为了方便远程管理而开放的共享,包含了所有的逻辑盘(c$,d$,e$……)和系统目录winnt或windows(admin$)。

2、怎样建立ipc$?

    net use \\ip\ipc$ "密码" /user:"用户名" 

3、为什么我连不上IPC$?

    这个问题的答案简直太多了:

    (1)只有nt/2000/xp及以上系统才可以建立ipc$,如果你用的是98/me是没有该功能的。
    (2)确认你的命令没有打错,注意别多了或少了空格。当用户名和密码中不包含空格时两边的双引号可以省略。如果密码为空,就直接打两个引号""就行了。

    (3)根据返回的错误号分析原因: 

         错误号5,拒绝访问 : 很可能你使用的用户不是管理员权限的,先提升权限; 
         错误号51,Windows 无法找到网络路径 : 网络有问题; 
         错误号53,找不到网络路径 : ip地址错误;目标未开机;目标lanmanserver服务未启动;目标有防火墙(端口过滤); 
         错误号67,找不到网络名 : 你的lanmanworkstation服务未启动;目标删除了ipc$; 
         错误号1219,提供的凭据与已存在的凭据集冲突 : 你已经和对方建立了一个ipc$,请删除再连。 
         错误号1326,未知的用户名或错误密码 : 原因很明显了; 
         错误号1792,试图登录,但是网络登录服务没有启动 : 目标NetLogon服务未启动。(连接域控会出现此情况) 
         错误号2242,此用户的密码已经过期 : 目标有帐号策略,强制定期要求更改密码。

    (4)如果在已经建立好了连接的情况下对方重启机器了,那么ipc$连接也就自然断开了,所以还得重新建立连接。

4、怎样打开目标的IPC$?

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

5、关于映射共享

    首先要建立了ipc$,就可以直接用IP加盘符加$访问。比如copy muma.exe\\IP\d$\path\muma.exe 。或者先映射对方硬盘到自己的机器上再copy也可以,net use y: \\IP\d$ 。然后 copy muma.exe y:\path\muma.exe 。当路径中包含空格时,须用""将路径全引住。
    用命令 net use \\IP\ipc$ /del 删除和一个目标的ipc$连接。 
    用命令 net use z: /del 删除映射的z盘,其他盘类推。 
    用命令 net use * /del 删除全部。会有提示要求按y确认

6、连上ipc$之后我能做什么?

    能使用管理员权限的帐号成功和目标连接ipc$,表示你可以和对方系统做深入“交流”了。很多初学者或者没搞懂ipc$是什么的连上就迫不及待用net user hacker hacker /add命令添加用户了。这里告诉大家,这样做的结果是在自己的机器上开了一个hacker hacker的用户,你的目的是在对方的机器里添加用户,所以要让对方的机器执行这个命令,所以你得有一个对方机器的shell,当然是admin权限的了。如果不知道自己的帐号是什么权限,可以用net user 帐号 查看,当然也是在对方的机器里才能这么做了。

    最好是给对方开个后门,这就需要管理员权限了。可以用opentelnet,winshell等等这种只需要一行命令就搞定的简单的工具,用图形界面远程控制也行。但是如果你想学东西的话,我觉得用最少的工具,用最多的步骤来做这件事会比较好(个人看法)。再次重申一次,一定要用ipc$连上才行,而不是net use \\ip\ipc$这种空连接哦。

    另外,也可以通过解administrator的密码来实现,这才是最好的不会被发觉的后门,当然前提是他不会经常更换密码并且也不能太复杂哦。

看了这么多,自然要问如何防范啊?

1、把ipc$和默认共享都删除了
           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。 
     如果上面说的主键不存在,就新建一个再改键值。 

4、另一种是关闭ipc$和默认共享依赖的服务(不推荐) 
           net stop lanmanserver 
        可能会有提示说,XXX服务也会关闭是否继续。因为还有些次要的服务依赖于lanmanserver。一般情况按y继续就可以了。 

5、还有一个办法就是装防火墙,或者端口过滤。防火墙的方法就不说了,端口过滤看这里: 
        http://www.sandflee.net/txt/list.asp?id=98

地主 发表时间: 09/28 17:30

回复: qnmd [fc2002]   论坛用户   登录
我~~~~~~~~顶~~~~~~~~~~~~~~~~!!

B1层 发表时间: 09/28 18:36

论坛: 菜鸟乐园

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号