3601_lpk劫持病毒分析
2020-12-05 18:58:00 Author: mp.weixin.qq.com(查看原文) 阅读量:26 收藏

本文为看雪论优秀文章

看雪论坛作者ID:WPeace

1. 样本概况

1.1 样本信息

病毒名称:3601劫持病毒
所属家族:Trojan-DDoS.Win32.Macri.atk
大小:24576 byte
修改时间:2007年1月22日, 16:48:04
MD5:
b5752252b34a8af470db1830cc48504d
SHA1:
aec38add0aac1bc59bfaaf1e43dbdab10e13db18
CRC32:4EDB317F
壳类型:UPX壳
编写语言:VC6
病毒行为:连接恶意网址下载代码远程执行、对lpk.dll进行劫持

1.2 测试环境及工具

测试系统:Windows7
测试工具:火绒剑、PCHunter、IDA、OD。

1.3 分析目标

找到恶意代码并且分析病毒是怎样利用代码实现恶意行为的。
2. 具体行为分析

2.1 主要行为

2.1.1 恶意行为分析

使用火绒剑对病毒的行为进行分析,可以归为以下四类:对文件的操作、对注册表的操作、对进程的操作、对网络的操作。
 
一、 对文件的操作
① 创建fadbwg.exe文件(之后经过分析此文件名是随机的六个字母),并写入数据:
② 删除原始的病毒文件:
③ 创建hra33.dll文件和临时文件,并写入数据:
④ 在多个文件夹中创建lpk.dll并写入数据:
二、 对注册表的操作
在注册表中创建Ghijkl Nopqrstu Wxy项;对注册表有删除操作:
三、 对进程的操作
① 创建了进程,经过排查发现创建的都是cmd、find、rar的进程:
② 使用cmd进行跨进程写内存的操作:
四、 对网络的操作
① 发送网络数据包,经过查看数据包流量猜测是发送了计算机的相关信息:
② 网络连接行为:

2.2 恶意代码分析

2.2.1 分析是否有壳,如果有壳则进行脱壳

① 首先使用PEID进行分析,可以得知此病毒是UPX壳:
② 使用OD使用esp定律进行脱壳,脱壳后再使用PEID进行分析,可以得知此程序是VC6.0编写的:

2.2.2 恶意程序的代码分析片段

一、首先打开注册表,判断是否打开成功


① 打开注册表的函数OpenRegFunc如图2-1:

二、打开注册表失败

① 恶意函数sub_405B6E:

1. 首先获取各种API地址,如图2-2:

2. 生成随机的六个字母,如图2-3:

3. 将病毒拷贝到C:\Windows\,以刚才生成的随机字母命名,如图2-4:

4. 创建服务Ghijkl Nopqrstu Wxy,路径为随机字母.exe的病毒,如图2-5: 

5.更改服务的可选配置参数,如图2-6:    

6.使用StartService运行病毒的服务,如图2-7:

7.修改病毒的注册表添加Description项,值为"Ghijklmn Pqrstuvwx Abcdefg Ijklmnop Rst",如图2-8:
② 删除病毒自身的函数DeleteFileFunc:
1.  命令行删除原路径病毒如图2-9:

2.  更新设置,如图2-10:
③ 退出当前进程,如图2-11:

三、打开注册表成功
① 使用StartServiceCtrlDispatcher函数,启动之前创建的病毒服务:
② 分析恶意函数sub_40561A,其行为主要包括创建恶意dll、创建4个线程。
1. 创建恶意dll:
Create_hra33dll_Func调用了EnumResourceNames函数,如图2-12:
分析EnumResourceNames的回调函数,创建了hra33.dll并写入了可执行文件,如图2-13、图2-14:

2. 修改了hra33.dll的文件资源,如图2-15,其主要步骤是先读取病毒的注册表,如图2-16,然后创建病毒文件、读取病毒文件,如图2-17,之后向dll资源中写入病毒文件和一个字符串,如图2-18、图2-19:

3. 载入hra33.dll,如图2-20、图2-21:
4. 创建的第一个线程:
分析其回调函数:
其中有很多常用的用户名,如图2-22,猜测是用于暴力破解时使用。 
其中主要函数的功能通过分析可以得知是通过局域网传播病毒,如图2-23,此函数的参数为图2-24:
分析NetCopyFunc,首先获取各种API地址,然后字符串操作得到 \\192.168.49.1\ipc$,如图2-25,之后调用WNetAddConnection2函数,参数如图2-26:
如果连接成功,则拷贝病毒命名为g1fd.exe,如图2-27,如果不成功会修改路径继续尝试,如图2-28:

当成功拷贝病毒会执行CMD语句设置定时任务,如图2-29:

3. 创建的第二个线程:
分析其回调函数,首先初始化套接字,然后获取当前日期,如图2-30,之后创建了一个新的线程如图2-31:

分析线程回调函数sub_405128,此函数又创建了一个新线程,如图2-32:
分析其回调函数sub_4040DA,分析得知其功能是尝试连接主机 sbcq.f3322.org,如图2-33:
之后判断是否连接成功,如图2-34:
如果连接成功的话,会有一个函数获取当前计算机的相关信息如图2-35,此函数的主要功能函数如图2-36:

然后会载入恶意dll,如图2-37:
然后将发送获得的计算机信息,如图2-38、图2-39:
如果发送成功,先获取UrlDownloadToFile函数地址:
之后有个switch-case结构,判断是根据消息码不同做出不同操作,有以下三种操作:
(1)执行下载的代码:
(2)删除病毒注册表和原文件,然后执行下载的exe文件:
(3)打开IE浏览器执行下载的代码:
之后有关于http数据包的函数,如图2-40、图2-41、图2-42,具体有什么作用暂时看不出来:

4. 创建的第三个线程:
分析其回调函数,发现做的事情和第二个线程相同,只是地址发生了变化,这次的远程连接地址为www.520123.xyz,如图2-43:
5. 第四个线程在sub_4030FD函数中,是while(1)循环调用此函数,如图2-44,回调函数如图2-45:

经过OD分析得知回调函数的地址为:0040387C,可以发现此函数也是尝试远程连接,网址为www.520520520.org:9426,和之前操作基本一致,但是含类似base64的加密,如图2-46、图2-47:

四、分析hra33.dll

① 加载病毒资源,判断是否加载成功,如图2-48,加载病毒资源的函数如图2-49:
② 如果加载成功,那么会判断当前进程加载模块的文件是不是 hrl.tmp,如图2-50:
③ 判断是否在互斥体中,如图2-51:

④ 创建临时文件,写入病毒运行,如图2-52~2-55:

⑤ 判断当前是否是lpk.dll,判断函数如图2-56,如果不是的话创建一个事件对象,如图2-57:


⑥ 恶意函数sub_100010CE:

此函数创建线程循环遍历文件,判断后缀是否有.exe或.rar或.zip。
如果有.exe的话判断是否存在lpk.dll,如果不存在就把恶意的hra.dll复制过去并命名为lpk.dll,如图2-58:
如果有.rar或.zip的话就获取RAR.exe的路径然后进行恶意操作,操作步骤为:创建临时目录名->查看压缩包中是否存在lpk.dll->如果存在lpk.dll->在临时目录中把压缩包解压出来->替换lpk.dll、重新打包->删除临时目录,如图2-59:
⑦ 最后加载原本lpk.dll的原始函数(如果①加载病毒资源失败将直接调到这里),以免原本调用了lpk.dll的程序无法正常运行,如图2-60、图2-61:

2.2.3 流程总结

一、病毒主程序流程图
二、恶意dll流程图
3. 解决方案

3.1 病毒的特征

字符串:sbcq.f3322.org
www.520123.xyz
www.520520520.org:9426
Ghijkl Nopqrstu Wxy

3.2 手工查杀步骤

1. 删除注册表HKEY_LOCAL_MACHINE\system\CurrentControlset\services\Ghijkl
Nopqrstu Wxy。
2. 删除C:\windows\system32\hra33.dll文件。
3. 遍历磁盘和压缩包,删除lpk.dll文件。

- End -

看雪ID:WPeace

https://bbs.pediy.com/user-home-906228.htm

  *本文由看雪论坛 WPeace 原创,转载请注明来自看雪社区。

推荐文章++++

* CVE-2020-16899: Windows TCP/IP拒绝服务漏洞

* 一款木马释放器的简单分析及IDA的骚操作

* 记一次简单的sign分析

* WannaMine4.0病毒主程序分析

* Linux内核入门--CVE-2017-1000112-UFO

公众号ID:ikanxue
官方微博:看雪安全
商务合作:[email protected]

求分享

求点赞

求在看

“阅读原文一起来充电吧!

文章来源: http://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&mid=2458377827&idx=2&sn=28a2a01d036a646431e58f0fda34fef0&chksm=b180eee986f767ffe7acaf2d879bd389ae6ceb33f67aee318a5bbfe0b0a218b3171bbcc0cec5#rd
如有侵权请联系:admin#unsafe.sh