一、基本信息


样本名称: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


一个DDOS病毒的分析(二)的更多相关文章

  1. 一个DDOS病毒的分析(一)

    一.基本信息 样本名称:Rub.EXE 样本大小:21504 字节 病毒名称:Trojan.Win32.Rootkit.hv 加壳情况:UPX(3.07) 样本MD5:035C1ADA4BACE78D ...

  2. 一个DDOS木马后门病毒的分析

    http://blog.csdn.net/qq1084283172/article/details/49305827 一.样本信息 文件名称:803c617e665ff7e0318386e24df63 ...

  3. 【病毒分析】对一个vbs脚本病毒的分析

    [病毒分析]对一个vbs脚本病毒的分析 本文来源:i春秋社区-分享你的技术,为安全加点温度 一.前言 病毒课老师丢给我们一份加密过的vbs脚本病毒的代码去尝试分析,这里把分析过程发出来,供大家参考,如 ...

  4. 一个简单的Android木马病毒的分析

    一.样本信息 文件名称: 一个安卓病毒木马.apk 文件大小:242867 byte 文件类型:application/jar 病毒名称:Android.Trojan.SMSSend.KS 样本MD5 ...

  5. [转] 一个U盘病毒简单分析

    (转自:一个U盘病毒简单分析 - 瑞星网   原文日期:2014.03.25) U盘这个移动存储设备由于体积小.容量大.便于携带等优点,给人们的存储数据带来了很大的便利.但正是由于这种便利,也给病毒有 ...

  6. 【转】用C写一个简单病毒

    [摘要]在分析病毒机理的基础上,用C语言写了一个小病毒作为实例,用TURBOC2.0实现. [Abstract] This paper introduce the charateristic of t ...

  7. DDoS攻防战(二):CC攻击工具实现与防御理论

    我们将要实现一个进行应用层DDoS攻击的工具,综合考虑,CC攻击方式是最佳选择,并用bash shell脚本来快速实现并验证这一工具,并在最后,讨论如何防御来自应用层的DDoS攻击. 第一步:获取大量 ...

  8. DDoS攻防战 (二) :CC攻击工具实现与防御理论

    故上兵伐谋 其次伐交 其次伐兵 其下攻城 攻城之法 为不得已 知己知彼 百战不殆 不知彼而知己 一胜一负 不知彼不知己 每战必败 ——孙子兵法·谋攻 我们将要实现一个进行应用层DDoS攻击的工具,综合 ...

  9. Android版本的"Wannacry"文件加密病毒样本分析(附带锁机)

    一.前言 之前一个Wannacry病毒样本在PC端肆意了很久,就是RSA加密文件,勒索钱财.不给钱就删除.但是现在移动设备如此之多,就有一些不法分子想把这个病毒扩散到移动设备了,这几天一个哥们给了一个 ...

随机推荐

  1. 剑指 Offer 68 - II. 二叉树的最近公共祖先 + 最近公共祖先(LCA)

    剑指 Offer 68 - II. 二叉树的最近公共祖先 Offer_68_2 题目详情 题解分析 java代码 package com.walegarrett.offer; /** * @Autho ...

  2. 定西+简单dp

    定西 ECNU-3531 #include<iostream> #include<cstdio> #include<algorithm> #include<c ...

  3. 鸿蒙第三方组件——SwipeCaptcha滑动拼图验证组件

    目录:1.组件效果展示2.Sample解析3.<鸿蒙第三方组件>系列文章合集 前言 基于安卓平台的滑动拼图验证组件SwipeCaptcha( https://github.com/mcxt ...

  4. c语言跨文件调用函数中声明的变量

    转载:weixin_33885253 变量的作用域 变量根据其作用域有全局变量和局部变量之分.全局变量作用域是整个文件,并且可以使用关键字extern达到跨文件调用的目的.但是局部变量值作用于它当前所 ...

  5. 事件 on

    $(选择器).on(事件名称,事件的处理函数) 事件名称:js事件去掉on的部分,例如js中onclick,这里就是click 例如:<input type="button" ...

  6. GCD and LCM HDU - 4497

    题目链接:https://vjudge.net/problem/HDU-4497 题意:求有多少组(x,y,z)满足gcd(x,y,z)=a,lcm(x,y,z)=b. 思路:对于x,y,z都可以写成 ...

  7. Java中遍历集合的常用方法

    一.List 1.普通for循环 for (int i = 0; i < list.size(); i++)){ String temp = (String)list.get(i); Syste ...

  8. 在SSM框架中如何将图片上传到数据库中

    今天我们来看看SSM中如何将图片转换成二进制,最后传入到自己的数据库中,好了,废话不多说,我们开始今天的学习,我这里用的编辑器是IDEA 1.导入图片上传需要的jar依赖包 1 <depende ...

  9. [组合][DP]luogu P3643 [APIO2016]划艇

    题面 https://www.luogu.com.cn/problem/P3643 对于一个序列,第i项可取的值在{0}∪[ai,bi]之间,求使序列非零部分单调递增的方案数 分析 设 $f[i][j ...

  10. C语言之预处理详解

    C语言之预处理详解 纲要: 预定义符号 #define #define定义标识符 #define定义宏 #define的替换规则 #与## 几点注意#undef 带副作用的宏参数 宏和函数的对比 命名 ...