之前我有碰过有过一款国产木马。这个木马是广东外语外贸大学“广外女生”网络小组的作品,它可以运行于WIN98,WIN98SE,WINME,WINNT,WIN2000或已经安装Winsock2.0的Win95/97上。与以往的木马相比,它具有体积更小、隐藏更为巧妙的特点。可以预料,在将来的日子里它会成为继“冰河”之后的又一流行的木马品种。 
由于“广外女生”这个木马的驻留、启动的方法比较具有典型性,下面我就通过对这种新型木马的详细分析过程来向大家阐述对一般木马的研究方法。下面的测试环境为Windows2000中文版。 
一、所需工具 
1.RegSnap v2.80 监视注册表以及系统文件变化的最好工具 
2.fport v1.33 查看程序所打开的端口的工具 
3.FileInfo v2.45a 查看文件类型的工具 
4.ProcDump v1.6.2 脱壳工具 
5.IDA v4.0.4 反汇编工具 
二、分析步骤 
一切工具准备就绪了,我们开始分析这个木马。一般的木马的服务器端一旦运行之后都会对注册表以及系统文件做一些手脚,所以我们在分析之前就要先对注册表以及系统文件做一个备份。 
首先打开RegSnap,从file菜单选new,然后点OK。这样就对当前的注册表以及系统文件做了一个记录,一会儿如果木马修改了其中某项,我们就可以分析出来了。备份完成之后把它存为Regsnp1.rgs。 
然后我们就在我们的电脑上运行“广外女生”的服务器端,不要害怕,因为我们已经做了比较详细的备份了,它做的手脚我们都可以照原样改回来的。双击gdufs.exe,然后等一小会儿。如果你正在运行着“天网防火墙”或“金山毒霸”的话,应该发现这两个程序自动退出了,很奇怪吗?且听我们后面的分析。现在木马就已经驻留在我们的系统中了。我们来看一看它究竟对我们的做了哪些操作。重新打开RegSnap,从file菜单选new,然后点OK,把这次的snap结果存为Regsnp2.rgs。 
从RegSnap的file菜单选择Compare,在First snapshot中选择打开Regsnp1.rgs,在Second snapshot中选择打开Regsnp2.rgs,并在下面的单选框中选中Show modifiedkey names and key values。然后按OK按钮,这样RegSnap就开始比较两次记录又什么区别了,当比较完成时会自动打开分析结果文件Regsnp1-Regsnp2.htm。 
看一下Regsnp1-Regsnp2.htm,注意其中的: 
Summary info:
Deleted keys: 0
Modified keys: 15
New keys : 1
意思就是两次记录中,没有删除注册表键,修改了15处注册表,新增加了一处注册表。再看看后边的: 
File list in C:\WINNT\System32\*.*
Summary info:
Deleted files: 0
Modified files: 0
New files : 1
New files
diagcfg.exe Size: 97 792 , Date/Time: 2001年07月01日 23:00:12
--------------
Total positions: 1
这一段话的意思就是,在C:\WINNT\System32\目录下面新增加了一个文件diagcfg.exe,这个文件非常可疑,因为我们在比较两次系统信息之间只运行了“广外女生”这个木马,所以我们有理由相信diagcfg.exe就是木马留在系统中的后门程序。不信的话你打开任务管理器看一下,会发现其中有一个DIAGCFG.EXE的进程,这就是木马的原身。但这个时候千万不要删除DIAGCFG.EXE,否则系统就无法正常运行了。 
木马一般都会在注册表中设置一些键值以便以后在系统每次重新启动时能够自动运行。我们再来看看Regsnp1-Regsnp2.htm中哪些注册表项发生了变化,凭借经验应该注意到下面这条了: 
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\exefile\shell\open\command\@
Old value: String: ""%1" %*"
New value: String: "C:\WINNT\System32\DIAGCFG.EXE "%1" %*"
这个键值由原来的"%1" %*被修改为了C:\WINNT\System32\DIAGCFG.EXE "%1" %*,因为其中包含了木马程序DIAGCFG.EXE所以最为可疑。那么这个注册表项有什么作用呢? 
它就是运行可执行文件的格式,被改成C:\WINNT\System32\DIAGCFG.EXE "%1"。%*之后每次再运行任何可执行文件时都要先运行C:\WINNT\System32\DIAGCFG.EXE这个程序。 
原来这个木马就是通过这里做了手脚,使自己能够自动运行,它的启动方法与一般普通木马不太一样,一般的木马是在 
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run*
键里增加一个键值,使自己能够自启动,但这种方法被杀毒软件所熟知了,所以很容易被查杀。而“广外女生”这个木马就比较狡猾,它把启动项设在了另外的位置。 
现在我们已经掌握了这个木马的驻留位置以及在注册表中的启动项,还有重要的一点就是我们还要找出它到底监听了哪个端口。使用fport可以轻松的实现这一点。在命令行中运行fport.exe,可以看到: 
C:\tool\fport>fport
FPort v1.33 - TCP/IP Process to Port Mapper
Copyright 2000 by Foundstone, Inc.
http://www.foundstone.com
Pid Process   Port Proto Path
584 tcpsvcs -> 7   TCP C:\WINNT\System32\tcpsvcs.exe
584 tcpsvcs -> 9   TCP C:\WINNT\System32\tcpsvcs.exe
584 tcpsvcs -> 13  TCP C:\WINNT\System32\tcpsvcs.exe
584 tcpsvcs -> 17  TCP C:\WINNT\System32\tcpsvcs.exe
584 tcpsvcs -> 19  TCP C:\WINNT\System32\tcpsvcs.exe
836 inetinfo -> 80  TCP C:\WINNT\System32\inetsrv\inetinfo.exe
408 svchost -> 135 TCP C:\WINNT\system32\svchost.exe
836 inetinfo -> 443 TCP C:\WINNT\System32\inetsrv\inetinfo.exe
8   System  -> 445 TCP
464 msdtc  -> 1025 TCP C:\WINNT\System32\msdtc.exe
684 MSTask  -> 1026 TCP C:\WINNT\system32\MSTask.exe
584 tcpsvcs -> 1028 TCP C:\WINNT\System32\tcpsvcs.exe
836 inetinfo -> 1029 TCP C:\WINNT\System32\inetsrv\inetinfo.exe
8   System  -> 1030 TCP
464 msdtc  -> 3372 TCP C:\WINNT\System32\msdtc.exe
1176 DIAGCFG -> 6267 TCP C:\WINNT\System32\DIAGCFG.EXE
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 注意这行!!!
836 inetinfo -> 7075 TCP C:\WINNT\System32\inetsrv\inetinfo.exe
584 tcpsvcs -> 7   UDP C:\WINNT\System32\tcpsvcs.exe
584 tcpsvcs -> 9   UDP C:\WINNT\System32\tcpsvcs.exe
584 tcpsvcs -> 13  UDP C:\WINNT\System32\tcpsvcs.exe
584 tcpsvcs -> 17  UDP C:\WINNT\System32\tcpsvcs.exe
584 tcpsvcs -> 19  UDP C:\WINNT\System32\tcpsvcs.exe
584 tcpsvcs -> 68  UDP C:\WINNT\System32\tcpsvcs.exe
408 svchost -> 135 UDP C:\WINNT\system32\svchost.exe
8   System  -> 445 UDP
228 services -> 1027 UDP C:\WINNT\system32\services.exe
836 inetinfo -> 3456 UDP C:\WINNT\System32\inetsrv\inetinfo.exe
我们可以清楚的看到,木马程序监听在TCP的6267号端口上了。我们到目前为止就可以说掌握了“广外女生”这个木马在我们系统中的全部动作了,现在我们可以轻而易举的查杀它了。
三、查杀 
经过前面的分析我们已经了解了“广外女生”这种木马的工作方式,现在我们就来清除它。下面就是彻底清除“广外女生”的方法,注意:这个步骤的次序不能颠倒,否则可能无法完全清除掉此木马。 
1.按“开始”菜单,选择“运行”,输入regedit,按确定。打开下面键值: 
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\exefile\shell\open\command\
但是先不要修改,因为如果这时就修改注册表的话,DIAGCFG.EXE进程仍然会立刻把它改回来的。 
2.打开“任务管理器”,找到DIAGCFG.EXE这个进程,选中它,按“结束进程”来关掉这个进程。注意,一定也不要先关进程再打开注册表管理器,否则执行regedit.exe时就又会启动DIAGCFG.EXE。 
3.把 
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\exefile\shell\open\command\
的键值由原来的C:\WINNT\System32\DIAGCFG.EXE "%1" %*改为"%1" %*。 
4.这时就可以删除C:\WINNT\System32\目录下的DIAGCFG.EXE了。切记万万不可首先删除这个文件,否则的话就无法再系统中运行任何可执行文件了。由于我们下面还打算进一步深入分析这个木马,所以现在不删除它,而是把它拷贝到其他的目录以便研究。 
四、深入研究 
我们已经知道了“广外女生”的基本工作原理、启动流程以及如何彻底清除它了,但是还有一点我们没有彻底弄清楚,那就是它是如何对付“天网防火墙”或“金山毒霸”的。要深入了解这一点,我们必须要去看“广外女生”的代码,这个木马并没有公布源代码,但是我们仍然可以通过反汇编它来看个究竟。 
“广外女生”的服务器端只有96K,显然是使用了压缩软件进行了加壳的,我们首先就要确定它到底加了什么壳。通过使用FileInfo这个小工具就可以侦测出来。现在我们就把前面分析过的那个DIAGCFG.EXE复制到FileInfo的目录下,然后在命令行下fi.exe,然后按回车,就会显示: 
  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
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" 

[转载] 之前碰过的木马分析相关推荐

  1. 攻打医院服务器的SamSam勒索木马分析

    攻打医院服务器的SamSam勒索木马分析 近日一款名为SamSam的勒索木马在国外爆发.该木马利用医院系统的服务器漏洞实施入侵,再进行加密勒索钱财.由于医院网络信息安全水平普遍薄弱,SamSam成功感 ...

  2. 一个简单木马分析及接管利用

    最近一段时间,感觉工作很是杂乱无章,博客也基本没时间来写,基本每月一篇,其实每写一篇也代表目前我自己的工作状态及内容.最近搞逆向这一块,找了些样本分析例子,自己也研究了一下,感觉有不少好东西,当然这些 ...

  3. 【木马分析】远控盗号木马伪装成850Game作恶

    很喜欢配图 前言 近期,360QVM团队捕获到一类在网上广泛传播的远控盗号木马,该木马伪装为正规棋牌游戏850Game的安装程序,在伪造的钓鱼网站(如:www.gam850.com)上挂马并诱骗用户下 ...

  4. CS -exe木马分析

    CS -exe木马分析 Cobalt Strike是渗透测试工具,可以通过exe木马实现远程控制. 一:生成exe Windows Executable 生成可执行exe木马:payload分段 Wi ...

  5. 实验一木马分析(隐藏分析)实验

    实验一木马分析(隐藏分析)实验 1.木马隐藏技术 1)程序隐藏 木马程序可以利用程序捆绑的方式,将自己和正常的exe 文件进行捆绑.当双击运行捆绑后的程序时,正常的exe 文件运行了.程序隐藏只能达到 ...

  6. 移花接木大法:新型“白利用”华晨远控木马分析

    360安全卫士 · 2015/05/28 5:11 0x00 前言 "白利用"是木马对抗主动防御类软件的一种常用手法.国内较早一批"白利用"木马是通过系统文件r ...

  7. 新型联网安卓多层锁机木马分析

    新型联网安卓多层锁机木马分析 作者:云在天(Harry_孙) 吾爱破解论坛首发 所用工具 安卓模拟器 Eclipse JEB2 Android killer 样本信息 文件名称:刺激战场盒子.apk ...

  8. 病毒分析之“驱动人生”挖矿木马分析及其清除方案

    "驱动人生"挖矿木马分析及其清除方案 0x00 概述 自2018年12月份"驱动人生"挖矿木马爆发以来,此木马一直处于活跃状态,更新版本更是达到了20+次.此木 ...

  9. “DNS隧道”盗号木马分析——类似hjack偷密码然后利用dns tunnel直传数据发送出去...

    摘自:http://www.freebuf.com/articles/network/38276.html# 运行后不断监控顶端窗口,一旦发现为QQ,就弹出一个自己伪造的QQ登陆窗口,诱导用户输入密码 ...

  10. Synaptics蠕虫木马分析

    样本信息: 名称:Synaptics.exe MD5:D127A9E5EBB80C5315295CDEEEC05A69 简单描述: Synaptics是蠕虫木马,具有感染性.此木马运行后显示一个隐藏工 ...

最新文章

  1. SpringBoot复习:5(配置绑定)
  2. Python基础教程(第3版)之一些内置的异常类
  3. 成功解决TypeError: sequence item 0: expected str instance, bytes found
  4. This is very likely to create a memory leak.
  5. 疯狂ios讲义之疯狂连连看游戏简介
  6. 类模板 重载运算符 易错
  7. request重定向_golang不想http自动处理重定向的解决方案
  8. 数据结构链表之单向链表:Python3 实现单向链表——1
  9. 从数据仓库系统对比看Hive发展前景
  10. 2.1 - 递归练习题
  11. PHP array_intersect_assoc()
  12. 小结SpringMVC(二)
  13. 解决PlayerSettings中的splash Image资源发现在内存中卸载不掉
  14. LineageOS的代码下载、编译及真机运行
  15. k3 lede刷官改_斐讯 K3 路由 LEDE 固件刷回官方原版固件
  16. 搜集博科光纤存储交换机的日志
  17. Dwz 国产框架 JUI 分页组件下拉菜单bug解决方案
  18. COG注释[Ubuntu 15.10系统]
  19. 运营数据分析步骤与方法解读
  20. Unity 接入Apple登录

热门文章

  1. 软考软件设计师-软件工程基础知识
  2. 原理图学习(点读笔调试)
  3. python画密度散点图_实战Pyhton中matplotlib箱线图的绘制(matplotlib双轴图、箱线图、散点图以及相关系数矩阵图)...
  4. python实现seo疯狂外链发送工具
  5. Adobe 强烈建议卸载:教你从 Win10 彻底删除 Flash
  6. CSS3与CSS的区别有哪些?
  7. c语言 常微分方程 库,使用C语言解常微分方程CODE.docx
  8. jmail邮件服务器,ASP Dimac W3 JMail 邮件收发组件函数(JMail使用详解)
  9. [转] 各大著名公司音效小评(DNSe/BBE/SRS/PlayFX/杜比/Full Sound…)
  10. IDEA的下载和使用安装