WannaMine4,0病毒主程序分析
1.样本概况1.1 样本信息病毒名称:WannaMine4.0
所属家族:木马蠕虫
大小: 6690304 bytes
MD5: 0649FBF33EC2CECC3B42A6C98ABA09C6
SHA1: B903F4B0B5BA87B6A2FCAEC453E361EE2DF2CB92
CRC32: 9C4B2608
编写语言:Microsoft Visual C++ 8
1.2 测试环境及工具
测试系统:VM15.0下32位win7
测试工具:PEID、ProcMon、火绒剑、PCHunter、IDA、OllyDbg等
1.3 分析目标
1)分析恶意代码
2)总结行为流程
2.恶意代码分析
2.1 基本信息
① 使用PEID查看文件基本信息,分析是否有壳,如果有壳则进行脱壳:
发现此程序无壳,使用Microsoft Visual C++ 8编写。
② 使用火绒剑查看文件大致行为:
1. 文件行为
创建并写入了两个文件:
2. 注册表行为 设置、创建注册表:
3. 进程行为 创建进程:
创建了异常CPU占用的进程,值得注意的是,这个进程用Windows自带的任务管理器查看时会降低其CPU占用率避免被发现,用ProcessExplorer可以看到:
4. 网络行为
网络连接行为:
2.2 详细分析
① 此病毒首先创建了一个互斥体:
② 创建互斥体成功后,经过分析可以发现第一个函数Sub_404FF0作用是判断病毒是否是第一次运行,并且进行一个注册表的创建,随机生成一个服务名:
Sub_404FF0函数具体分析如下:
首先尝试打开注册表(判断病毒是否是第一次运行):
如果是第一次运行则调用函数Sub_404880生成一个随机的服务名,在系统文件夹system32中生成一个"随机服务名.dll"文件,然后创建此注册表:
Sub_404880函数具体分析如下:
如果不是第一次运行,则查询病毒服务当前运行状态:
③ 删除系统目录下的病毒生成的随机名称的两个文件,猜测是为了防止之后写文件出问题:
④ 载入资源,将资源内容写入文件"C:\Windows\system32\随机六个字母.随机三个字母":
Sub_405390函数具体操作如下:
对文件写内容的函数Func_WriteFile的分析如下:
⑤ 对病毒生成的两个随机名称文件进行操作:
Sub_4054F0具体操作如下:
先有个函数Sub_403F80判断之前资源内容写入是否成功:
Sub_403F90函数的分析如下:
然后对"随机服务名.dll"进行写入:
⑥ 对svchost.exe的时间进行了设置:
Func_SetSvchostTime函数的具体分析如下:
⑦ 对注册表、服务进行了操作:
Sub_406110的具体分析如下:
首先调用一个函数Sub_405F40创建了dll的病毒服务和注册表:
Sub_405F40函数的具体分析如下:
然后启动病毒的恶意服务,此时恶意进程dllhostex被创建, 所以"随机服务名.dll"文件是存在恶意行为的,这里我们分析主程序暂时不分析此文件:
⑧ 查询启动的恶意服务的当前状态:
Sub_4041E0函数的具体分析如下:
⑨ 进行网络操作:
Sub_4058E0函数具体分析如下:
得到恶意IP和端口后调用恶意网络行为的函数:
恶意网络行为函数Sub_405720函数具体分析如下:
⑩ 最后调用一个函数删除了原病毒程序:
Func_DeleteVir函数具体分析如下:
3.行为流程总结
步骤很详细,用Windows自带的任务管理器查看时会降低其CPU占用率避免被发现,学到了,果然安全是一个对抗的过程 进来了解下。 我的电脑很有可能就中了这种病毒开着任务管理器CPU占用低很多关了就50+的跑 感谢分享, 请问这个样本分析了多长时间呢? 感谢分享!!!!!!!!! 很好奇像这样创建的随机服务能够让病毒开机自启么?不会被反病毒软件直接拦截? 高,实在是高。。。。。。。 用心讨论,共获提升! 感谢楼主分享,学习了
页:
[1]
2