【目 标】:N/A
【工 具】:OllyDBG 1.1
【任 务】:木马来源追踪
【操作平台】:Windows xp sp2
【作 者】: LOVEBOOM[DFCG][FCG][CUG]
【相关链接】: N/A
【简要说明】: 今天在硬盘里找到个木马,用几款杀毒软件杀了下没有结果。自己用OD看了下,发现是灰鸽子的修改版(很反感灰鸽子的作者,搞的到处是“垃圾”)。在网上简单的搜索了一下没有发现怎么揪出放木马的者的信息的相关文章,于是乎自己大概的分析了,写出来方便各位以后找源头。
【详细过程】:
今天安装软件时,系统提示没有多少空间可用,于是整理了下硬盘,这一整就整出了这么个东西,在程序文件夹下发现一个可疑的程序,看看生成日期,嗯,不错,程序差不多放了一个月了。看看程序的相关信息先:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
程序路径: c:\program files\message\message.exe
属性: 隐藏
创建时间: 2005年12月12日, 16:19:21
修改时间: 2005年9月9日, 20:25:20
文件大小: 301 KB (308,920 字节)
PEID扫描: ASPack 2.x (without poly) -> Alexey Solodovnikov
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
一看名字感觉就是不对劲了,十有九是中木马或病毒了,把自己的卡巴更新一下病毒库,查一下提示没有病毒,在网上下一个江民在线查毒,查一下也提示没有病毒。自己想了下,没有可能的我自己在那天根本没有装过这类可疑的软件。看来得自己动手了,用lordpe 看看程序信息:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
程序入口: 000CA000h
section name: fuck you
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
看来好像有人和我有深仇大恨了(我电脑里没有什么宝贝,最多只能拿我到一些未公布的脱壳和文章而已)。呵呵,既然来了,不管是敌是友,我都会接待的:- )。打开OD看了下入口信息,初步可以判断是和aspack变形版加的壳,是aspack加的壳就好办,把自己的脱壳脚本翻出来,运行到OEP处:
004A5AAC . 55 PUSH EBP
004A5AAD . 8BEC MOV EBP,ESP
004A5AAF . B9 06000000 MOV ECX,6
004A5AB4 > 6A 00 PUSH 0
呵呵,DELPHI写的东西,在OEP不远处可以看到很有用的东西了。
004A5ACB . 68 465E4A00 PUSH 004A5E46
004A5AD0 . 64:FF30 PUSH DWORD PTR FS:[EAX]
004A5AD3 . 64:8920 MOV DWORD PTR FS:[EAX],ESP
004A5AD6 . E8 99A8FFFF CALL 004A0374
004A5ADB . 8D55 EC LEA EDX,DWORD PTR SS:[EBP-14]
004A5ADE . B8 605E4A00 MOV EAX,004A5E60 ; ASCII "www.huigezi.net"
004A5AE3 . E8 24BBFFFF CALL 004A160C
004A5AE8 . 8D55 E4 LEA EDX,DWORD PTR SS:[EBP-1C]
004A5AEB . 33C0 XOR EAX,EAX
004A5AED . E8 AAD0F5FF CALL 00402B9C
004A5AF2 . 8B45 E4 MOV EAX,DWORD PTR SS:[EBP-1C]
004A5AF5 . 8D55 E8 LEA EDX,DWORD PTR SS:[EBP-18]
004A5AF8 . E8 533DF6FF CALL 00409850
004A5AFD . 8B55 E8 MOV EDX,DWORD PTR SS:[EBP-18]
004A5B00 . B8 88BF4A00 MOV EAX,004ABF88
004A5B05 . E8 E6EEF5FF CALL 004049F0
004A5B0A . A1 88BF4A00 MOV EAX,DWORD PTR DS:[4ABF88]
004A5B0F . E8 48F3F5FF CALL 00404E5C
004A5B14 . 50 PUSH EAX ; /String2 = FFFFFFFF ???
004A5B15 . 68 705E4A00 PUSH 004A5E70 ; |String1 = "IExplore.exe"
004A5B1A . E8 6D16F6FF CALL 0040718C ; \lstrcmpiA
004A5B1F . 85C0 TEST EAX,EAX
004A5B21 . 0F94C0 SETE AL
上面都显示出是huigezi的网站,那基本上就可以判断出是灰鸽子木马了,到这里我以为就结束了,既然是灰鸽子当然先是去网上把杀灰鸽子木马的软件,下了个灰鸽子 vip 2005专杀工具,一查软件告诉我没有找到灰鸽子,俺一想也是可能我这里把木马给关掉了所以查不到,那就把程序运行起来,运行起来后,看看进程里多了个iexplorer.exe(看来是注入系统进程了),再查,还是提示没有发现木马。看来是被人改过了,再去找个瑞星的专杀工具和安天的试了下,都提示没有木马,这回真的得手工处理了,既然要我手工处理我就来个更远一点的,揪出放木马的者,看看是谁这么无聊,这么喜欢看别人的隐私。好了,开始想怎么去找线索,程序要把我们的信息给放木马者,放木马者肯定要在放之前配置好,告诉程序走哪条路,怎么走之类的,那么这些信息又存放哪里呢?我想了下一般放这么几个地方吧:
一、 放到一个配置文件里,然后和程序文件一起,程序运行后读取信息。既然是木马我想没有谁会这么招摇吧,这样想来,就否认了这种方式。
二、 把配置信息和程序绑在一起,这里又有3种常见的方式:
1、 用绑定机把配置信息和程序绑成一个文件,但想一下,再加一个shell程序不又得变大多少KB了,因此想来这种方法可能性不大。
2、 把配置信息作为程序的附加数据,用PEID看了下,提示并没有附加数据。这样看来,很有可能是第三种方式了。
3、 把配置信息作为程序资源的一部分,在读取的时候通过Findresource来读取信息。
好了,初步推测是这样,打开OD来证实下,OD载入目标,下断FindResourceA,运行中断后,观察堆栈信息:
0013FEAC 004A11C2 /CALL to FindResourceA from message.004A11BD
0013FEB0 00400000 |hModule = 00400000 (message)
0013FEB4 004A088C |ResourceName = "SEVINFO"
0013FEB8 0000000A \ResourceType = RT_RCDATA
执行到返回,一看没错,可以证实是用2.3的方式把配置信息作为资源来处理。
004A11B5 . 50 PUSH EAX ; /ResourceType = 250
004A11B6 . 52 PUSH EDX ; |ResourceName = 000BD000 ???
004A11B7 . A1 64A64A00 MOV EAX,DWORD PTR DS:[4AA664] ; |
004A11BC . 50 PUSH EAX &n
