本帖最后由 龙飞雪 于 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 做准备。
|