一份详尽的IPC$入侵资料

ZDNet软件频道 时间:2009-11-04 作者: | 比特网 我要评论()
本文关键词:IP策略 IP IPS入侵防御系统 Windows
 网上关于ipc$入侵的文章可谓多如牛毛,而且也不乏优秀之作,攻击步骤甚至可以说已经成为经典的模式,因此也没人愿意再把这已经成为定式的东西拿出来摆弄.

  一 唠叨一下:

  网上关于IPc$入侵的文章可谓多如牛毛,而且也不乏优秀之作,攻击步骤甚至可以说已经成为经典的模式,因此也没人愿意再把这已经成为定式的东西拿出来摆弄.

  不过话虽这样说,但我个人认为这些文章讲解的并不详细,对于第一次接触IPc$的菜鸟来说,简单的罗列步骤并不能解答他们的许多迷惑(你随便找一个hack论坛搜一下IPc,看存在的疑惑有多少).

  因此我写了这篇相当于解惑的教程.想把一些容易混淆,容易迷惑人的问题说清楚,让大家不要总徘徊在原地!如果你看完这篇帖子仍有疑问,请马上回复!

  二 什么是IPc$

  IPC$(Internet Process Connection)是共享"命名管道"的资源(大家都是这么说的),它是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。

  利用IPC$,连接者甚至可以与目标主机建立一个空的连接而无需用户名与密码(当然,对方机器必须开了IPc$共享,否则你是连接不上的),而利用这个空的连接,连接者还可以得到目标主机上的用户列表(不过负责的管理员会禁止导出用户列表的)。

  我们总在说IPc$漏洞IPc$漏洞,其实,IPc$并不是真正意义上的漏洞,它是为了方便管理员的远程管理而开放的远程网络登陆功能,而且还打开了默认共享,即所有的逻辑盘(c$,d$,e$……)和系统目录winnt或Windows(admin$)。

  所有的这些,初衷都是为了方便管理员的管理,但好的初衷并不一定有好的收效,一些别有用心者(到底是什么用心?我也不知道,代词一个)会利用IPC$,访问共享资源,导出用户列表,并使用一些字典工具,进行密码探测,寄希望于获得更高的权限,从而达到不可告人的目的.

  解惑:

  1)IPC连接是Windows NT及以上系统中特有的远程网络登陆功能,其功能相当于Unix中的Telnet,由于IPC$功能需要用到Windows NT中的很多DLL函数,所以不能在Windows 9.x中运行。

  也就是说只有nt/2000/xp才可以建立IPc$连接,98/me是不能建立IPc$连接的(但有些朋友说在98下能建立空的连接,不知道是真是假,不过现在都2003年了,建议98的同志换一下系统吧,98不爽的)

  2)即使是空连接也不是100%都能建立成功,如果对方关闭了IPc$共享,你仍然无法建立连接

  3)并不是说建立了IPc$连接就可以查看对方的用户列表,因为管理员可以禁止导出用户列表

  三 建立IPc$连接在hack攻击中的作用

  就像上面所说的,即使你建立了一个空的连接,你也可以获得不少的信息(而这些信息往往是入侵中必不可少的),访问部分共享,如果你能够以某一个具有一定权限的用户身份登陆的话,那么你就会得到相应的权限,显然,如果你以管理员身份登陆,嘿嘿,就不用我在多说了吧,what u want,u can do!!

  (基本上可以总结为获取目标信息、管理目标进程和服务,上传木马并运行,如果是2000server,还可以考虑开启终端服务方便控制.怎么样?够厉害吧!)

  不过你也不要高兴的太早,因为管理员的密码不是那么好搞到的,虽然会有一些傻傻的管理员用空口令或者弱智密码,但这毕竟是少数,而且现在不比从前了,随着人们安全意识的提高,管理员们也愈加小心了,得到管理员密码会越来越难的:(

  因此今后你最大的可能就是以极小的权限甚至是没有权限进行连接,你会慢慢的发现IPc$连接并不是万能的,甚至在主机不开启IPc$共享时,你根本就无法连接.

  所以我认为,你不要把IPc$入侵当作终极武器,不要认为它战无不胜,它就像是足球场上射门前的传球,很少会有致命一击的效果,但却是不可缺少的,我觉得这才是IPc$连接在hack入侵中的意义所在.

  四 IPc$与空连接,139,445端口,默认共享的关系

  以上四者的关系可能是菜鸟很困惑的一个问题,不过大部分文章都没有进行特别的说明,其实我理解的也不是很透彻,都是在与大家交流中总结出来的.(一个有良好讨论氛围的BBS可以说是菜鸟的天堂)

  1)IPc$与空连接:

  不需要用户名与密码的IPc$连接即为空连接,一旦你以某个用户或管理员的身份登陆(即以特定的用户名和密码进行IPc$连接),自然就不能叫做空连接了.

  许多人可能要问了,既然可以空连接,那我以后就空连接好了,为什么还要费九牛二虎之力去扫描弱口令,呵呵,原因前面提到过,当你以空连接登陆时,你没有任何权限(很郁闷吧),而你以用户或管理员的身份登陆时,你就会有相应的权限(有权限谁不想呀,所以还是老老实实扫吧,不要偷懒哟).

  2)IPc$与139,445端口:

  IPc$连接可以实现远程登陆及对默认共享的访问;而139端口的开启表示netbios协议的应用,我们可以通过139,445(win2000)端口实现对共享文件/打印机的访问,因此一般来讲,IPc$连接是需要139或445端口来支持的.

  3)IPc$与默认共享

  默认共享是为了方便管理员远程管理而默认开启的共享(你当然可以关闭它),即所有的逻辑盘(c$,d$,e$……)和系统目录winnt或Windows(admin$),我们通过IPc$连接可以实现对这些默认共享的访问(前提是对方没有关闭这些默认共享)

  五 IPc$连接失败的原因

  以下5个原因是比较常见的:

  1)你的系统不是NT或以上操作系统;

  2)对方没有打开IPc$默认共享

  3)对方未开启139或445端口(惑被防火墙屏蔽)

  4)你的命令输入有误(比如缺少了空格等)

  5)用户名或密码错误(空连接当然无所谓了)

  另外,你也可以根据返回的错误号分析原因:

  错误号5,拒绝访问 : 很可能你使用的用户不是管理员权限的,先提升权限;

  错误号51,Windows 无法找到网络路径 : 网络有问题;

  错误号53,找不到网络路径 : IP地址错误;目标未开机;目标lanmanserver服务未启动;目标有防火墙(端口过滤);

  错误号67,找不到网络名 : 你的lanmanworkstation服务未启动;目标删除了IPc$;

  错误号1219,提供的凭据与已存在的凭据集冲突 : 你已经和对方建立了一个IPc$,请删除再连。

  错误号1326,未知的用户名或错误密码 : 原因很明显了;

  错误号1792,试图登录,但是网络登录服务没有启动 : 目标NetLogon服务未启动。(连接域控会出现此情况)

  错误号2242,此用户的密码已经过期 : 目标有帐号策略,强制定期要求更改密码。

  关于IPc$连不上的问题比较复杂,除了以上的原因,还会有其他一些不确定因素,在此本人无法详细而确定的说明,就靠大家自己体会和试验了.

  六 如何打开目标的IPC$(此段引自相关文章)

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

  七 如何防范IPc$入侵

  1禁止空连接进行枚举(此操作并不能阻止空连接的建立,引自《解剖win2000下的空会话》)

  首先运行regedit,找到如下组建[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLSA]把RestrictAnonymous = DWORD的键值改为:00000001(如果设置为2的话,有一些问题会发生,比如一些WIN的服务出现问题等等)

  2禁止默认共享

  1)察看本地共享资源

  运行-cmd-输入net share

  2)删除共享(每次输入一个)

  net share IPc$ /delete

  net share admin$ /delete

  net share c$ /delete

  net share d$ /delete(如果有e,f,……可以继续删除)

  3)停止server服务

  net stop server /y (重新启动后server服务会重新开启)

  4)修改注册表

  运行-regedit

  server版:找到如下主键[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters]把AutoShareServer(DWORD)的键值改为:00000000。

  pro版:找到如下主键[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters]把AutoShareWks(DWORD)的键值改为:00000000。

  如果上面所说的主键不存在,就新建(右击-新建-双字节值)一个主健再改键值。

  3永久关闭IPc$和默认共享依赖的服务:lanmanserver即server服务

  控制面板-管理工具-服务-找到server服务(右击)-属性-常规-启动类型-已禁用

  4安装防火墙(选中相关设置),或者端口过滤(滤掉139,445等),或者用新版本的优化大师

  5设置复杂密码,防止通过IPc$穷举密码

  (本教程不定期更新,欲获得最新版本,请登陆官方网站:菜菜鸟社区原创http://ccbirds.yeah.net)

  八 相关命令

  1)建立空连接:

  net use IPIPc$ "" /user:"" (一定要注意:这一行命令中包含了3个空格)

  2)建立非空连接:

  net use IPIPc$ "用户名" /user:"密码" (同样有3个空格)

  3)映射默认共享:

  net use z: IPc$ "密码" /user:"用户名" (即可将对方的c盘映射为自己的z盘,其他盘类推)

  如果已经和目标建立了IPc$,则可以直接用IP+盘符+$访问,具体命令 net use z: IPc$

  4)删除一个IPc$连接

  net use IPIPc$ /del

  5)删除共享映射

  net use c: /del 删除映射的c盘,其他盘类推

  net use * /del 删除全部,会有提示要求按y确认

用户评论
用户名
评论内容
发表时间
ZDNet网友
2011-03-18 14:57:01
ZDNet网友
2010-05-21 00:49:14
ZDNet网友
2010-05-21 00:48:00
ZDNet网友
微软应该对自己的用户负责,如果用户完全使用xp升级微软win7,为什么要付出这样麻烦的代价?都是微软出品软件,且都是利用该软件获取信息以及处理文字、多媒体功能,微软应该尽可能方便用户!虽然有时候这样的请求也许跟不上时代技术发展的脚步,但是微软不要以此为借口,认为一切都理所应当,就不可以方便用户。还是要尽力,所谓拿人手短吃人嘴软,商业不正是讲求有商道吗!至少做人需诚实守信,尽可能帮助用户顺利、安全转换操作系统、各种必须软件功能尽可能兼容以及信息尽可能的少丢失!虽然这很大程度仅仅取决于微软等计算机专家、工程师的自我自律约束,我们普通用户恐怕很难知道微软究竟仅了多大力量为用户考虑,但是我相信真相会有被发现的一天,无论多久远。 微软从某种意义上来说,就是一个类似“掌握魔方”操作特别出神入化的公司。几乎奠定了电脑主要的“规则”,但是,我却相信不久将来我们会发现,电脑依然是非常有限的一个小系统而已!随着我们新的关键材料认知突破,电脑系统会真正被另一个革命性新电脑系统所取代,不要以为我这样的说法是无稽之谈不可实现,我却认为很有可能,只看这样的情况发生究竟是快还是慢,是早还是迟!变成历史的小玩具之后的电脑系统,微软会留下良好的历史声名吗?我们拭目以待! 网友::我爱佛祖
2010-02-03 13:52:55
- 发表评论 -
匿名
注册用户

百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134