一个Trojan木马病毒的分析(二)
本帖最后由 龙飞雪 于 2015-8-31 14:53 编辑一个Trojan木马病毒的分析(二)作者:龙飞雪一、基本信息
样本名称:hra33.dll或者lpk.dll样本大小: 66560 字节文件类型:Win32的dll文件病毒名称:Dropped:Generic.ServStart.A3D47B3E样本MD5:5B845C6FDB4903ED457B1447F4549CF0样本SHA1:42E93156DBEB527F6CC104372449DC44BF477A03
这个样本文件是前面分析的Trojan木马病毒母体Rub.EXE释放到用户系统C:\WINDOWS\system32目录下的病毒文件C:\WINDOWS\system32\hra33.dll。在前面的木马病毒分析中没有具体的分析病毒母体进程Rub.EXE加载动态库hra33.dll的行为。
二、样本行为分析
1. 从当前病毒文件hra33.dll的资源中查找名称为0x65的字符串资源".Net CLR"。
2. 判断当前运行的病毒进程文件是否是"hrl%.TMP"(其中%代表其他的字符)文件。
3. 判断互斥信号量".Net CLR"是否已经存在,防止病毒行为的二次执行。
4. 在当前病毒文件hra33.dll的资源中查找资源名称为0x66的资源,该资源其实就是一个PE文件。
5. 如果互斥信号量".Net CLR"已经存在并且在用户系统的临时文件路径下"hrl%.TMP"(其中%代表其他的字符)文件不存在,则使用获取到的资源名称为0x66的资源,在用户系统的临时文件路径下释放病毒文件"hrl%.TMP",如hrl65.tmp。
6. 在用户系统临时文件目录释放病毒文件hrl65.tmp成功,运行病毒文件hrl65.tmp,创建病毒进程hrl65.tmp。
7. 调用函数{lstrcmpiA}判断当前运行的病毒模块是否是lpk.dll文件。
8. 如果当前运行的模块是病毒文件lpk.dll,则对用户系统驱动器里的".EXE"文件和压缩包{".RAR"}或{".ZIP"}里".EXE"文件进行dll劫持。下面对病毒模块的dll劫持行为进行具体的分析。
8.1 分别创建线程,遍历用户电脑的 可移动的硬盘驱动器、网络驱动器、 CD-ROM 驱动器(不区分只读和可读写的 CD-ROM 驱动器)里的文件,为后面对{".EXE"}程序,进行dll劫持做准备。
8.2 如果上面对用户电脑里的文件遍历,遍历到的是{".EXE"}文件,则拷贝病毒模块文件lpk.dll到该{".EXE"}文件的文件目录下,进行dll的劫持。
8.3 如果上面对用户电脑里的文件遍历,遍历到的是 {".RAR"} 或 {".ZIP"} 格式的压缩包文件,则对压缩包里的{".EXE"}文件进行dll劫持,拷贝病毒模块文件lpk.dll到压缩包里的{".EXE"}文件的文件目录下。
9. 如果当前运行的病毒模块不是病毒文件lpk.dll,则动态加载库文件{C:\WINDOWS\system32\lpk.dll}并进行lpk.dll文件的初始化,为后面 dll直接转发的方式劫持系统库文件lpk.dll 做准备。
三、病毒行为总结
1. 从当前病毒文件hra33.dll的资源中查找名称为0x65的字符串资源".Net CLR"。
2. 判断当前运行的病毒进程文件是否是"hrl%.TMP"(其中%代表其他的字符)文件。
3. 判断互斥信号量".Net CLR"是否已经存在,防止病毒行为的二次执行。
4. 在当前病毒文件hra33.dll的资源中查找资源名称为0x66的资源,该资源其实就是一个PE文件。
5. 如果互斥信号量".Net CLR"已经存在并且在用户系统的临时文件路径下"hrl%.TMP"(其中%代表其他的字符)文件不存在,则使用获取到的资源名称为0x66的资源,在用户系统的临时文件路径下释放病毒文件"hrl%.TMP",如hrl65.tmp。
6. 在用户系统临时文件目录释放病毒文件hrl65.tmp成功,运行病毒文件hrl65.tmp,创建病毒进程hrl65.tmp。
7. 调用函数{lstrcmpiA}判断当前运行的病毒模块是否是lpk.dll文件。
8. 如果当前运行的模块是病毒文件lpk.dll,则对用户系统驱动器里的".EXE"文件和压缩包{".RAR"}或{".ZIP"}里".EXE"文件进行dll劫持。下面对病毒模块的dll劫持行为进行具体的分析。
8.1 分别创建线程,遍历用户电脑的可移动的硬盘驱动器、网络驱动器、 CD-ROM 驱动器(不区分只读和可读写的 CD-ROM 驱动器)里的文件,为后面对{".EXE"}程序,进行dll劫持做准备。
8.2 如果上面对用户电脑里的文件遍历,遍历到的是{".EXE"}文件,则拷贝病毒模块文件lpk.dll到该{".EXE"}文件的文件目录下,进行dll的劫持。
8.3 如果上面对用户电脑里的文件遍历,遍历到的是 {".RAR"} 或 {".ZIP"} 格式的压缩包文件,则对压缩包里的{".EXE"}文件进行dll劫持,拷贝病毒模块文件lpk.dll到压缩包里的{".EXE"}文件的文件目录下。
9. 如果当前运行的病毒模块不是病毒文件lpk.dll,则动态加载库文件{C:\WINDOWS\system32\lpk.dll}并进行lpk.dll文件的初始化,为后面dll直接转发的方式劫持系统库文件lpk.dll 做准备。
龙飞雪 发表于 2015-9-18 21:00
哈哈,你是没有遇到感染型的病毒,或者蠕虫那个比dll劫持病毒更可恶
什么蠕虫。熊猫烧香,等等,都弱爆了伤害程度根本不能和LPK比, 这LPK 你要是做电脑维修的话那真是悲剧。 N台电脑被感染,而且U盘杀毒杀干净,一不小心插到以前用过的电脑上 不知不觉,它就缠绕上你了 Edward0524 发表于 2015-10-13 12:20
我中过这种病毒....后来全盘杀lpk.dll.装系统.才避免..
这个病毒是比较难处理,但是应为病毒创建了病毒服务,然后lpk也是一个处理的难点,只要把这两点把握好了,查杀他不是问题。 占个沙发,慢慢看~!~{:301_997:} 火钳刘明!!! 很赞 感谢楼主 Shadow_hy 发表于 2015-8-27 16:08
很赞 感谢楼主
多谢支持...:loveliness: 你的注释写的好详细啊 你用的什么反汇编工具啊,为啥感觉咋么炫酷 康小泡 发表于 2015-8-31 12:07
你用的什么反汇编工具啊,为啥感觉咋么炫酷
IDA啊,泄漏的绿色版6.6里有字体的设置,自己设置下就OK。 龙飞雪 发表于 2015-8-31 13:49
IDA啊,泄漏的绿色版6.6里有字体的设置,自己设置下就OK。
我都没看出来啊,我还以为你用的其他啥呢。不过粉红色那个注释感觉就有点怪怪的啊 康小泡 发表于 2015-8-31 16:07
我都没看出来啊,我还以为你用的其他啥呢。不过粉红色那个注释感觉就有点怪怪的啊
是的,一般绿色的注释比较好,凑合着用