码迷,mamicode.com
首页 > 其他好文 > 详细

一个Trojan木马病毒的分析(二)

时间:2015-08-31 15:18:10      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:木马   trojan   病毒   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 做准备。


参考网址:

http://blog.sina.com.cn/s/blog_8cb9886a01018hzz.html

http://www.xuebuyuan.com/1929372.html



版权声明:本文为博主原创文章,未经博主允许不得转载。

一个Trojan木马病毒的分析(二)

标签:木马   trojan   病毒   trojan病毒   木马病毒   

原文地址:http://blog.csdn.net/qq1084283172/article/details/48133487

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!