一个DDOS病毒的分析(二)

一、基本信息


样本名称:hra33.dll或者lpk.dll

样本大小: 66560 字节

文件类型:Win32的dll文件

病毒名称:Dropped:Generic.ServStart.A3D47B3E

样本MD5:5B845C6FDB4903ED457B1447F4549CF0

样本SHA1:42E93156DBEB527F6CC104372449DC44BF477A03

 

这个样本文件是前面分析的Trojan木马病毒母体Rub.EXE释放到用户系统C:WINDOWSsystem32目录下的病毒文件C:WINDOWSsystem32hra33.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:WINDOWSsystem32lpk.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:WINDOWSsystem32lpk.dll}并进行lpk.dll文件的初始化,为后面dll直接转发的方式劫持系统库文件lpk.dll 做准备。


参考网址:

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

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



原文地址:https://www.cnblogs.com/csnd/p/11800689.html