1.样本概况

1.1 样本信息

病毒名称:3601.exe
所属家族:木马病毒
大小: 24576 bytes
文件版本:7.02.2600.5512 (xpsp.080413-0852)
修改时间: 2015年9月29日, 13:10:48
MD5: B5752252B34A8AF470DB1830CC48504D
SHA1: AEC38ADD0AAC1BC59BFAAF1E43DBDAB10E13DB18
CRC32: 4EDB317F

1.2 测试环境及工具

测试环境:虚拟机Windows 7 32位
测试工具:火绒剑、PCHunter、PEiD、OllyDbg、IDA、LoadPE

1.3 分析目标

分析病毒具体行为,找到病毒行为的具体实现代码,了解病毒实现原理,评估病毒的威胁程度。

1.4 样本行为概述

是一个lpk.dll劫持的木马病毒,样本运行后的行为:
①行为监控:释放PE文件,自我复制和删除,释放并隐藏lpk.dll文件
②文件监控:释放hra33.dll,RCX923D.tmp文件,遍历文件夹劫持lpk.dll
③进程监控:创建cmd、rar、find进程
④注册监控:修改注册表服务项,设置允许访问网络连接
⑤网络监控:有网络连接行为

2.具体行为分析

2.1 主要行为

①释放PE文件,自我复制和删除,释放并隐藏lpk.dll文件 3601-lpk劫持病毒分析 - 图1
②释放hra33.dll,RCX923D.tmp文件,遍历文件夹释放lpk.dll 3601-lpk劫持病毒分析 - 图2
③创建cmd、rar、find进程
3601-lpk劫持病毒分析 - 图3
④修改注册表服务项,设置允许访问网络连接 3601-lpk劫持病毒分析 - 图4
⑤有网络连接行为
3601-lpk劫持病毒分析 - 图5

2.2 提取恶意代码

原样本是一个加壳程序,壳版本是UPX 0.89.6。对样本进行脱壳处理,提取恶意代码。详细分析提取样本就可以了。
3601-lpk劫持病毒分析 - 图6
在分析样本时,使用PEID查看提取样本的基本信息,可以确定这是一个VC6.0的程序。
3601-lpk劫持病毒分析 - 图7

2.3 恶意代码分析

①程序流程和关键函数

样本会先检测注册表键值判断服务是否已经创建,如果服务未创建,创建服务,启动服务,若服务已经创建,则自我复制,修改服务配置,然后自我删除。样本主要功能:释放hra33.dll文件和发送网络数据。
3601-lpk劫持病毒分析 - 图8
样本代码主程序执行流程如下图: 3601-lpk劫持病毒分析 - 图9
病毒会释放一个hra33.dll的资源文件,该文件执行释放.tmp文件,遍历文件夹劫持lpk.dll等恶意为。 3601-lpk劫持病毒分析 - 图10
hra33.dll的主程序流程图如下: 3601-lpk劫持病毒分析 - 图11

②检测代码分析

样本会先检测注册表键值判断服务是否已经创建,防止重复操作。 3601-lpk劫持病毒分析 - 图12

③服务处理函数分析

服务处理回调函数主要功能:释放hra32.dllPE文件,发送网络数据 3601-lpk劫持病毒分析 - 图13

④当检测到服务注册表键值不存在时,

执行自我复制,启动服务,自我删除 先检测样本路径,若样本不在系统目录下,自我复制一份到系统目录
3601-lpk劫持病毒分析 - 图14
更改服务配置参数,启动服务 3601-lpk劫持病毒分析 - 图15
删除自身样本,设置当前进程优先级,当前线程优先级。 3601-lpk劫持病毒分析 - 图16 3601-lpk劫持病毒分析 - 图17

⑤线程1:

获取主机信息,创建网络连接 获取主机名,IP地址,用户名,密码

3601-lpk劫持病毒分析 - 图18

敏感字符串
3601-lpk劫持病毒分析 - 图19
创建网络连接,若连接成功,复制自身到磁盘根目录,执行 3601-lpk劫持病毒分析 - 图20

⑥网络线程:

发送网络数据
3601-lpk劫持病毒分析 - 图21

⑦hra33.dll的释放lpk.dll线程分析

遍历指定驱动器文件,若存在exe文件,拷贝一份lpk.dll文件到当前路径 3601-lpk劫持病毒分析 - 图22
若是.rar和.zip压缩文件,则执行rar.exe和cmd.exe进程。在压缩包中插入lpk.dll文件。 3601-lpk劫持病毒分析 - 图23

3.解决方案

3.1 提取病毒的特征,利用杀毒软件查杀

①病毒特征:关键字符串

Ghigkl ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ 1NTUHRYRExYRExYREx3c0eQJChcRFUM=

②Yara规则:

  1. rule vir_3601
  2. {
  3. strings:
  4. $text_1="Ghigkl"
  5. $text_2="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
  6. "
  7. $text_3="1NTUHRYRExYRExYREx3c0eQJChcRFUM="
  8. condition:
  9. $text_1 or $text_2 or $text_3
  10. }

3601-lpk劫持病毒分析 - 图24

③利用ClamAv查杀

3601-lpk劫持病毒分析 - 图25

3.2 手工查杀步骤

①结束进程树
②删除注册表服务项
③删除病毒exe和hra32.dll
④遍历磁盘和压缩包,删除lpk.dll