浅析捆绑木马检测技术

2016-11-26 11:27
网络安全和信息化 2016年6期
关键词:注册表木马网址

引言:为了逃避追捕,越来越多的木马会将自身捆绑到合法的文件中,例如图片、音乐、视频、EXE等,然后经过免杀和加壳处理,在用户毫无察觉间侵入系统。那么,如何才能识破捆绑型木马的伪装,使其暴露在光天化日之下呢?本文将从不同的角度分析一下常用的检测方法。

最直接的检测方法

对付捆绑型木马来说,最简单的检测方法莫过于借助于杀软让其显露原形。因为捆绑型木马看似一个文件,其实内部捆绑有一个甚至更多个文件。而功能强大的杀软可以将其拆解进行查杀。例如当下载了一个可疑程序后,使用最新版的金山毒霸进行扫描后,杀软提示已经扫描了3个文件,但是只发现了一个威胁(如图1)。而我们只是检测了一个程序而已,明显说明了该程序内部捆绑有木马文件,接下就需要让杀软将其清除。

当然,在网上还有很多检测捆绑型木马的工具(例如MT捆绑克星等),可以让嵌入的木马露出原形。这里以反文件捆绑器为例进行说明,在该工具的“请选取一个文件进行分析”栏中点击浏览按钮,选择需要分析的可疑程序(如图2)。点击“扫描文件”按钮,经过其分析后,会提示“该文件捆绑有2个未知程序”等警告信息,说明其内部另有玄机。点击“分解文件”按钮,可以将其中捆绑的文件提取到指定的路径中,便于您对其进行深入研究。

图1 杀软扫描捆绑型文件

图2 使用专用工具检测捆绑型文件

此外,使用WinHex这款强大的资源编辑工具,同样可以让捆绑型木马现形。在WinHex工具栏中点击打开按钮,导入可疑文件。之后点击“Ctrl+F”键,在搜索窗口中输入“This program”,点击OK按钮执行搜索操作,如果搜索到多处符合条件的文本,就说明这是一个捆绑型文件。例如,在本例中就搜索到3处,说明其中捆绑有两个可疑程序。即使宿主文件经过了加壳处理,虽然可能逃过杀软的监控,但是也逃不过WinHex的法眼。

通用捆绑型木马检测技术

对于一般的捆绑型木马,可以使用上述简单方法进行检测。但是对于狡猾的捆绑型木马来说,检测起来就没有那么容易了。例如,黑客可以使用Hammer Binder这款工具,对捆绑型木马进行深度加工处理。除了可以添加木马程序,设定其释放路径,调整木马文件的各项属性,将其添加到注册表启动项等常规功能外,还提供了延迟运行,显示消息框,自删除,从预设网址下载文件,对注册表进行单个或者批量键值的删除,添加,修改等操作,控制Windows服务项目,禁用任务管理器,关机注销重启系统,甚至可以清除主板CMOS数据等功能。黑客如果对其加以综合运用,可以打造出功能强悍的捆绑型木马。

对于这类捆绑型木马,需要联合使用各种安全工具,才能让其彻底就范。例如,我们可以使用IceSword冰刃,下载者监视器,WsockExpert,注册表监视器等工具,来检测经过精心伪装的捆绑型木马。这些软件和与之功能类似的检测软件,在网上可以很轻松的找到。在实施检测之前,最好切断网络连接,这样可以防止可疑程序从网上下载更多的木马来攻击系统。首先运行下载者监视器,在其主窗口中点击“开始监控”按钮,程序提示启动监视成功(如图3)。之后只要有程序试图从网上下载文件,就会彻底暴露在我们的面前。随后启动注册表监视器,该程序一旦启动,会立即对注册表进行全面监控。

图3 启动下载者监控器

图4 使用WsockExpert分析网络包

之后运行可疑程序,下载者监视器立即弹出拦截窗口,在“时间”栏中显示拦截的时间,在“路径”栏中显示可疑程序的位置,在“下载”栏中显示其想要下载的文件网址,在“保存”栏中显示其下载后文件的存放路径。据此,我们就断定该可疑程序一定是从网上寻找帮凶了。点击“否”按钮,禁止其从网上下载文件。当然,我们已经做了断网处理,并不惧怕其下载操作。紧接着注册表监视器在屏幕右下角连续弹出警告面板,提示有可疑程序向注册表的相关路径(例如启动项等)非法添加信息,说明捆绑在其中的木马程序已经悄然行动了。此外,该程序还试图打开一些来历不明的网页,说明在捆绑型木马中肯定被写入了某些特定的网址,一旦程序运行就会在后台偷偷打开预设的网址,执行这些网址中藏匿着的更多不法程序。那么,该如何让这些网址彻底曝光呢?这就需要使用WsockExpert这款网络分析软件了。

在WsockExpert主界面工具栏中点击打开按钮,在弹出窗口中显示当前运行的所有进程信息,选择需要监控的程序,之后WsockExpert就可以开始对其网络传输信息进行抓包分析。在分析列表中选择具体的网络包,在窗口底部就会显示其访问的具体网址信息(如图4)。根据这些信息,就很容易搞明白这些见不得人的网址了。如果在此时运行某些专业的网络连接分析工具,就可以清晰的看到可疑程序试图连接的远程主机IP了。例如运行360网络连接查看器,就可以很轻松的查看到这些信息了。根据以上分析,知道了可疑程序有释放文件,连接可疑IP,修改注册表信息,试图下载非法程序等不轨行为,就可以肯定这是捆绑型木马了。接下来使用IceSword将这些木马全部清除掉,并恢复注册表(最好事前备份了注册表),即可消除其影响了。当然,为了安全起见,上述监测行为最好在虚拟机中进行。其大致顺序为先在虚拟机使用各种工具对可疑文件进行检测,检测其是否捆绑有可疑程序,之后开启文件和注册表监控程序,同时对可疑程序进行抓包分析,检查其是否建立了非法网络连接,查看远程IP信息等行为。

对付隐匿型捆绑文件的方法

对于一般的捆绑型木马来说,无非是使用各种捆绑工具,将木马(多半是免杀型)和正常的文件捆绑在一起,以看似正常文件的手段来迷惑用户。但是,对于有些更加狡诈的捆绑型木马来说,会采用更加隐蔽的方式进行伪装。例如,黑客可能会使用RobinPE等工具,将木马程序插入到正常的EXE文件中,而且被嵌入的EXE程序文件大小不会改变,这种捆绑技术会让人防不胜防。一旦用户运行了这类EXE程序,隐匿在其中的木马就会悄然出击,在后台非法活动。

此类隐匿性木马的原理并不复杂,EXE文件(也就是PE文件)由于对齐的需要,其内部并非全部都是正常数据。实际上,在PE文件区块间存在一定的间隙,由此在文件内部会产生大段的00数据,隐匿型捆绑术就是讲木马插入到这些间隙中,即写入到这些00区域数据中。因为木马植入到PE文件的间隙而没有增加新的区块,所以EXE文件的大小并没有变化。当然,由于正常EXE文件的区块间隙比较小,可以插入的木马体积往往也很小。例如,黑客可以先设计一个小巧的木马,当其运行后,会从指定的非法网址下载功能更强的木马。之后使用RobinPE等工具将该木马插入到某个正常EXE(例如记事本等)内部,但是宿主EXE文件体积未变。为了逃避查杀,黑客会给该EXE未见进行加壳处理。这样,不管是使用杀软,还是使用反捆绑软件,均无法发现藏匿在该EXE文件的猫腻。当用户运行了该EXE文件后,潜伏在其内部的木马就会被释放出来,并从预定网站下载更大的木马,执行更深层次的渗透破坏。

当然,正常的EXE文件中的区块间隙空间毕竟有限,无法容纳体积更大的木马。黑客为了解决这一问题,会采用增加区块的办法,来实现上述目的,其手法在EXE文件中增加一个块头,然后增加块头指向的数据段,然后调整文件映像尺寸大小。当然,黑客还可以使用Zeroadd,TOPO,LoadPE等工具,来简单快速的为EXE文件增加区块。因为区块增加了,黑客就可以很轻松的在EXE文件中嵌入体积更大的木马了。不过,这种宿主型EXE文件的体积会比原文件明显增大,因此识别起来要容易一些。那么,如何防御这类隐匿性捆绑木马呢?最直接的办法就是不要接收别人发来的来历不明的程序,或者不要到不熟悉的网站下载软件。当然,如果知道正常程序的MD5校验值的话,识别起来就轻松多了。只需计算目标EXE程序的MD5校验值,然后和标准的校验值比较,就可以立即区分真假了。否则的话,就需要使用FileMon,RegShot等监视工具,在目标程序运行前后为系统拍摄快照,之后分析比较前后快照,发现系统的变动情况,就可以搞清楚该程序对系统所做的修改操作,进而判断其好坏真假了。

当然,对于此类隐匿性捆绑式木马来说,也可以使用一些专用工具进行检测。例如使用Bound File Detector这款小工具,就可以轻松发现宿主EXE文件中是否藏匿了非法数据。在Bound File Detector主界面(如图5)中的“目标程序”栏中点击浏览按钮,选择需要检测的EXE文件,点击“分析文件”按钮,经过其分析后,如果在“结果”栏中显示“XXX字节的额外数据被发现,数据位于偏移量XXXh”等字样(XXX表示具体的数值),就表示其中可能藏匿有木马等非法程序,点击“清除数据”按钮,就可以将其清除,达到净化EXE文件的目的。

图5 Bound File Detector检测界面

提起PEiD这款小工具,想必大家都比较熟悉,该工具可以对目标程序的各种属性进行深入检测。利用该工具,同样可以识别隐匿型捆绑文件。PEiD实际上是一个基于特征码的探测程序外壳信息的检测工具。利用其提供的自定义特征码功能,可以有效检测这类隐匿型捆绑文件。例如对于经由RobinPE捆绑的木马来说,需要在PEiD运行目录下打开“userdb.txt”文件,在其中添加一些内容:

之后保存该文件,在PEiD主界面中的“文件”栏中点击浏览按钮,选择目标EXE文件,之后点击窗口右下角的“=》”按钮,在弹出菜单中点击“外部扫描”项,就可以使用自定义特征码文件检测目标文件。在窗口底部的检测框中如果出现“RobinPE v.new->Robin [debug]”字样,就表明该EXE文件经过了RobinPE的伪装处理,里面捆绑有木马程序。顺便说一下,利用PEiD提供的目录检测功能,可以大大提高检测效率。在PEiD主界面中点击“多文件扫描”按钮,在弹出窗口中点击“扫描目录”按钮,选择特定目录(例如选择系统文件夹),之后执行扫描动作,我们知道,在系统目录下的正常文件都是没有加壳的。如果发现有加壳的程序,那其很有可能就是木马等恶意程序。而系统目录恰恰是木马病毒等恶意程序喜欢藏身的地方,利用PEiD的批量扫描功能,可以让这些不法之徒现出原形。

猜你喜欢
注册表木马网址
小木马
本刊网址变更通知
骑木马
火眼金睛快速显示链接的网址
小木马
旋转木马
更上一层楼 用好注册表编辑器
注册表的便捷用法
本刊关于网址的郑重申明
本刊关于网址的郑重申明