willJ 发表于 2012-6-9 19:08

对一绑马文件的分析

本帖最后由 willJ 于 2012-6-9 19:15 编辑

基本信息
报告名称:对一绑马文件的分析
作者:willJ
报告更新日期:2012/6/9
样本发现日期:未知
样本类型:远控
样本文件MD5 校验值: 7B595050348A9F03CA1EE308E0319910
壳信息:无壳   
可能受到威胁的系统:Windowsxp 以上系统
相关漏洞:无

简介
通过资源文件释放病毒文件,加入注册表达到自启动,病毒文件同过自己构造PE加载器加载自己的一个资源文件,资源文件为一个远控。
被感染系统及网络症状
进程中一直有一个vptray.exe
文件系统变化
Temp目录下面多出一个Vptray.exe以及up.bak文件
注册表变化
通过向注册表SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\run创建键值为symantecupdate注册表项达到自启动Temp目录的VPTray.exe文件
网络症状

用户电脑被apples.suroot.com控制 详细分析/功能介绍

文件主体的分析:1. 首先检查消息队列中有没有键盘鼠标消息,然后发送一个WM_NULL消息过去
.text:0040145B 55                push    ebp
.text:0040145C 8B EC             mov   ebp, esp
.text:0040145E 81 EC C0 08 00 00 sub   esp, 8C0h
.text:00401464 57                push    edi
.text:00401465 FF 15 F4 70 40 00 call    ds:GetInputState      ; 检测有没有鼠标键盘消息在消息队列中
.text:0040146B 6A 00             push    0                     ; lParam
.text:0040146D 6A 00             push    0                     ; wParam
.text:0040146F 6A 00             push    0                     ; Msg
.text:00401471 FF 15 20 70 40 00 call    ds:GetCurrentThreadId
.text:00401477 50                push    eax                   ; idThread
.text:00401478 FF 15 F8 70 40 00 call    ds:PostThreadMessageA
.text:0040147E 6A 00             push    0                     ; wMsgFilterMax
.text:00401480 6A 00             push    0                     ; wMsgFilterMin
.text:00401482 6A 00             push    0                     ; hWnd
.text:00401484 8D 85 A8 FE FF FF lea   eax,
.text:0040148A 50                push    eax                   ; lpMsg
.text:0040148B FF 15 FC 70 40 00 call    ds:GetMessageA


2. 动态获取各种与资源相关的API
.text:00401491 E8 CA 03 00 00    call    Get_ResourceAPI       ; 获取和资源相关的API


3. 根据文件名做不同的操作,如果文件名不是VPtray.exe做第4步,否则到第9步
.text:004014BD FF 15 78 AD 40 00 call    Kernel_GetModuleFileName
.text:004014C3 E8 88 02 00 00    call    Nothing
.text:004014C8 68 74 80 40 00    push    offset SubStr         ; "vptray.exe"
.text:004014CD 8D 95 E8 FE FF FF lea   edx,
.text:004014D3 52                push    edx                   ; String
.text:004014D4 E8 FD 4C 00 00    call    __strlwr            ; 将大写字符转换为小写
.text:004014D9 83 C4 04          add   esp, 4
.text:004014DC 50                push    eax                   ; Str
.text:004014DD E8 1E 0D 00 00    call    _strstr               ; 查找是不是vptray.exe
.text:004014E2 83 C4 08          add   esp, 8
.text:004014E5 85 C0             test    eax, eax
.text:004014E7 0F 87 51 01 00 00 ja      loc_40163E            ; 关键的一个跳转(根据程序名做不同的操作)


4. 将文件以Vptray.exe拷贝到Temp目录下面
5. 解密注册表操作的字符串
.text:0040154D 52                push    edx                   ; Str
.text:0040154E 68 8C 80 40 00    push    offset ValueName      ; "SymantecUpdate"
.text:00401553 68 A0 80 40 00    push    offset a0nzl09te0elly9 ; "0Nzl09Te0eLLy9r2APH88PwF88vL1Pb9A/z08Mv"...
.text:00401558 E8 CC FC FF FF    call    decryption_RegeditPath ; 解密注册表字符串SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\run

    6. 将Temp目录下面的vptray.exe加入注册表自启动项 7. 获取本地时间与oxffff相与,如果等于4就执行下面的操作,否则继续循环获取本地时间(应该是起到一个延时的作用)
.text:004015CF B9 01 00 00 00    mov   ecx, 1
.text:004015D4 85 C9             test    ecx, ecx
.text:004015D6 74 24             jz      short loc_4015FC
.text:004015D8 8D 95 80 F9 FF FF lea   edx,
.text:004015DE 52                push    edx                   ; lpSystemTime
.text:004015DF FF 15 28 70 40 00 call    ds:GetLocalTime
.text:004015E5 8B 85 8C F9 FF FF mov   eax, dword ptr
.text:004015EB 25 FF FF 00 00    and   eax, 0FFFFh
.text:004015F0 3B 85 7C F9 FF FF cmp   eax,
.text:004015F6 75 02             jnz   short loc_4015FA
.text:004015F8 EB 02             jmp   short loc_4015FC      ; 获取本地时间,当达到本地时间与FFFF相与等于4就执行下面的操作
.text:004015FA                   ; ---------------------------------------------------------------------------
.text:004015FA
.text:004015FA                   loc_4015FA:                   ; CODE XREF: WinMain(x,x,x,x)+19Bj
.text:004015FA EB D3             jmp   short loc_4015CF


8. 运行Temp目录下面的vptray.exe,生成一个cmd命令操作ping本地三次后删除文件本身达到自删除的效果,进程结束。
.text:004015FC 6A 00             push    0
.text:004015FE 8D 8D 90 F9 FF FF lea   ecx,
.text:00401604 51                push    ecx
.text:00401605 FF 15 68 AD 40 00 call    kernel32_Winexec      ; 运行Temp目录下的程序本身
.text:0040160B 8D 95 48 F7 FF FF lea   edx,
.text:00401611 52                push    edx
.text:00401612 68 E8 80 40 00    push    offset aCmd_exeCPingLo ; "cmd.exe /c ping localhost -n 3 & del \"%"...
.text:00401617 8D 85 60 F8 FF FF lea   eax,
.text:0040161D 50                push    eax
.text:0040161E FF 15 74 AD 40 00 call    User32_wsprintfA      ; 拼接cmd.exe /c ping localhost -n 3 & del \文件本身
.text:00401624 83 C4 0C          add   esp, 0Ch
.text:00401627 6A 00             push    0
.text:00401629 8D 8D 60 F8 FF FF lea   ecx,
.text:0040162F 51                push    ecx
.text:00401630 FF 15 68 AD 40 00 call    kernel32_Winexec      ; 运行一个CMD ping 本地三次 然后删除自己
.text:00401636 6A 00             push    0                     ; uExitCode
.text:00401638 FF 15 2C 70 40 00 call    ds:ExitProcess

9. 创建一个互斥对象,然后释放了互斥对象(这步我不太明白为什么)
10.对资源文件进行解密操作,然后在Temp目录释放一个up.bak文件(DLL)并且载入 11.开始一直循环着接收消息 释放在Temp目录的up.bak文件分析Up.bak的主要功能就是集中在两个导出函数上面:1. Loop作用接收键盘鼠标消息
2. mydoor的作用:载入资源,获取两个ntdll.dll中的函RtlDecompressBufferRtlGetCompressionWorkSpaceSize并且解密了资源文件解密后:没有将资源释放出来执行,而是通过申请内存,模拟PE加载器加载这个PE,通过loadlibrary执行功能,前面通过hook了heapdestroy,修改签名的字节为retn 0x4达到方式系统回收内存空间 通过对up.bak释放在内存中的资源的查看,是一个远控,一直向apples.suroot.com连接着。通过下面看来很有一个名叫Ghost远控的风格文件中也有大量的对注册表,文件,服务等操作的API
预防及修复措施 手工修复方式:删除注册表:删除temp目录下面的vptray.exe和up.bak文件重启电脑
技术热点及总结VPTray.exe是Norton AntiVirus反病毒软件的系统托盘程序。它用于快速访问Norton Antivirus反病毒软件。通过这个文件名来欺骗用户,冒充正常软件。 对于远控主体并没有自己释放出来,而是自己写了一个PE装载器去执行这个远控达到比较好的逃避杀毒的效果。 Hook了heapdestroy这个API,防止加载在内存的远控主体被清楚掉。
分析完了,那个远控就不分析了,网上的Ghost源码很多,可以下载来看看
分析得不好的地方还请大牛指点

LShang 发表于 2012-6-9 19:29

膜拜JJ大牛,顶礼膜拜

insipid 发表于 2012-6-9 19:30

{:1_921:}
学习了
蛮详细的

啤啤 发表于 2012-6-9 19:34

膜拜大牛

willJ 发表于 2012-6-9 20:46

LShang 发表于 2012-6-9 19:29 static/image/common/back.gif
膜拜JJ大牛,顶礼膜拜

LShang谦虚了{:1_937:}

Kavia 发表于 2012-6-9 22:16

膜拜J牛!

1354669803 发表于 2012-6-9 22:57

膜拜大神 感谢分析 辛苦了

resote 发表于 2012-6-10 02:43

膜拜大牛

cs994789570 发表于 2012-6-10 10:28

学习了{:301_992:}

willJ 发表于 2012-6-10 11:14

Kavia 发表于 2012-6-9 22:16 static/image/common/back.gif
膜拜J牛!

小师妹好啊,你头像好萌啊{:301_997:}
页: [1] 2 3
查看完整版本: 对一绑马文件的分析