[转] 一个U盘病毒简单分析
(转自:一个U盘病毒简单分析 - 瑞星网 原文日期:2014.03.25)
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:回收站里被删除的两个无用的病毒样本
[转] 一个U盘病毒简单分析的更多相关文章
- 【病毒分析】对一个vbs脚本病毒的分析
[病毒分析]对一个vbs脚本病毒的分析 本文来源:i春秋社区-分享你的技术,为安全加点温度 一.前言 病毒课老师丢给我们一份加密过的vbs脚本病毒的代码去尝试分析,这里把分析过程发出来,供大家参考,如 ...
- 病毒木马查杀实战第017篇:U盘病毒之专杀工具的编写
前言 经过前几次的讨论,我们对于这次的U盘病毒已经有了一定的了解,那么这次我们就依据病毒的行为特征,来编写针对于这次U盘病毒的专杀工具. 专杀工具功能说明 因为这次是一个U盘病毒,所以我打算把这次的专 ...
- 一个简单的Android木马病毒的分析
一.样本信息 文件名称: 一个安卓病毒木马.apk 文件大小:242867 byte 文件类型:application/jar 病毒名称:Android.Trojan.SMSSend.KS 样本MD5 ...
- 多线程学习-基础( 十)一个synchronized(){/*代码块*/}简单案例分析
一.提出疑惑 上一篇文章中,分析了synchronized关键字的用法.但是好像遗漏了一种情况. 那就是: synchronized(obj){/*同步块代码*/} 一般有以下几种情况: (1)syn ...
- 一个DDOS病毒的分析(一)
一.基本信息 样本名称:Rub.EXE 样本大小:21504 字节 病毒名称:Trojan.Win32.Rootkit.hv 加壳情况:UPX(3.07) 样本MD5:035C1ADA4BACE78D ...
- 病毒木马查杀实战第014篇:U盘病毒之手动查杀
在U盘中发现病毒 前段时间需要往虚拟机中拷贝点资料,如同往常一样,插上我的U盘,并且在虚拟机的设置中选择连接U盘.奇怪的是这次的连接时间较以往长,并且还出现了"自动播放"窗口: 图 ...
- java 中 “文件” 和 “流” 的简单分析
java 中 FIle 和 流的简单分析 File类 简单File 常用方法 创建一个File 对象,检验文件是否存在,若不存在就创建,然后对File的类的这部分操作进行演示,如文件的名称.大小等 / ...
- FFmpeg源代码简单分析:avio_open2()
===================================================== FFmpeg的库函数源代码分析文章列表: [架构图] FFmpeg源代码结构图 - 解码 F ...
- Android版本的"Wannacry"文件加密病毒样本分析(附带锁机)
一.前言 之前一个Wannacry病毒样本在PC端肆意了很久,就是RSA加密文件,勒索钱财.不给钱就删除.但是现在移动设备如此之多,就有一些不法分子想把这个病毒扩散到移动设备了,这几天一个哥们给了一个 ...
随机推荐
- qemu -net tap配置上网
1 该选项的用途 让qemu所在的宿主机器的tap网络接口和qemu的vlan n连接起来,从而进一步配置宿主机后,可以让qemu里面的操作系统可以通过vlan n里面的网卡上网. 2 真个系统的架构 ...
- appche配置访问限制
1. 禁止访问某些文件/目录增加Files选项来控制,比如要不允许访问 .inc 扩展名的文件,保护php类库:<Files ~ "\.inc$"> Order a ...
- jvm部分知识总结
1.jvm有三种执行模式,分别是解释执行,混合执行和编译执行,默认情况是混合执行模式. java version " Java(TM) SE Runtime Environment (bui ...
- html5--html实现乘法口诀表
html5--html实现乘法口诀表 总结: 1.多种情况问题:分情况讨论就出来了 2.汉字和数字的对应关系 3.相同的部分统一处理,不同的部分分别对待(这里用中间变量) 问题:九九乘法口诀 两点提示 ...
- Java抽象类和接口的区别(好长时间没看这种文章了)
Java抽象类和接口的区别(好长时间没看这种文章了) abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的 ...
- HDU - 4333 Revolving Digits(拓展kmp+最小循环节)
1.给一个数字字符串s,可以把它的最后一个字符放到最前面变为另一个数字,直到又变为原来的s.求这个过程中比原来的数字小的.相等的.大的数字各有多少. 例如:字符串123,变换过程:123 -> ...
- 【转】Vuex 学习总结
对于很多新手来说,只是阅读文档是不好消化,我的建议是看看 vuex 的实例,通过研究实例来学习vuex.这样就会好理解多了.如果还是不能理解,最好办法就是先把store 的四个属性:state, ge ...
- python-----从本地摄像头和网络摄像头截取图片
import cv2 # 获取本地摄像头 # folder_path 截取图片的存储目录 def get_img_from_camera_local(folder_path): cap = cv2.V ...
- poj3046 Ant Counting——多重集组合数
题目:http://poj.org/problem?id=3046 就是多重集组合数(分组背包优化): 从式子角度考虑:(干脆看这篇博客) https://blog.csdn.net/viphong/ ...
- myeclipse 导入maven
一安装maven 先安装jdk,配置JAVA_HOME 把下载的maven bin包,解压到指定目录,比如:D:\apache-maven-3.3.9-bin 配置maven的系统变量M2_HOME和 ...