黑客经验之实例讲解木马的分析方法(3)

2008-02-23 07:10:11来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  FileInfo v2.45a (c) 1997-2001 from JUN-06-2001



FileInfo v2.45a (c) 1997-2001 by Michael Hering - herinmi@tu-cottbus.de



C:\TOOL\FI\

═─*

ASPack v1.06b A.Solodovnikov .data   DIAGCFG.EXE .....98304 01.01.1997

aPack v0.98/0.99 (Jibz) {short} ....... EXETOOLS.COM .......895 10.11.2000 !

aPack v0.98/0.99 (Jibz) ............... FI.EXE ....135458 06.06.2001 !

...................................... FILE_ID.DIZ ......1088 06.06.2001 !

?7-bit text ........................... REG.BAT .......280 06.06.2001 !

...................................... SUMMER.KEY  .......157 06.06.2001 !



* detected 4/6 files in 110 ms



──═ FileInfo summary ═──── Date: Mi,01.01.1997 ─ Time: 21:32:15 ─



scan path: C:\TOOL\FI

file mask: *.*

all size: 236182 Bytes = 230 KB



   4/6 files in 110 ms (18.33 ms/file)

FileInfo就已经检测出DIAGCFG.EXE是使用了ASPack v1.06b进行加壳。知道了它的加密方法我们就可以使用ProcDump来把它脱壳了。

运行ProcDump,点击Unpack按钮,因为我们要脱ASPack v1.06b的壳,所以就在其中选中Aspack<108,然后按OK。这时它会让你打开要脱壳的文件,我们就选DIAGCFG.EXE,打开。然后稍微等几秒种后按“确定”,ProcDump就会把DIAGCFG.EXE脱壳,然后会出个对话框要你把脱壳过的文件存盘,我们就把它存为gwns.exe。

注意:这时候,木马又在你的系统上运行了一次,所以必须按照前面的清除步骤重新把它清除掉。由于前面已经写过清除方法,这里就不再赘述了。

好了,现在我们已经得到了这个木马加壳前的原始文件了,看看脱壳过的gwns.exe,有194k之大,比原来的程序大了一倍还多,这就是加壳软件的功劳了。现在就可以使用反汇编程序对其进行反汇编,然后看它的汇编程序代码了。

我们就用IDA来反汇编它,顺便说一句,这个IDA是个超强的反汇编工具,是cracker以及Windows hacker所必备的工具。下面我们就来看看部分反汇编过的代码:

0042B1AC   push  offset aKernel32_dll ; "kernel32.dll"

0042B1B1   call  j_LoadLibraryA

0042B1B6   mov   [ebx], eax

0042B1B8   push  offset aRegisterservic ; "RegisterServiceProcess"

0042B1BD   mov   eax, [ebx]

0042B1BF   push  eax

0042B1C0   call  j_GetProcAddress

0042B1C5   mov   ds:dword_42EA5C, eax

0042B1CA   cmp   ds:dword_42EA5C, 0

0042B1D1   jz   short loc_42B1E1

0042B1D3   push  1

0042B1D5   call  j_GetCurrentProcessId

0042B1DA   push  eax

0042B1DB   call  ds:dword_42EA5C

木马首先加载了kernel32.dll,然后利用GetProcAddress来得到RegisterServiceProcess这个API的地址,木马首先需要把自己注册为系统服务,这样在Win9x下运行时就不容易被任务管理器发现。然后它会GetCommandLineA来得到运行参数,如果参数是可执行文件的话就调用Winexec来运行。

0042B271   mov   eax, ds:dword_42EA80

0042B276   mov   edx, offset aSnfw_exe ; "snfw.exe"

0042B27B   call  sub_403900

0042B280   jz   short loc_42B293

0042B282   mov   eax, ds:dword_42EA80

0042B287   mov   edx, offset aKav9x_exe ; "kav9x.exe"

然后木马会查找snfw.exe和kav9x.exe的进程,也就是“天网防火墙”或“金山毒霸”的进程,然后将其杀掉。

0042B6AD   push  ebx

0042B6AE   push  0

0042B6B0   push  0

0042B6B2   push  offset aSoftwareMicr_0 ; "Software\\Microsoft\\Windows\\CurrentVersi"...

0042B6B7   push  80000002h

0042B6BC   call  j_RegOpenKeyExA_0

0042B6C1   push  offset aKingsoftAntivi ; "Kingsoft AntiVirus"

0042B6C6   mov   eax, [ebx]

0042B6C8   push  eax

0042B6C9   call  j_RegDeleteValueA

0042B6CE   mov   eax, [ebx]

0042B6D0   push  eax

0042B6D1   call  j_RegCloseKey_0

木马还会修改“天网防火墙”或“金山毒霸”在注册表中的启动项,使其在下次系统重新启动时无法自动运行。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:防范入侵之文件对比查杀嵌入式木马

下一篇:系统安全基础之另类方法解除CMOS密码