分享

一个U盘病毒简单分析

 新华书店好书榜 2016-08-14

U盘这个移动存储设备由于体积小、容量大、便于携带等优点,给人们的存储数据带来了很大的便利。但正是由于这种便利,也给病毒有了可乘之机,你是否有过拿着U盘到外面打印照片,回来再使用U盘过程中,发现自己的电脑一下就中毒了的经历呢?

U盘病毒对于局域网环境的企业来说也是一个很头疼的事情,由于员工随意插拔使用U盘,经常导致U盘病毒在企业局域网环境下肆意泛滥,给企业网管员带来了不小的麻烦。今天我们分析的这个U盘病毒,会将U盘上的数据隐藏,并会在U盘上生成一个恶意的快捷方式,只要我们打开这个快捷方式,就会触发病毒执行。

病毒样本介绍

先来看一下该病毒样本的相关信息:

File:~%PHENOVECNYE.ini

Size:23M

MD5:69425684F5C155AAD52D0A6C8E41E2FA

瑞星V16+:Worm.Win32.Agent.aym

此病毒样本截图如图1所示,瑞星v16+查杀该样本截图如图2所示。

图1:病毒样本

图2:瑞星V16+对病毒样本查杀截图

病毒样本只是一个lnk快捷方式,并不是~%PHENOVECNYE.ini,我们取消系统的隐藏显示再来看一下。点击工具菜单-文件夹选项,如图3所示,取消隐藏受保护的操作系统文件(推荐)勾选,及隐藏文件和文件夹下面选择显示所有文件和文件夹。

图3:取消系统的隐藏文件

取消系统隐藏文件后,再来看一下病毒样本,文件夹下多了很多文件,如图4所示。

图4:取消系统隐藏文件后,显示出病毒样本~%PHENOVECNYE.ini

我们先来简单分析一下lnk文件,右键点击lnk选择属性,如图5所示。


图5:查看lnk快捷方式文件的属性

我们看到这个lnk快捷方式的目标类型是应用程序,目标是%hoMEdrive%\WINDOWS\System32\rundll32.exe ~%PHENOVECNYE.ini,lnk。如图6所示,这个快捷方式原来是调用系统的rundll32.exe来运行~%PHENOVECNYE.ini。大家可能有点奇怪,~%PHENOVECNYE.ini只是一个ini文件,为什么这个快捷方式要通过rundll32.exe来运行它呢?接下来我们再来分析一下~%PHENOVECNYE.ini文件,看它到底是什么文件类型。

图6:查看lnk快捷方式的属性,其目标为%hoMEdrive%\WINDOWS\System32\rundll32.exe ~%PHENOVECNYE.ini

我们使用winhex工具打开~%PHENOVECNYE.ini文件,在winhex的字符串显示区域,我们看到了MZ头,标准的pe文件头,如图7所示。

图7:winhex显示~%PHENOVECNYE.ini文件实际上是一个可执行程序

Winhex只是能说明~%PHENOVECNYE.ini文件是一个可执行程序,但具体这个文件是dll或exe,还是驱动?我们使用IDA工具查看一下文件的输出点,如图8所示,IDA显示~%PHENOVECNYE.ini的Exports为DLLEntryPoint,原来这个~%PHENOVECNYE.ini是一个dll文件。我们知道要执行一个dll文件,需要使用系统的rundll32应用程序,有时当然还需要加上dll运行参数,这样才能将dll跑起来。所以有时候我们不能只通过查看文件的扩展名来识别文件类型,有些病毒文件会伪装成正常的系统文件名来迷惑大家。怎么来分辨呢?简单的就是用记事本直接打开文件,查看一下文件头,就大概知道这个文件到底是什么文件类型。

图8:IDA查看~%PHENOVECNYE.ini的Exports为DLLEntryPoint

病毒行为分析

在这次病毒行为分析中,我们使用SFF这款工具。当然,在开始运行病毒前,开启SSF的监控,直接双击lnk快捷方式,过一会儿,SSF监控到如下的病毒行为,如图9所示,rundll32.exe执行C:\ATI\Catalyst.exe。

图9:rundll32.exe执行C:\ATI\Catalyst.exe

点允许后,SSF又监控到是否允许Catalyst.exe创建一个傀儡进程Catalyst.exe,如图10所示。

图10:是否允许创建傀儡进程Catalyst.exe

从图10来看,两个Catalyst.exe的pid是不同的,实际就是Catalyst.exe同时创建了一个傀儡进程,而这个傀儡进程就是它自己。这里继续点允许,SSF监控到C:\ATI\Catalyst.exe要运行C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\seynhbuoetjzoetnzoepfqgvpfqkeyne.com,如图11所示。

图11:是否允许Catalyst.exe运行C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\seynhbuoetjzoetnzoepfqgvpfqkeyne.com

小结一下:~%PHENOVECNYE.ini跑起来后,首先在C盘下创建ATI文件夹,同时写入病毒文件Catalyst.exe,Catalyst.exe同时会创建一个它本身的傀儡进程,同时还会在系统临时目录下释放一个随机文件名的com病毒程序,之后交由Catalyst.exe来运行com病毒程序,如图12所示。

图12:SSF拦截到的Catalyst.exe运行临时目录下的com病毒程序行为

允许seynhbuoetjzoetnzoepfqgvpfqkeyne.com运行后,SSF也监控到seynhbuoetjzoetnzoepfqgvpfqkeyne.com同时也要创建一个自身的傀儡进程seynhbuoetjzoetnzoepfqgvpfqkeyne.com,如图13所示。

图13:seynhbuoetjzoetnzoepfqgvpfqkeyne.com创建自己为傀儡进程

在允许创建傀儡进程seynhbuoetjzoetnzoepfqgvpfqkeyne.com后,SSF监控到seynhbuoetjzoetnzoepfqgvpfqkeyne.com要运行系统程序wupdmgr.exe,如图14所示。

图14:seynhbuoetjzoetnzoepfqgvpfqkeyne.com要运行系统wupdmgr.exe

wupdmgr.exe是windows update manger的缩写,是自动升级的程序。我们接下来看一下,病毒程序seynhbuoetjzoetnzoepfqgvpfqkeyne.com要调用系统wupdmgr.exe程序干什么坏事。继续允许它运行wupdmgr.exe,SSF监控到seynhbuoetjzoetnzoepfqgvpfqkeyne.com要修改wupdmgr.exe内存数据,如图15所示。

图15:修改wupdmgr.exe内存数据、注入

在我们允许之后,SSF又监控到同样的病毒行为提示,如图16所示。

图16:两次是否允许修改wupdmgr.exe内存数据

在允许修改wupdmgr.exe内存数据后,SSF监控到wupdmgr.exe在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\Run下,写入名称为47801的启动项,如图17所示。

图17:wupdmgr.exe创建启动项47801

到这里我们先来印证一下SSF监控到这些病毒行为,如图18所示,病毒样本的确是在C盘根目录下创建ATI文件夹并写入病毒文件Catalyst.exe。

图18:病毒样本运行后写入的病毒文件Catalyst.exe

图19所示的是病毒样本~%PHENOVECNYE.ini在系统临时目录下写入的病毒文件seynhbuoetjzoetnzoepfqgvpfqkeyne.com。

图19:系统临时目录下的病毒样本seynhbuoetjzoetnzoepfqgvpfqkeyne.com

再使用xuetr工具查看一下系统当前进程及启动项,如图20所示,在进程列表里我们看到wupdmgr.exe,其父pid为1480,也就是seynhbuoetjzoetnzoepfqgvpfqkeyne.com,seynhbuoetjzoetnzoepfqgvpfqkeyne.com修改wupdmgr.exe内存数据并将其启动起来,为病毒下一步干坏事做好准备。

图20:xuetr进程列表显示wupdmgr.exe已经运行起来

再来看启动项,wupdmgr.exe写入启动项名称为47801,其执行路径为:C:\Documents and Settings\Administrator\Local Settings\Temp\ccwaaiehv.bat,如图21所示。

图21:wupdmgr.exe写入的启动项

右键点击启动项点定位到启动文件,如图22所示,我们来看一下这个bat到底是什么文件。

图22:定位启动文件

图23所示的启动项文件是一个被设置为隐藏的ccwaaiehv.bat。

图23:定位到的病毒文件ccwaaiehv.bat

使用记事本打开这个ccwaaiehv.bat文件,看一下批处理的内容是什么,发现ccwaaiehv.bat其实也是一个pe文件,如图24所示。

图24:ccwaaiehv.bat文件头为MZ标准的pe格式文件

我们提取ccwaaiehv.bat和Catalyst.exe这两文件,使用瑞星V16+查杀一下这两个样本,如图25所示,瑞星V16+对这两个文件报毒。

图25:V16+查杀这两个病毒样本

实际上,在wupdmgr.exe被修改内存数据,并写入启动项47801后,这个病毒整个已经跑起来了。接下来我们就要进一步触发一下这个病毒,看一下这个病毒后续的行为。怎么触发呢?从这个病毒lnk快捷方式的名称为我的移动(4G)及图4来看,我们猜测这个病毒样本可能针对的是移动存储设备U盘来做文章,既然猜测是这样,我们就给染毒环境插入一个正常U盘,如图26所示,是一个实机正常插入的可移动磁盘。

图26:正常的U盘

我们把这个U盘切换到染毒环境的虚拟机,在切换到染毒环境之前我们将processmonitor这个工具的捕捉功能开启,让processmonitor捕捉一下U盘在切换到染毒环境后的一些病毒行为。如图27所示,完好的U盘在切换到染毒环境下,U盘上的数据都看不到了,只剩下一个HB1_CCPA_X6(8GB)的快捷方式。


图27:U盘上的数据只剩下一个2kb的快捷方式

我们来看一下processmonitor工具都捕捉到了哪些病毒行为,病毒是如何将U盘数据隐藏的。由于Processmonitor捕捉到内容较多,如图28所示,我们直接查找wupdmgr.exe,Processmonitor显示进程wupdmgr.exe的pid为2000,这样我们就可以设置过滤规则,直接查看进程wupdmgr.exe的行为。

图28:Processmonitor显示的wupdmgr.exe的pid为2000

接下来设置规则分别为pid为2000、操作为写入、操作为设置注册表值这三项,如何设置过滤规则就不详细讲解了,看过我们之前的文章,相信大家应该掌握了。如图29所示,我们添加三条过滤规则。

图29:设置过滤规则

设置好规则后,我们看到在插入U盘(盘符为E:),wupdmgr.exe向U盘写入文件desktop.ini及Thumbs.db,如图30所示。

图30:wupdmgr.exe向U盘写入文件desktop.ini及Thumbs.db

同时还修改系统注册表项HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced的ShowSuperHidden和Hidden的值,如图31所示,图32、33所示的是修改的具体键值数据。

图31:wupdmgr.exe修改注册表值

图32:修改ShowSuperHidden值为0,勾选隐藏受保护的操作系统文件(推荐)

图33:修改Hidden值为2,勾选不显示隐藏的文件和文件夹

这样修改后,我们就无法查看系统隐藏的文件,其目的就是隐藏U盘上的数据,使我们无法查看到,因为病毒将U盘的文件都设置了隐藏属性,同时wupdmgr.exe向U盘写入病毒文件~%YZUAWLLH.ini,如图34所示。

图34:wupdmgr.exe写入病毒文件~%YZUAWLLH.ini

写入的病毒文件和我们之前运行的~%PHENOVECNYE.ini文件名不同,但其实都是同一个病毒程序。Processmonitor工具同时还捕捉到了wupdmgr.exe向U盘写入lnk快捷方式,如图35所示。

图35:wupdmgr.exe写入的以U盘名及大小为文件名的lnk快捷方式

右键查看U盘上lnk快捷方式的属性,发现同样也是通过系统的rundll32来运行的~%YZUAWLLH.ini,手法和我们的本例讲解的病毒样本一致,如图36所示。

图36:U盘上lnk快捷方式属性

病毒处理

以上是病毒样本的行为分析,接下来我们讲一下如何手动处理这个病毒。使用xuetr工具来处理,如图37所示,使用xuetr先结束进程wupdmgr.exe,之后再删除病毒样本写入的启动项及文件,如图38所示。

图37:结束wupdmgr.exe进程

图38:删除病毒写入的启动项47801及对应文件

之后还要删除在C盘根目录下创建的ATI文件夹,如图39所示。

图39:删除病毒写入的ATI文件夹

下来恢复病毒样本修改的注册表项,如图40所示,使用xuetr注册表定位到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced,将ShowSuperHidden的值修改为正常1,如图41所示。

图40:恢复病毒修改的ShowSuperHidden的注册表值

图41:修改ShowSuperHidden正常键值为1

如图42及图43所示,使用xuetr工具恢复病毒修改的HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden注册表值。

图42:恢复病毒修改的Hidden的注册表值

图43:修改Hidden正常的键值为1

注册表项修改为正常值后,我们就可以看到U盘上隐藏的病毒文件及一个U盘图标似的文件,如图44所示。

图44:U盘上写入的病毒文件及被隐藏的U盘数据

我们打开那个类似U盘图标的文件夹,如图45所示,所有的U盘数据都在这里。

图45:类似U盘图标下的所有U盘数据

接下来将U盘上病毒写入的病毒文件删除,右键选中U盘上病毒写入的文件点删除即可,如图46所示。


图46:删除U盘上病毒文件

删除之后就剩下了那个类似U盘图标的文件夹,如图47所示,这里可是有我们U盘上的数据,不能删除。如何恢复正常的U盘呢?重新插拔一下U盘即可,如图48所示。至此,我们手动完成了处理这个病毒。

图47:剩余的类似U盘图标的文件夹

图48:重新插拔U盘后,U盘恢复正常

瑞星V16+对病毒预防的方法

来讲解一下如何使用瑞星V16+来防范这类病毒。通过前面对病毒行为的分析,病毒修改了系统wupdmgr.exe内存数据并创建一个自身的傀儡进程wupdmgr.exe。那么我们就使用瑞星V16+的系统加固自定义规则,添加一条文件访问规则,监控任何程序访问或修改c:\windows\system32\wupdmgr.exe时都给予提示,如图49所示。

图49:瑞星v16+添加文件访问规则,监控c:\windows\system32\wupdmgr.exe

还需要将系统加固的默认优化选项默认放过包含厂商数字签名的程序文件及默认放过瑞星云安全鉴定安全的程序文件勾选取消,如图50所示。

图50:取消系统加固默认优化选项

再跑一下这个病毒样本,跑样本前关闭瑞星文件监控,过一会瑞星V16+系统加固拦截到有可疑程序试图打开c:\windows\system32\wupdmgr.exe,如图51所示。

图51:系统加固拦截到可疑程序打开c:\windows\system32\wupdmgr.exe

从图51来看,重新运行了病毒样本,该病毒样本在系统临时目录下,创建32位随机命名的com病毒文件。来看一下是否在C盘创建了ATI文件夹并写入了病毒文件Catalyst.exe,如图52所示,果然在C:\ATI写入了病毒文件Catalyst.exe,说明病毒已经跑起来了。

图52:再次运行病毒样本,在C:\ATI写入病毒文件Catalyst.exe

图52-1所示的是病毒文件Catalyst.exe在系统临时目录下创建32位随机命名的com文件。

图52-1:写入系统临时文件夹的32位随机com病毒文件

图52和图52-1都充分说明病毒已经跑起来了,在瑞星V16+系统加固拦截到病毒样本试图打开c:\windows\system32\wupdmgr.exe,注意系统加固默认是阻止,在我们不选择处理方式后,系统加固自动拦截该行为。使用xuetr工具查看当前系统进程里,没有wupdmgr.exe,如图53所示。

图53:当前进程列表没有wupdmgr.exe

继续查看启动项,发现HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\Run也没有被写入可疑启动项,如图54所示。

图54:xuetr显示无可疑启动项

插入U盘到染毒环境再测试一下,看看U盘的数据是否还会被隐藏并变成一个快捷方式。如图55所示,插入U盘后一切正常,说明设置的规则能成功拦截该样本。

图55:插入U盘到染毒环境,U盘一切正常

剩下的就好办了,手动删除掉病毒创建的两个无用的病毒样本即可,如图56所示。

图56:回收站里被删除的两个无用的病毒样本

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多