一、基本信息

样本名称:Rub.EXE

样本大小:21504 字节

病毒名称:Trojan.Win32.Rootkit.hv

加壳情况:UPX(3.07)

样本MD5:035C1ADA4BACE78DD104CB0E1D184043

样本SHA1: BAD1CE555443FC43484E0FACF8B88EA8756F78CB

病毒文件的组成:

病毒母体文件Rub.EXE   MD5:035C1ADA4BACE78DD104CB0E1D184043

病毒母体释放的文件owwesc.exe(随机字母组成的文件名并且是病毒母体Rub.EXE脱UPX壳后的文件) MD5: CC7E53EBCE40AC0BFE07FAF3592C210A

病毒母体释放的文件hra33.dll  MD5: 5B845C6FDB4903ED457B1447F4549CF0

二、样本脱壳


对病毒母体文件Rub.EXE进行查壳,使用DIE.exe查壳软件查壳的结果如下。病毒母体文件被加了UPX壳,并且病毒的开发工具Microsoft Visual C/C++(6.0)。UPX壳脱壳难度不大,根据脱壳的ESP定律,对病毒母体文件进行脱壳处理,然后开始对脱壳的病毒母体文件进行病毒的行为分析。

三、样本病毒行为分析


1. 尝试打开注册表"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\.Net CLR",判断该注册表是否存在。

2. 如果注册表项"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\.Net CLR"存在则为主线程设置服务派遣例程。

2.1 下面详细的分析病毒进程设置的服务派遣例程的行为。


2.1.1 为主线程服务控制设置服务请求处理过程函数,服务请求处理函数根据相关的控制命令nServiceControlStatus设置服务的状态。

2.1.2 创建信号互斥量".Net CLR",防止病毒行为的二次执行。

2.1.3 枚举病毒进程文件的资源,获取类型为0xA的资源,其实该资源就是一个PE文件。

2.1.4 使用获取到的0xA类型的资源在系统目录C:\WINDOWS\system32下释放病毒文件C:\WINDOWS\system32\hra33.dll,然后修改hra33.dll文件的头2个字节为"MZ",恢复"hra.dll"为正常的PE文件。

2.1.5  查询注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\.Net CLR 项ImagePath对应的镜像文件ImageFile;以资源更新或者替换的方式修改该镜像文件IamgeFile的语言资源为病毒文件C:\WINDOWS\system32\hra33.dll的数据。

2.1.6  加载动态库文件C:\WINDOWS\system32\hra33.dll,然后连续创建3个病毒线程,对用户的电脑进行肆意的破坏。

======================================================================

线程1 的病毒行为是 利用IPC$在用户的本地主机服务器上种植病毒。


1.  获取用户本地主机的标准主机名,然后根据获取的主机名遍历获取本地主机名对应的所有的IP地址和端口信息。

2. 对获取的用户的本地主机的IP地址和端口号循环的进行弱口令的登录测试,尝试入侵到本地主机服务器上进行后面的植入病毒文件的操作。

3. 如果弱口令登录入侵用户本地主机服务器成功则向用户的本地主机服务器植入病毒文件,然后运行病毒文件,创建病毒进程,对用户的本地主机服务器进行肆意的破坏。

======================================================================

线程2 的病毒行为是 创建很多死循环的网络操作等的线程,获取用户的电脑的操作系统信息、CPU的信息、内存的信息、网络流量的信息,创建网络套接字主动连接病毒作者的服务器,将这些信息发送给病毒作者,因此用户的电脑也变成了“肉鸡”被病毒作者所控制。用户的电脑等待病毒作者发送控制命令,进行恶意行为的操作。下面具体分析。

1. 死循环创建同一病毒线程然后休眠(这种行为在该病毒进程中非常的多),有软件将这些线程标识为“僵尸线程”。

2. 创建网络套接字,向 网址www.hacker22.com 发起网络连接,接受病毒作者的远程网络控制。

3. 获取用户的电脑的操作系统的版本信息、CPU处理的频率和数目信息、系统的内存信息以、使用的网络流量的信息以及用户电脑从启动到现在的上线时间,准备将用户的这些信息发送给病毒作者。

4. 创建死循环网络等待,等待接受病毒作者远程发送来的控制命令,然后解析病毒作者发送来的控制命令,对用户的电脑执行相应的恶意行为操作。病毒作者的远程控制命令还区分nRevCmdNumber 等于6、nRevCmdNumber 大于 6以及nRevCmdNumber 小于6。

下面对病毒作者的远程控制命令的相应的恶意操作进行具体的分析下。

1.当病毒作者的远程控制命令nRevCmdNumber等于0x10时,从网址www.hacker22.com下载病毒文件到用户的临时系统文件目录%temp%下,然后运行病毒文件,创建病毒进程并且释放的病毒文件的名称是随机不定个数的数字没有文件后缀名。

2.当病毒作者的远程控制命令nRevCmdNumber 等于0x6 和nRevCmdNumber 等于 0x12时,对用户电脑的控制行为是一致的。释放病毒创建的信号互斥量.Net CLR,关闭病毒创建的名称为".Net CLR"服务,删除注册表"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\.Net CLR"项,删除病毒进程的文件自身,依然从网址www.hacker22.com下载病毒文件到用户系统的临时文件目录%temp%下,执行下载的病毒文件,创建病毒进程并且下载的病毒文件的名称组成为前5个字符是随机的,后面是固定字符的即"%c%c%c%c%ccn.exe",然后结束当前病毒进程。

3.当病毒作者的远程控制命令nRevCmdNumber等于0x14时,调用ShellExecute函数使用病毒作者远程发来的控制数据作为IE程序的指定启动参数,创建iexplore.exe进程。

4.当病毒作者的远程控制命令nRevCmdNumber等于0x2、0x4或0x5时,并没有做什么实质性的操作,无非就是使用网络操作API的函数地址或者对于网址www.hacker22.com的连接等操作的函数过程地址为要创建的线程的过程回调,混乱的创建很多的网络套接字操作的线程(不是重点)。

5.当病毒作者的远程控制命令nRevCmdNumber等于0x3时,解析病毒作者远程发来的控制命令,根据解析的控制命令,创建病毒作者指定数量的线程,线程的作用是 利用文件路径C:\WINDOWS\system32\Program Files\Internet Explorer\iexplore.exe下的iexplore.exe程序向网址www.hacker22.com发送GET形式的Http数据请求包,从病毒作者的服务器下载文件。

======================================================================

线程3 的病毒行为与线程2的病毒行为是一致,只不过发起连接的网址变成了aiqing.txddos.com。创建死循环病毒线程,向病毒作者的服务器网址aiqing.txddos.com发起网络连接主动接受控制,获取病毒作者发送来的控制命令,解析这些控制命令,对用户的电脑进行控制操作,具体的分析过程见对线程2行为的具体分析。

======================================================================

死循环僵尸线程的行为分析 利用死循环,在用户的电脑上不断的创建同一个线程,然后根据相关的服务控制命令nServiceControlStatus设置服务的状态。

死循环创建的同一线程的作用是 首先解密字符串"CgvQyt0d4NzeCQsTCxND"获取到发起网络连接的IP地址和端口号;获取用户电脑的系统、CPU、内存、网络流量等信息,发送给病毒作者;后面 除了网址的可能会不同,其他的病毒行为与上面的线程2和线程3的病毒行为一致,接受病毒作者的远程控制命令,然后解析控制命令,对用户的电脑进行控制操作。

2.1.7 如果注册表项"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\.Net CLR"不存在。使用当前病毒进程(UPX壳解压后的病毒文件数据),在Windows系统目录C:\WINDOWS下释放名称为随机字母组成且格式为"%c%c%c%c%c%c.exe"的病毒文件如owwesc.exe;使用该释放的随机字母病毒文件创建名称为".Net CLR"的病毒服务并启动该病毒服务;设置注册表"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\.Net CLR"的项Description的值为 "Microsoft .NET COM+ Integration with SOAP"让用户的系统支持web的SOAP访问服务;通过前面已经分析过的监测事件的方式 病毒进程删除病毒文件自身,结束当前病毒进程。

一个DDOS病毒的分析(一)相关推荐

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

    一.基本信息 样本名称:hra33.dll或者lpk.dll 样本大小: 66560 字节 文件类型:Win32的dll文件 病毒名称:Dropped:Generic.ServStart.A3D47B ...

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

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

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

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

  4. DoS/DDoS的现状分析和典型案例

    DoS/DDoS的现状分析和典型案例 1 概述 2 DoS/DDoS现状分析 3 典型案例 3.1 GitHub: 1.35 Tbps 3.2 CloudFlare: 400 Gbps 3.3 Spa ...

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

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

  6. 病毒行为分析初探(二)

    病毒行为分析初探(二) 为了进一步了解这个病毒木马,我的计算机做了回小白,同时还将我的杀毒软件卸了,看看他究竟是怎么样折腾的. 我的分析是从这几个方面入手:病毒木马运行后,计算机里文件有何变化:注册表 ...

  7. 利用NTLDR进入RING0的方法及MGF病毒技术分析

    利用NTLDR进入RING0的方法及MGF病毒技术分析 2010年08月02日 [b]以前看了莫国防病毒的源代码.摸到了一个进入RING0的方法.今天又在EST论坛看到了代码,随手写一个笔记吧.其实w ...

  8. 2019年上半年 DDOS流量攻击分析以及解决方案

    2019独角兽企业重金招聘Python工程师标准>>> 从2019年初到今天的6月,已经过来大半年了,DDOS流量攻击越来越频繁,在2月份的时候外部公开了一个新型的DDOS攻击网络, ...

  9. ARP病毒的分析与防治

    ARP病毒的分析与防治 版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://caihong.blog.51cto.com/2 ...

最新文章

  1. 关于字符编码 转自廖雪峰的官方网站,至今看到最清晰的讲解
  2. 哈佛大学 CS50,全美最受欢迎的计算机课程!
  3. 天池 在线编程 数组游戏
  4. 自动化测试平台搭建从零开始
  5. 开源项目管理系统:ProjectForge
  6. matlab2c使用c++实现matlab函数系列教程-median函数
  7. 作团队感悟(4)----分享的心态
  8. java 查找文件_Java 实例 – 在指定目录中查找文件
  9. 在windows下安装Linux双系统共存不需要改引导(U盘安装版本)
  10. 矩阵分析与应用(四)——逆矩阵、广义逆矩阵和Moore-Penrose逆矩阵
  11. iOS -显示隐藏文件
  12. html5 雷达,最强大脑雷达探点HTML5版本(示例代码)
  13. 1024程序员节,以梦为马,不负韶华,我们来聊聊IT的发展以及个人感受吧!
  14. 嫉妒(译本)--- 作者:弗兰西斯•培根
  15. 药厂中PLD-601不溶性微粒检查仪IoT的流程梳理
  16. 原神—薄樱初绽时(html+css+js仿原神2.5首页,前端课设)
  17. 计算机电子琴歌声号码,电子琴歌音色节奏一览表.xls
  18. 关于Wechat 的充值
  19. 轻轨列车 light rail train
  20. UA-DETRAC BITVehicle车辆检测数据集(含下载地址)

热门文章

  1. Nginx_location配置讲解
  2. SpringBoot 迭代输出
  3. mapstruct详解
  4. mysql缺少函数_Sqlserver的窗口函数的精彩应用之数据差距与数据岛-答案篇
  5. 【报错笔记】eclipse运行tomcat程序时报错
  6. [PHP 安全] pcc —— PHP 安全配置检测工具
  7. Rust 1.31正式发布,首次引入Rust 2018新功能
  8. redhat6.x_linux学习笔记
  9. 大量执行OSS PutObject时卡住的问题排查
  10. Python学习笔记(十三)