哇!有黑客! (振兴水版贴) 【安焦elly】

来源:互联网 发布:广东碣石翻新衣服淘宝 编辑:程序博客网 时间:2024/04/30 16:04
############################################################

异象:昨夜西风凋碧树

序幕:
話説那日elly與衆人閒談完"黑客趨勢(趣事)"之後,獨自下樓喝茶去了。 鳳簫
聲動,玉壺光轉,正恍惚閒,忽聞手機鈴聲。原是尋到一服務器,正在閒置,可
為所用。於是登錄上去,稍做配置...


PCAnywhere正在登录。

方世玉的老妈的师兄经常说,安全第一,安全第一。上去之后,当然是先看看服
务器的服务配置。运行"Services.msc"打开服务管理器,一眼看去,不对啊...
这里有几位新住客怎么恁得陌生?
代码



============================================================


Dcom Services   [描述: 空]            已启动  自动  LocalSystem


Secure Port Server       [同上]


Windows Event Logger     [同上]


============================================================


用小脑也知道第一位肯定是用假身份证登录的!查看详细信息:
代码



============================================================


服务名称:          dcomsvc


显示名称:          DCOM Services


描述:             [空]


可执行文件路径:     C:/WINNT/system32/Dcomsvc.exe


启动类型:          自动


============================================================


C:/WINNT/system32 elly在那儿住了那么多年,就没见到过这号兄弟。elly
开始意识到了问题的严重性:系统很可能已经被人入侵了,并且安装了后门!

先看一下当前服务的状态:
代码



============================================================


C:/WINNT/cmd>sclist  


...


running          dcomsvc                                                        


34567890                 DCOM Services                                          


running          Server Administrator             Secure Port Server  


running          Windows Event Logger             Windows Event Logger    


...


============================================================


sclist   列出了当前所有正在运行的Windows系统服务。从服务列表中,我们
最简单直接的先发现了上面三个异常服务。至于怎么发现的么...
第一,他们都没有服务说明(或正确的服务说明),代表他们不是系统自带的服务;
第二,更主要是根据经验啦,一个熟练的Windows系统管理员,对系统中的各项服
务情况是应该做到心中有数洞若观火的;手边至少应该准备好两份文档,第一是
Windows自带的服务列表、功能和状态,第二是每台服务器安装完成之后初始化镜
像状态下的服务列表。

再使用sc query看一下更详细的服务信息:
代码



============================================================


SERVICE_NAME: dcomsvc


34567890


DISPLAY_NAME: DCOM Services


(null)


    TYPE          : 10 WIN32_OWN_PROCESS


    STATE          : 4  RUNNING


                   (STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)


    WIN32_EXIT_CODE      : 0  (0x0)


    SERVICE_EXIT_CODE : 0  (0x0)


    CHECKPOINT      : 0x0


    WAIT_HINT      : 0x0


============================================================


SERVICE_NAME: Windows Event Logger


DISPLAY_NAME: Windows Event Logger


(null)


    TYPE          : 10 WIN32_OWN_PROCESS


    STATE          : 4  RUNNING


                   (NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)


    WIN32_EXIT_CODE      : 0  (0x0)


    SERVICE_EXIT_CODE : 0  (0x0)


    CHECKPOINT      : 0x0


    WAIT_HINT      : 0x0


============================================================


SERVICE_NAME: CCProxy


DISPLAY_NAME: Dell OpenManage


(null)


    TYPE          : 110 WIN32_OWN_PROCESS INTERACTIVE_PROCESS  


    STATE          : 1  STOPPED


                   (NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)


    WIN32_EXIT_CODE      : 1077 (0x435)


    SERVICE_EXIT_CODE : 0  (0x0)


    CHECKPOINT      : 0x0


    WAIT_HINT      : 0x0


============================================================

代码



============================================================


C:/WINNT/cmd>psservice config dcomsvc                                          


                                                                          


Error opening dcomsvc on //CJL-NMS:                                            


指定的服务并未以已安装的服务存在。                                              


============================================================





C:/WINNT/cmd>psservice config "Windows Event Logger"                            


                                                                                


SERVICE_NAME: Windows Event Logger                                              


(null)                                                                          


        TYPE              : 10 WIN32_OWN_PROCESS                                


        START_TYPE        : 2  AUTO_START                                      


        ERROR_CONTROL     : 0  IGNORE                                          


        BINARY_PATH_NAMEE  : C:/WINNT/system32/Termsrv.exe                      


        LOAD_ORDER_GROUP  :                                                    


        TAG               : 0                                                  


        DISPLAY_NAME      : Windows Event Logger                                


        DEPENDENCIES      :                                                    


        SERVICE_START_NAME: LocalSystem


============================================================





C:/WINNT/cmd>psservice config ccproxy  





SERVICE_NAME: ccproxy                                                          


(null)                                                                          


        TYPE              : 110 WIN32_OWN_PROCESS INTERACTIVE_PROCESS          


        START_TYPE        : 3  DEMAND_START                                    


        ERROR_CONTROL     : 1  NORMAL                                          


        BINARY_PATH_NAME  : "C:/WINNT/AppPatch/app/openmange.exe" -service      


        LOAD_ORDER_GROUP  :                                                    


        TAG               : 0                                                  


        DISPLAY_NAME      : Dell OpenManage                                    


        DEPENDENCIES      :                                                    


        SERVICE_START_NAME: LocalSystem            


============================================================


现在,三个服务露出狐狸尾巴来了,第一个程序位于C:/WINNT/system32/Dcomsvc.exe
经过分析是一个sock5代理服务器skserver v1.0,经常被入侵者安装用来作为攻
击其它机器的跳板;第二个程序位于C:/WINNT/system32/Termsrv.exe,它其实
是-- Windows 2000的终端服务程器序,可是它为什么会是这个名字呢?第三个程
序是CCProxy 6.0,一个多功能的应用代理服务器,很显然它也不是管理员正常安装
的。

很明显,现在服务器已经被入侵过了,而且也留下了一个后门和两个用作跳板或其它
非法用途的代理服务器,那么是不是还存在其它没发现的东西呢?请待下回分解...

本章结论:
1.本主机已被渗透入侵;
2.本主机已被安装如下后门:
  C:/WINNT/system32/Dcomsvc.exe(skserver 1.0)
  C:/WINNT/system32/Termsrv.exe(TerminalServer)                                                        
  C:/WINNT/AppPatch/app/openmange.exe(CCProxy 6.0)

本章遗留问题:
1. TerminalServer为什么会变了脸?
2. 系统中按现在的情况还可能存在哪些后门途径?
3. 为什么查看Dcomsrv服务信息失败?

所要做的事:
所要做的事,是指在每个阶段,我们正常情况下应急处理所需要进行的工作。
在本节中,主要是发现异常状况。
在Windows 2000系统中,当系统可能被入侵时,会有一些异常情况发生,系统管
理员需要有足够的警觉,并且当异常事件发生时迅速定位原因。主要有以下几种情况:
1. 进程异常
2. 服务异常
3. 资源异常
4. 帐户异常
5. 日志异常
6. 网络异常

正确的途径:
根据上面可能发生的情况,进行异常检查时,可以有一些常用和可选的手段来进
行检查。
1. 进程检查。
   任务管理器: 这是Windows 2000系列系统中最常用的进程管理方法了。但
              是存在一些缺陷。它也必须运行在图形界面下,而可能某些时候
          我们只能在命令行下工作,比如现在--当我只有56k小猫上网的
          时候。
   ps系列工具: 这是sysinternal公司出品的一系列命令行工具,其中ps和
              pslist就可以在命令行下列出系统中的所有进程;在windows
          -2000 ResourceKit中,也有一个类似的命令,tslist。而
          ps系列命令最强大的功能就是不仅能本地执行,还可以通过IPC$
          匿名共享连接管道进行远程执行。
   Windows Reskit系列工具: Windows NT/2000 ResourceKit中包含了一
              系列非常强大的工具,比如tslist和ptree。其中ptree也是令
          一个强大的工具,包含图形界面和明令行两个版本,能够以树状
          格式列出进程树和依赖关系,同样它也可以连接远程服务器进行
          管理。缺点是--在远程服务器上,你必须先安装ptree服务。

2. 服务检查:
   服务管理器: 同样,Windows2000系统中内置了一个服务管理器,它只能运行
              在图形界面下。可以在[控制面板]->[管理工具]->[服务]中找到
          它,或者通过命令行快捷方式"services.msc"来打开。它能够
          查看、停止、启动服务,并且能够有限度的修改一些服务参数。
   net.exe:   net是Windows 2000系列中内置的一个非常强大的管理命令,
              包括服务管理的功能。net start用来查看和启动服务;而
          net stop则用来停止服务。不带参数的net start命令将列出
          当前系统上正在运行的所有服务。
          它最大的缺点就是在服务管理方面功能比较简单,例如无法得知
          系统中安装的所有服务,同样也需要管理员对Win2000的服务本身
          非常熟悉。
   sc.exe:    sc最早也是WinNT ResKit中出现的一个更强大的服务管理工具。
              在Windows 2003中它已经成为一个内置命令。它可以对Windows
          服务做几乎所有的操作:
代码



              sc query 查询服务状态,不带参数则列出所有服务;


          sc config 配置服务参数;


              sc start 启动一个服务;


          sc stop 停止一个服务;


              sc pause 暂停服务;


              sc delete 删除服务;


              sc create 创建服务;


          同样sc也可以直接在远程机器上连接和执行。使用:


          sc [hostname] [command]的格式连接远程主机。

   psservice: psservice.exe是sysinternal ps系列命令中的一个,它的功
              能与参数都基本和sc一致,具体差别看帮助。

4. 帐户异常:
   计算机管理: 计算机管理是Windows系统内置的系统管理工具,我们可以在这里
              查看到系统用户信息。
   net.exe:   net user命令可以在命令行模式下管理系统用户帐号和口令。
代码



              net user 不带参数则列出所有用户帐号;


          net user [username] 查看某用户详细信息;


          net user [username] [password] 修改用户口令;


          net user [username] /add 添加用户;


          net user [username] /delete 删除用户;


          net user ... ... /domain 在域模式下执行。

   注意,当系统中发现陌生的用户名,或正常用户帐号口令被修改、滥用等事件都
   需要引起注意。

5. 日志异常
   当系统各项服务(系统日志、Web日志、ftp日志等)出现异常日志信息时需要注意。
   使用系统命令eventvwr.msc可以打开日志查看器;
   iis日志默认在%SYSTEMROOT%/system32/LogFiles目录下。

3/6. 系统资源和网络
   当系统中出现大量的CPU、内存、磁盘空间、网络带宽异常时,可以用各项手段
   检测异常原因。

本章Tips:
1. sc命令还有一个姐妹sclist,可以像pslist一样简单的列出所有服务列表。
2. 当使用net start/stop命令管理服务时,可以使用"引号"把包含空格的服务名
   包括起来。
3. Windows 2000中服务名字有两种形式,分别是 服务名 (缩写短名)和 显示
   服务名(带空格的长名)。在大多数情况下两个名字都是有效的,因而也各有优
   缺点,长名易记,但是难写;短名易写,但是难记。可以使用sc命令查询服务
   名字对照。
      sc GetDisplayName 查询DisplayName(长名)
      sc GetKeyName 查询KeyName(短名)
   当使用包含空格的长名时,有可能shell不能正确解析,可以使用""引号引住。
4. Windows 系列的各项服务都有依赖关系,比如RPC Server就是很多服务的前
   置条件,虽已停止服务可能会造成无法预料的后果,可以使用sc命令查看命令
   依赖关系。
      sc EnumDepend [服务名]查看服务依赖关系
   或
      psservice depend [服务名]
5. 最终的服务管理工具是...注册表编辑器regedit.exe。系统中所有服务在注
   册表中都存在一个映射数据库,通过修改对应的值就可以查看和修改对应参数。
   例如IIS WWW服务
代码



============================================================


   C:/>reg query HKLM/SYSTEM/CurrentControlSet/Services/W3SVC





   Listing of [SYSTEM/CurrentControlSet/Services//W3SVC]





   REG_DWORD       Type    32


   REG_DWORD       Start   2


   REG_DWORD       ErrorControl    1


   EXPAND_SZ       ImagePath       C:/WINNT/system32/inetsrv/inetinfo.exe


   REG_SZ          DisplayName     World Wide Web Publishing Service


   MULTI_SZ        DependOnService IISADMIN;


   MULTI_SZ        DependOnGroup


   REG_SZ          ObjectName      LocalSystem


   REG_SZ          Description     [ASP]


   [Parameters]


   [Performance]


   [Security]


   [Enum]


============================================================

...说太多了...详细的看偶的《Windows 2000服务管理》吧。




############################################################

寻踪:众里寻他千百度

场景:
話説elly機分鐘前發現這台機器上數個木馬,心頭一驚:這特洛伊人果然了得,
于無聲閒,竟然已經滲透進來。待我細細思索,尋蹤覓跡,先把它們一個一個的
殺掉,再把它們一個一個的捉拿出來...


elly稍作休息,又倒了一杯茶,准备好工具,开始发掘信息。

上面一节最后,我们简单看了一下系统检查的大概步骤,那么在Windows系统中
进行入侵检查需要详细调查一下一些信息:

进程
>>系统进程
>>系统服务
>>用户进程

在进程信息调查中,主要通过对系统 驱动模块、系统进程、服务、用户进程 的
查看,找出异常信息。

网络
>>网络端口
>>网络连接
>>命名管道

网络信息调查,包含异常网络驱动、协议过滤器、接口状态、网络连接、开放端口
和命名管道的信息查询。

帐户
>>用户帐号
>>用户口令
>>用户环境文件

帐户检查主要是对系统帐户和各项应用程序帐户的配置信息检查。

日志
>>系统日志
>>应用日志

日志检查是对系统日志、安全日志以及应用程序日志的取证和分析。

系统环境
>>系统启动项
>>注册表启动项
>>文件信息

系统环境调查对系统启动和运行环境、初始化运行程序、注册表的关键键值以及
文件系统信息进行调查,文件系统调查包括MAC访问记录、异常和隐藏文件、文
件系统权限和流文件检查。

应用程序
>>应用程序配置

这部分工作主要是对各项应用程序的配置做审计和分析。

那么看看在这台机器上我们所取得的信息(摘录部分关键信息):
1.进程
在进程检查部分,我们依次运行多个进程检查工具,并把输出重定向到日志文件
中,完成系统映像的当前状态副本:
代码



============================================================

;process.cmd


ps >log/ps.log


sclist >log/ps.log


sclist -r >log/ps.log


psservice  >log/ps.log


ptree >log/ps.log


kproccheck -d >log/ps.log


kproccheck -p >log/ps.log


============================================================

在这个脚本中,我们运行的程序有:
ps 列出当前所有进程;
sclist 列出所有服务;
sclist -r 列出所有当前正在运行的服务;
psservice 列出服务详细信息;
ptree 列出当前进程树(派生关系);
kproccheck -d 列出所有内核进程(模块);
kproccheck -p 列出所有用户进程;

这里有两个命令比较特殊,ptree可以列出所有进程派生关系,对于我们进行异常
进程分析大有帮助;kproccheck是一个第三方工具,可以从内核进程表中读取信息
能够更深入的发掘一些隐藏信息。

ptree输出
代码



============================================================


[System Process] (0)


   System (8)


      SMSS.EXE (192)


         CSRSS.EXE (216)


         WINLOGON.EXE (240)


            LSASS.EXE (280)


            SERVICES.EXE (268)


               AWHOST32.EXE (652)


               dcevt32.exe (700)


               Dcomsvc.exe (744)


               dcstor32.exe (756)


               DefWatch.exe (804)


               fsshd2.exe (1776)


                  fsshd2srv.exe (2056)


                     fssh2console.ex (2416)


                        CMD.EXE (2456)


                           ptree.exe (2484)


                     fsshsftpd.exe (2432)


               inetinfo.exe (1196)


               LLSSRV.EXE (856)


               msdtc.exe (488)


               msiexec.exe (2540)


               mstask.exe (976)


               omaws32.exe (1052)


                  diagorb.exe (1732)


               ptreesvc.exe (2640)


               Rtvscan.exe (936)


               SERVUD~1.EXE (1008)


               SNMP.EXE (1068)


               svchost.exe (1216)


               svchost.exe (1856)


               svchost.exe (1176)


               svchost.exe (824)


               svchost.exe (436)


                  DLLHOST.EXE (2576)


                  DLLHOST.EXE (1804)


               termsrv.exe (2128)


               WinMgmt.exe (1164)


explorer.exe (1832)


   atiptaxx.exe (1752)


   BacsTray.exe (2004)


   CMD.EXE (2236)


      mmc.exe (2256)


      msiexec.exe (1804)     Terminated


         conime.exe (2120)


   daemon.exe (2024)


   IEXPLORE.EXE (2496)


   IEXPLORE.EXE (2140)


      flashget.exe (1888)


   internat.exe (2040)


   magentproc.exe (2064)


   SERVUT~1.EXE (2048)


   VPTray.exe (2016)


============================================================


ps输出
代码



============================================================


PsList v1.12 - Process Information Lister


Copyright (C) 1999-2000 Mark Russinovich


Systems Internals - http://www.sysinternals.com





Process information for CJL-NMS:





Name         Pid Pri Thd  Hnd    Mem     User Time   Kernel Time   Elapsed Time


Idle           0   0   4    0     16   0:00:00.000 818:51:39.750  211:18:24.375


System         8   8  52  159    300   0:00:00.000   4:45:45.921  211:18:24.375


SMSS         192  11   6   38    412   0:00:00.015   0:03:26.828  211:18:24.375


CSRSS        216  13  15  677   2232   0:00:31.500   0:02:24.796  211:18:18.609


WINLOGON     240  13  17  442   2488   0:00:00.453   0:11:11.859  211:18:17.703


SERVICES     268   9  28  530   5960   0:00:03.750   0:05:22.546  211:18:16.812


LSASS        280   9  19  315   6364   0:00:01.484   0:12:06.015  211:18:16.796


svchost      436   8  12  349   5672   0:01:08.687   0:08:35.265  211:18:15.671


msdtc        488   8  36  228   6708   0:00:00.312   0:04:49.671  211:18:15.140


AWHOST32     652   8  19  375   9124   0:01:15.281   0:15:17.203  211:18:14.500


dcevt32      700   8   4  104   3688   0:00:00.093   0:14:31.796  211:18:04.843


Dcomsvc      744   8   5  110   3872   0:00:00.031   0:03:38.343  211:18:04.703


dcstor32     756   8   8  126   4704   0:00:47.812   0:06:46.765  211:18:04.640


DefWatch     804   8   4   49   2740   0:00:00.015   0:05:47.046  211:17:56.546


svchost      824   8  20  419   9936   0:00:42.093   0:06:35.453  211:17:56.484


LLSSRV       856   9   9   82   2580   0:00:00.156   0:09:22.390  211:17:56.046


Rtvscan      936   8  35  301  16112   2:16:39.390  11:58:04.312  211:17:55.859


mstask       976   8   6  127   3980   0:00:00.062   0:04:30.781  211:17:55.593


SERVUD~1    1008   8  10  131   7484   0:00:03.921   0:04:26.546  211:17:55.437


omaws32     1052   8  47  453  23656   0:12:32.093   0:06:14.609  211:17:55.250


SNMP        1068   8  11  266   6452   0:00:00.281   0:06:14.640  211:17:55.218


termsrv     1124  10  12  118   4220   0:00:00.109   0:04:00.312  211:17:55.031


WinMgmt     1164   8   5  177    512   0:00:05.046   0:06:32.046  211:17:54.843


svchost     1176   8   7  381  13416   0:00:06.406   0:24:42.015  211:17:54.671


inetinfo    1196   8  21  514   8904   0:02:42.968   0:28:18.281  211:17:54.609


diagorb     1732   8   2   84   4004   0:00:01.062   0:02:13.312  211:17:46.421


svchost     1856   8  14  177   3856   0:00:00.062   0:11:49.890  211:17:24.812


svchost     1216   8   7  211   7808   0:00:00.046   0:16:46.593  189:17:22.078


Explorer    1832   8  13  605   5236   0:00:20.234   0:01:33.156   10:36:36.453


Atiptaxx    1752   8   2   87   3848   0:00:00.046   0:00:00.484   10:36:34.109


BacsTray    2004   8   1   18   1972   0:00:00.046   0:00:00.125   10:36:33.984


vptray      2016   8   3  138   6112   0:00:00.093   0:00:00.671   10:36:33.875


daemon      2024   8   2   72   4724   0:00:00.015   0:00:00.375   10:36:33.843


internat    2040   8   1   28   2152   0:00:00.031   0:00:00.171   10:36:33.750


SERVUT~1    2048   8   1   30    396   0:00:00.046   0:00:00.046   10:36:33.656


magentproc  2064   8   4  154   4928   0:00:00.125   0:00:01.140   10:36:33.437


conime      2120   8   1   19   1388   0:00:00.031   0:00:00.062    6:57:40.312


cmd         2236   8   2   48    124   0:00:00.062   0:00:00.531    2:49:29.328


mmc         2256   8   6  154   4600   0:00:02.218   0:00:05.937    2:49:24.468


termsrv     2128  10  38   65   3392   0:36:39.750   2:27:58.125    2:48:38.343


IEXPLORE    2140   8   7  361  10040   0:00:13.640   0:00:33.046    2:41:03.859


flashget    1888   8   8  327   6060   0:00:05.531   0:00:02.843    2:16:59.796


fsshd2      1776   8   3   91   3908   0:00:00.125   0:00:00.156    1:40:23.812


fsshd2srv   2056   8   3  141   6124   0:00:01.296   0:00:01.281    1:35:53.093


fssh2consol 2416   8   1   30   1920   0:00:14.031   0:00:38.125    1:35:36.531


cmd         2456   8   1   29   1572   0:00:00.078   0:00:01.000    1:35:36.421


fsshsftpd   2432   8   1   63   2956   0:00:00.296   0:00:01.046    1:07:11.453


ps          2488   8   2   96   1692   0:00:00.046   0:00:00.281    0:00:00.062


============================================================


kproccheck -p 输出
代码



============================================================


KProcCheck Version 0.1 Proof-of-Concept by SIG^2 (www.security.org.sg)





Process list by traversal of ActiveProcessLinks





8     -           System  


192   -         SMSS.EXE  


220   -        CSRSS.EXE  


240   -     WINLOGON.EXE  


268   -     SERVICES.EXE  


288   -        LSASS.EXE  


444   -      svchost.exe  


468   -      spoolsv.exe  --[Hidden]--


488   -        msdtc.exe  


656   -     AWHOST32.EXE  


704   -      dcevt32.exe  


748   -      Dcomsvc.exe  


760   -     dcstor32.exe  


808   -     DefWatch.exe  


828   -      svchost.exe  


840   -       fsshd2.exe  


848   -    fsshd2srv.exe  


880   -       LLSSRV.EXE  


960   -      Rtvscan.exe  


996   -     ptreesvc.exe  


1016  -       mstask.exe  


1052  -     SERVUD~1.EXE  


1104  -      omaws32.exe  


1116  -         SNMP.EXE  


1136  -       syinfo.exe  --[Hidden]--


1172  -      termsrv.exe  


1208  -      WinMgmt.exe  


1232  -      svchost.exe  


1252  -     inetinfo.exe  


1744  -       daemon.exe  


1788  -       VPTray.exe  


1800  -     BacsTray.exe  


1824  -     atiptaxx.exe  


1832  -      diagorb.exe  


1920  -      svchost.exe  


1996  -     explorer.exe  


2000  -   KProcCheck.exe  


2044  -     internat.exe  


2052  -     SERVUT~1.EXE  


2060  -   magentproc.exe  


2096  -  fssh2console.ex  


2108  -          CMD.EXE  


2116  -    fsshsftpd.exe  





Total number of processes = 44


============================================================


在ptree和ps中,我们看到了这两个异常进程:
代码



               Dcomsvc.exe (744)


               termsrv.exe (2128)

也就是第一节中我们发现的skserver和后门TerminalServer;

然后在Kproccheck中我们又发现了这样两个隐藏进程:
代码



468   -      spoolsv.exe  --[Hidden]--


1136  -       syinfo.exe  --[Hidden]--

而这两个进程在ps中竟然看不到!显然在这个系统中除了TerminalServer之外
还存在更深入一层的后门程序!

那么我们来看看它们都干了什么。作为一个后门(木马、特洛伊),它最终的目的
就是取得对应主机的控制权,创造一个意外的通路。那么,只要有动机,就一定
能查到根源,我们就从它的途径着手,来分析这两个后门。


2.网络
入侵者要使用后门,就必须通过网络连接,而无论是skserver还是termserv,
要连接到它们,都必须开放端口的。我们运行了这样一个脚本来检查网络状态:
代码



============================================================

;network.cmd


netstat -na >log/netstat.log


fport >log/fport.log


promiscdetect >promisc.log


pipelist >pipelist.log


============================================================

解释一下我们这里所使用的工具。
netstat 是windows系统内置的命令,-na参数可以列出所有tcp/udp连接。
fport是一个非常有用的第三方工具,可以列出所有端口与开放它们的进程的
关连表。
promiscdetect是一个第三方工具,可以检测网络接口状态,是否有sniffer
类程序运行。
pipelist是Windows ResKit中的一个工具,列出系统中的所有管道,察看
是否有通过Windows管道连接的后门。

Fport输出
代码



============================================================


FPort v2.0 - TCP/IP Process to Port Mapper


Copyright 2000 by Foundstone, Inc.


http://www.foundstone.com





Pid   Process            Port  Proto Path                          


1008  SERVUD~1       ->  21    TCP   C:/PROGRA~1/Serv-U/SERVUD~1.EXE


1776  fsshd2         ->  22    TCP   C:/Program Files/F-Secure/ssh server/fsshd2.exe


2056  fsshd2srv      ->  22    TCP   C:/Program Files/F-Secure/ssh server/fsshd2srv.exe


436   svchost        ->  135   TCP   C:/WINNT/system32/svchost.exe


2064  magentproc     ->  443   TCP   C:/Program Files/Mercury Interactive/LoadRunner/launch_service/bin/magentproc.exe


8     System         ->  445   TCP                                


488   msdtc          ->  1025  TCP   C:/WINNT/System32/msdtc.exe  


976   MSTask         ->  1029  TCP   C:/WINNT/system32/MSTask.exe  


1196  inetinfo       ->  1030  TCP   C:/WINNT/System32/inetsrv/inetinfo.exe


1052  omaws32        ->  1031  TCP   C:/Program Files/Dell/OpenManage/iws/bin/win32/omaws32.exe


1732  diagorb        ->  1032  TCP   C:/PROGRA~1/Dell/OPENMA~1/oldiags/vendor/pcdoctor/bin/diagorb.exe


1732  diagorb        ->  1033  TCP   C:/PROGRA~1/Dell/OPENMA~1/oldiags/vendor/pcdoctor/bin/diagorb.exe


1732  diagorb        ->  1034  TCP   C:/PROGRA~1/Dell/OPENMA~1/oldiags/vendor/pcdoctor/bin/diagorb.exe


1052  omaws32        ->  1035  TCP   C:/Program Files/Dell/OpenManage/iws/bin/win32/omaws32.exe


8     System         ->  1036  TCP                                


1052  omaws32        ->  1311  TCP   C:/Program Files/Dell/OpenManage/iws/bin/win32/omaws32.exe


1176  svchost        ->  1407  TCP   C:/WINNT/system32/svchost.exe


1176  svchost        ->  1409  TCP   C:/WINNT/system32/svchost.exe


8     System         ->  1421  TCP                                


488   msdtc          ->  3372  TCP   C:/WINNT/System32/msdtc.exe  


2064  magentproc     ->  5001  TCP   C:/Program Files/Mercury Interactive/LoadRunner/launch_service/bin/magentproc.exe


2064  magentproc     ->  5002  TCP   C:/Program Files/Mercury Interactive/LoadRunner/launch_service/bin/magentproc.exe


2064  magentproc     ->  5003  TCP   C:/Program Files/Mercury Interactive/LoadRunner/launch_service/bin/magentproc.exe


652   awhost32       ->  5631  TCP   C:/Program Files/Symantec/pcAnywhere/awhost32.exe


1052  omaws32        ->  8000  TCP   C:/Program Files/Dell/OpenManage/iws/bin/win32/omaws32.exe


1196  inetinfo       ->  8222  TCP   C:/WINNT/System32/inetsrv/inetinfo.exe


1196  inetinfo       ->  8333  TCP   C:/WINNT/System32/inetsrv/inetinfo.exe


1008  SERVUD~1       ->  43958 TCP   C:/PROGRA~1/Serv-U/SERVUD~1.EXE


2064  magentproc     ->  50500 TCP   C:/Program Files/Mercury Interactive/LoadRunner/launch_service/bin/magentproc.exe


2064  magentproc     ->  54345 TCP   C:/Program Files/Mercury Interactive/LoadRunner/launch_service/bin/magentproc.exe


1068  snmp           ->  161   UDP   C:/WINNT/System32/snmp.exe    


8     System         ->  445   UDP                                


280   lsass          ->  500   UDP   C:/WINNT/system32/lsass.exe  


2140  IEXPLORE       ->  1367  UDP   C:/Program Files/Internet Explorer/IEXPLORE.EXE


1888  flashget       ->  1399  UDP   C:/Program Files/FlashGet/flashget.exe


1196  inetinfo       ->  3456  UDP   C:/WINNT/System32/inetsrv/inetinfo.exe


652   awhost32       ->  5632  UDP   C:/Program Files/Symantec/pcAnywhere/awhost32.exe


============================================================


PromiscDetect输出
代码



============================================================


PromiscDetect 1.0 - (c) 2002, Arne Vidstrom (arne.vidstrom@ntsecurity.nu)


                  - http://ntsecurity.nu/toolbox/promiscdetect/





Adapter name:





- Broadcom NetXtreme Gigabit Ethernet





Active filter for the adapter:





- Directed (capture packets directed to this computer)


- Multicast (capture multicast packets for groups the computer is a member of)


- Broadcast (capture broadcast packets)


- Promiscuous (capture all packets on the network)





WARNING: Since this adapter is in promiscuous mode there could be a sniffer


         running on this computer!





Adapter name:





- Broadcom NetXtreme Gigabit Ethernet





Active filter for the adapter:





- Directed (capture packets directed to this computer)


- Multicast (capture multicast packets for groups the computer is a member of)


- Broadcast (capture broadcast packets)


============================================================


Pipelist输出
代码



============================================================


PipeList v1.01


by Mark Russinovich


http://www.sysinternals.com





Pipe Name                                    Instances       Max Instances


---------                                    ---------       -------------


InitShutdown                                      2               -1      


lsass                                             3               -1      


ntsvcs                                           58               -1      


scerpc                                            2               -1      


net/NtControlPipe1                                1                1      


略    


sshpipe.000006f0.00000006                         1                1      


sshpipe.000006f0.00000007                         1                1      


sshconsolepipe.00000808.00000000                  1                1      


sshpipe.00000808.00000000                         1                1      


sshpipe.00000808.00000001                         1                1      


sshpipe.00000808.00000002                         1                1    


============================================================



结果很快就出来了,但是这里我们也发现了最令人惊惧的事情!我们完全没有看到
Dcomsvc.exe (744)和termsrv.exe (2128)监听任何网络端口!结合上一小节
中发现了两个系统隐藏进程的问题,我们可以断定,在这个系统中当前一定还隐藏
着藏匿更深的后门。

那么我们做一个小测试,看看TerminalServer是否真的没有监听端口。
使用终端服务客户端连接主机的3389端口--这是终端服务常规监听的端口。
失败了。但是我不相信它真的是良民 -- 毕竟上面只是常规的情况,而现在 --
这个程序是被入侵者作为后门而存在的。

此外,在PromiscDetect的输出中,我们可以看到第一块网卡的状态是Promiscuous
这代表着当前网络接口处与混杂模式下,混杂模式只有当系统中存在Sniffer类程序的
时候才会存在,而当前系统中没有运行任何可见的网络分析程序,那这就只有一种可能
-- 入侵者还安装了Sniffer用以窃听网络中传输的用户口令!
BTW: 当前主机上运行了FTP,这些用户的口令都有危险;另外,还有一个异常事件,
就是当我使用PCAnywhere登录到系统时,PCAnywhere提示,当前连接加密被设为none!
这显然也不是系统管理员所为的...

3.系统环境检查
接下来我们进行了系统环境检查,主要是手工检查了若干个系统启动项 -- Windows
系统中能够在启动时自动运行和加载程序的地方,包括注册表的若干处键值和"启动"
程序组。没有发现什么异常程序。

Tips: 可以使用msconfig程序来查看系统启动项加载的程序;或使用注册表编辑器
查看[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run]
等键值,查看相关值;当然注册表中能够隐藏加载程序的地方还有很多,略过不讲。

在注册表的检查中,我特别检查了这么一项:
代码



============================================================


C:/WINNT/cmd> reg query "HKLM/System/CurrentControlSet/Control/Terminal


Server/WinStations/RDP-TCP/PortNumber"                      


REG_DWORD       PortNumber      4652


============================================================


这是TerminalServer服务指定监听服务端口的键值,哈哈,露出狐狸尾巴了吧。
这台机器上的后门TerminalServer服务当前监听端口被改成了TCP:4652,而不是
正常的TCP:3389,当然连接不上! 换个端口使用终端服务客户端连接,成功!
登录进来,丢掉垃圾的PCAnywhere,终端服务速度的确要快很多 -- 跑题一下,
在56k Modem的连接速度下,PCAnywhere刷新窗口几乎只能一行行刷新,每个动作
都要>5秒钟才能响应,而终端服务256色模式的速度还是能够接受的,起码能够立刻
回显和响应我的操作。鸟枪换炮啦,这让我想起抗日战争时的红军爷爷们--没有枪,
没有炮,鬼子给我们造!这里是不是改换成...黑客给我们造?

开心5秒钟后,我们继续。

分析一下文件系统吧。既然前面的网络检查中分析出当前系统中有sniffer,同样
还怀疑系统中可能存在keylogger程序,那么这两类程序都是需要随时记录日志文
件的,那么我们就看看系统中最新修改过的文件:

使用系统命令dir /s /O:D /T:C [目录名]可以按创建时间排序列出目录下的所
有文件;而要按修改时间排序的话可以使用/T:W参数。我们先看下最近修改过的文
件:
代码



============================================================


C:/WINNT/system32>dir /s /O:D /T:W





驱动器 C 中的卷是 Dell Server


卷的序列号是 B4C7-DFC5





C:/WINNT/system32 的目录





1996-10-15  09:53               78,848 INLOADER.DLL


1998-03-20  18:14                1,927 axctrnm.h


1998-06-19  21:31                  344 Pintlpad.cnt


1998-09-16  19:08                5,523 nntpctrs.h


1998-11-05  13:21              154,487 Pintlpad.HLP


1999-02-26  19:30                  773 ntfsdrct.h


1999-02-28  02:31               69,120 msdbg.dll


1999-02-28  02:32              183,574 pdm.dll


...略...


2004-03-31  12:02               16,384 Perflib_Perfdata_414.dat


2004-04-02  16:24               16,384 Perflib_Perfdata_41c.dat


* 2004-04-07  11:52               55,296 list.gif


* 2004-04-07  11:53               45,056 finder.gif


* 2004-04-07  11:53               28,160 nlog.gif


* 2004-04-07  11:53               77,824 kill.gif


* 2004-04-07  11:53              131,072 info.gif


* 2004-04-07  11:53               14,747 TInject.Dll


* 2004-04-07  11:53               69,632 spinfo.dll


* 2004-04-07  11:57                8,464 sporder.dll


* 2004-04-07  11:57                   49 mslsp.dat


* 2004-04-07  12:01               16,384 Perflib_Perfdata_450.dat


* 2004-04-07  12:06               62,048 perfc009.dat


* 2004-04-07  12:06              376,760 perfh009.dat


* 2004-04-07  12:11               20,480 Dcomsvc.exe


* 2004-04-07  12:11                   93 nt.bat


2004-04-13  17:05               16,384 Perflib_Perfdata_45c.dat


...略...


2005-02-10  03:00       <DIR>          drivers


* 2005-02-10  03:03                  405 Svclog.log


2005-02-10  03:04       <DIR>          NtmsData


2005-02-10  03:04                  201 events.txt


2005-02-18  15:35       <DIR>          AdCache


2005-02-18  16:25       <DIR>          inetsrv


2005-02-18  23:01       <DIR>          .


2005-02-18  23:01       <DIR>          ..


            2107 个文件    287,603,315 字节


              35 个目录    414,384,128 可用字节


============================================================


注意看前面打了*号的那些文件,说它们不是后门之类入侵者留下的文件我才不信。
先随便打开一个最近修改过的(就在不久前)Svclog看看:
代码



============================================================


C:/WINNT/system32>type Svclog.log


Performing Time: 2/19/2005 3:11:0 --> Start OK


Performing Time: 2/19/2005 3:11:0 --> The System Is Online


Performing Time: 2/19/2005 3:11:0 --> Read Setting OK


Performing Time: 2/19/2005 3:11:0 --> InitBackDoor() OK


Performing Time: 2/19/2005 3:11:0 --> InitSocket() OK


Performing Time: 2/19/2005 3:11:0 --> Probably Static IP


Performing Time: 2/19/2005 3:11:0 --> Start Sniffing On 61.***.***.***


Performing Time: 2/19/2005 3:19:35 --> The Service Is Stopping


Performing Time: 2/19/2005 3:19:36 --> The Service Is Stopped Successfully


============================================================


呔!现形了吧。然后我们就顺藤摸瓜,看了下这个文件的创建时间,竟然又是
2004年4月7日?再看看其他那几个文件,也都是那一天的,包括我们一开始就
发现的那个Dcomsvc.exe 。我们再看看2004年4月7日留下的另一个文件nt.bat
代码



============================================================


C:/WINNT/system32>type nt.bat


dcomsvc -install


dcomsvc -config port 1432


dcomsvc -config starttype 2


net start dcomsvc


============================================================

这个就是最初安装和启动dcomsvc(真名skserver)的脚本吧,同时也指出了它
的监听端口 TCP:1432。测试连接成功,但是与TermServ一样,不可见。

我们总结性的看一下这一天创建的所有文件:
代码



============================================================


C:/WINNT/system32>dir /s /O:D /T:C |findstr 2004-04-07


2004-04-07  11:52               55,296 list.gif


2004-04-07  11:52               45,056 finder.gif


2004-04-07  11:53               28,160 nlog.gif


2004-04-07  11:53               77,824 kill.gif


2004-04-07  11:53              131,072 info.gif


2004-04-07  11:53               76,288 SvcHostDLL.dll


2004-04-07  11:53               62,464 sysinfo.dll


2004-04-07  11:53               14,747 reginfo.exe


2004-04-07  11:53               69,632 spinfo.dll


2004-04-07  11:54                  944 ms29.ini


2004-04-07  11:55               14,747 TInject.Dll


2004-04-07  11:55                  412 Svclog.log


2004-04-07  11:57                8,464 sporder.dll


2004-04-07  11:57                   49 mslsp.dat


2004-04-07  12:01               16,384 Perflib_Perfdata_450.dat


2004-04-07  12:11                   93 nt.bat


============================================================



4.用户帐号
黑客在入侵后,经常会用一种最简单直接古老的方法留下后门,那就是添加用户
帐号。我们可以使用[控制面板]->[管理工具]->[计算机管理]来查看系统用户
帐号,或者象下面这样直接用net user命令行工具来查看用户属性。

net user 输出
代码



=====================================================================


用户名                 Administrator


全名                  


注释                   管理计算机(域)的内置帐户


用户的注释            


国家(地区)代码         000 (系统默认值)


帐户启用               Yes


帐户到期               永不





上次设置密码           2003/10/30 下午 04:20


密码到期               永不


密码可更改             2003/10/30 下午 04:20


需要密码               Yes


用户可以更改密码       Yes





允许的工作站           All


登录脚本              


用户配置文件          


主目录                


上次登录               2005/2/20 下午 10:01





可允许的登录小时数     All





本地组会员             *Administrators      


全局组成员             *None                


命令成功完成。


=====================================================================


用户名                 Guest


全名                  


注释                   供来宾访问计算机或访问域的内置帐户


用户的注释            


国家(地区)代码         000 (系统默认值)


帐户启用               Yes


帐户到期               永不





上次设置密码           2004/4/7 上午 11:52


密码到期               永不


密码可更改             2004/4/7 上午 11:52


需要密码               No


用户可以更改密码       No





允许的工作站           All


登录脚本              


用户配置文件          


主目录                


上次登录               永不





可允许的登录小时数     All





本地组会员             *Administrators       *Guests              


全局组成员             *None                


命令成功完成。


=====================================================================


用户名                 monitor


全名                   monitor


注释                   Special account for Remote Performance Monitor


用户的注释            


国家(地区)代码         000 (系统默认值)


帐户启用               Yes


帐户到期               永不





上次设置密码           2004/6/1 下午 04:32


密码到期               永不


密码可更改             2004/6/1 下午 04:32


需要密码               Yes


用户可以更改密码       No





允许的工作站           All


登录脚本              


用户配置文件          


主目录                


上次登录               永不





可允许的登录小时数     All





本地组会员             *Administrators      


全局组成员             *None                


命令成功完成。


=====================================================================


用户名                 TsInternetUser


全名                   TsInternetUser


注释                   这个用户帐户被终端服务所使用。


用户的注释            


国家(地区)代码         000 (系统默认值)


帐户启用               Yes


帐户到期               永不





上次设置密码           2005/2/18 上午 03:03


密码到期               永不


密码可更改             2005/2/18 上午 03:03


需要密码               No


用户可以更改密码       No





允许的工作站           All


登录脚本              


用户配置文件          


主目录                


上次登录               永不





可允许的登录小时数     All





本地组会员             *Guests              


全局组成员             *None                


命令成功完成。


=====================================================================


在这里我们列举了4个比较重要的用户,它们包含了和这次入侵事件相关的一些
重要数据。在用户帐号中最重要的信息是关于Guest帐号:
代码



=====================================================================


* 用户名                 Guest


全名                  


注释                   供来宾访问计算机或访问域的内置帐户





* 帐户启用               Yes


帐户到期               永不





* 上次设置密码           2004/4/7 上午 11:52


密码到期               永不


* 密码可更改             2004/4/7 上午 11:52


需要密码               No


用户可以更改密码       No    


* 上次登录               永不





可允许的登录小时数     All





* 本地组会员             *Administrators       *Guests  


=====================================================================

注释*的这几行透漏出了重要信息,默认情况下Guest用户是Guests组成员,并且
不可能用来登录系统。而这台机器上Guest被加进了Administrators组,这就意
味着它和系统超级用户Administrator具有同等特权!再看一下它的激活时间,
上次修改密码是在2004/4/7 上午 11:52,这几乎就是系统被入侵的精确时间了。
与文件系统MAC分析结合,可以证实系统入侵发生的准确时间。

那么其他帐户和这次入侵事件有什么关系呢?我们看一下本地用户密码破解后的
口令明文信息:
代码



=====================================================================


USERNAME           LANMAN_PASSWORD       PASSWORD    


__vmware_user__           * empty *           * empty *                    


Administrator                                        


Guest                   * empty *           * empty *                        


monitor                   123456               123456    


IUSR_CXL                


IWAM_CXL        


TsInternetUser               


=====================================================================


这里就显示出了更多信息,__vmware_user__和Guest用户的口令为空!而且Guest
用户还具有Administrator特权,并且可以从任何地点通过网络登录到本机;此外,
当前系统上还有一个monitor用户,密码为123456,显然这个密码也是极不安全的,
破解它连一秒钟都不用。虽然这是系统管理员用于管理的额外用户,但是它也具有
Administrator同等特权,而这个密码我相信入侵者想得到它也不是难事。最后就
是关于Administrator用户,本来Administrator用户的密码长度为12位,应该
说是足够安全了,但只要别人能够进入这台机器,对于入侵者来说,就完全没有隐私
可言,我们看一下黑客留下的工具之一 c:/winnt/system32/finder.gif
代码



=====================================================================


C:/>finder.exe





         To Find Password in the Winlogon process


Usage: a.exe DomainName UserName PID-of-WinLogon





The debug privilege has been added to PasswordReminder.


The WinLogon process id is 216 (0x000000d8).


To find CXL/Administrator password in process 216 ...


The encoded password is found at 0x010f0800 and has a length of 12.


The logon information is: CXL/Administrator/@rigen2000x#.


The hash byte is: 0x7e.


=====================================================================

Windows2000有一个特性,就是会把当前登录用户的口令明文缓存在Winlogon
进程的缓存空间中,而finder就是从Winlogon缓存中发掘当前登录用户口令的
黑客工具。


5.日志,网络,和其他
在这一节中,实际还作了其他的很多取证工作,使用eventdmp和eventlog对系统日
志信息作了分析和备份等等。但是因为当前系统中,各项应用服务运行基本正常,
而至于事件日志--Windows 2000默认就不记安全日志,而其他日志能够提供的信息
又太少了,所以略过这些部分。另外,在PipeList的输出中,也没有发现异常管道,
所以略过此部分。


本章结论:
1.本主机已被渗透入侵;
2.本主机已被安装如下后门:
  C:/WINNT/system32/Dcomsvc.exe(skserver 1.0)
  C:/WINNT/system32/Termsrv.exe(TerminalServer)                                                        
  C:/WINNT/AppPatch/app/openmange.exe(CCProxy 6.0)
3.发现隐藏后门程序:
  468   -      spoolsv.exe  --[Hidden]--
  1136  -       syinfo.exe  --[Hidden]--
4.系统上运行了Sniffer程序,可能用以窃听口令;
5.系统Guest用户被激活,口令为空,同时被加入Administrators组;
  __vmware_user__用户口令为空;
  monitor用户和Administrator用户口令已泄漏。
6.PCAnywhere的连接加密被设为none。
7.确定终端服务端口被修改作为后门,工作端口TCP:4652;skserver工作端口
  TCP:1432。同时这些进程和端口被隐藏,这意味着系统中有更深层次的后门。
8.基本确定系统被入侵时间为2004年4月7日,中午12时左右。



本章遗留问题:

虽然本章中,通过一些常规的系统管理手段分析,查出了一些问题,但是也发现
了一些隐藏更深的蛀虫。它们藏在哪儿呢?
1. Terminal会隐身?
2. 抓住忍者!


所要做的事:
在本章中,主要是初步分析异常状况。通过对系统中各项信息的分析,找出入侵者
的踪迹和藏身之地,这个过程可能很简单,只用fport之类的简单工具就可以清除;
也可能很复杂,迎接你的,将是通往更广袤幽暗地域的一个黑洞...

在本章所要做的是,主要使用过各种工具,尽可能快速、全面、详尽、冗余的取得
系统当前状态下的更多信息。具体的方面和步骤,如同本章开始所述的六个方面,
不再赘述。


正确的途径:
在实际的应急响应、取证和分析过程中,需要的步骤更严谨些,就不像本章中那么
快速简洁了。

正确的步骤应该从发现问题开始,当发现系统被入侵后,进行分析的步骤应该是:
1.根据情况和系统重要级别确定处理方针,是抓,还是堵?
1.1如果是堵的话,那么很好说,立刻断开网线,然后继续第二步过程;
1.2如果是抓的话...这就按照本文的正常顺序,直接跳转到第二步,同样进行
下一步过程。

2.迅速建立系统的当前状态镜像,主要是磁盘镜像、内存镜像以及当前系统信息
采集。
系统信息的采集过程就如本章过程所述,但是需要注意的一点,准备好你自己的
应急工具包,包括各项系统信息采集和分析工具的。同时分析过程最好能够用脚本
自动化完成,并且直接存储在远程计算机上。这能够保证信息的正确性、完整性,
以及系统映像的纯洁性和稳定性 -- 记住这一点,案发时保持案发现场的纯洁稳定
是最重要的一点。
Tips:为了不受系统入侵者的影响,在本案中elly安装了一个ssh服务器(出于
带宽限制的苦衷和对安全性的考虑两方面),之后上传了自己的一个工具包,来对
系统信息进行检查。

接下来就是按照可能性和环境对系统磁盘、内存进行完整干净的镜像备份。对磁盘
镜像Unix下的dd是一个最好的选择,但是Windows下有时很可能你的系统不能够
重启或离线,那么这时候,我个人推荐一个好工具,Acronis TruImage,虽然
它并不一定能够完全完整的保证镜像纯净(可能不符合司法鉴定程序),但对于一般
情况,在在线的Windows平台上它是一个好选择。主要特性有:支持在线(Windows
本机正在运行时)镜像,支持远程镜像,支持把镜像文件作为虚拟硬盘直接还原加载。
仅这三点都是我认为它成为不可替代的好选择。

BTW:在本例中,elly因为只有56K猫猫,所以偷了个懒,直接在主机上进行分析
操作了,这不符合极端安全原则,大家不要跟我学--偷懒。

3.加载你的备份镜像为只读。并且进行分析和取证操作。
如果是TrueImage的镜像,可以直接加载为虚拟磁盘;如果是DD镜像,则可能需要
恢复到一个物理磁盘,或Vmware虚拟机中重建虚拟现场环境,或不需要运行程序的
时候,也可以使用各种Unix的loopback FS特性进行虚拟文件系统的加载。

4.深入分析,继续见下一章。


本章Tips:
1.尽量进行离线分析,为了不破坏系统当前状态和引起入侵者注意,注意采集到
足够信息后立刻建立系统的静态离线镜像,然后在镜像副本上进行操作,保持现
场最重要。
2.天下武功,无奸不破,唯快不破。在入侵分析和取证工作中,对系统的熟知程度
和反应速度是最重要的。能够越快的采集到越多的信息,你胜利的把握就越大。在与
黑客的战争中,往往速度就是成功与否的取决因素。因此,最好能够迅速的准备好
处理程序,并且使用脚本进行自动化的信息收集和分析,以加快人工分析的速度和
缩短响应时间。
3.MAC是文件系统分析中的重要证据,分别是文件的M(最后修改时间)A(最后访问
时间)C(创建时间)。其中每一项都包含着非常重大的隐藏意义,合理的利用MAC信
息,结合系统日志等其他证据,良好的推理就可以刻划出一个黑客行为的流程图!
但是MAC信息是非常脆弱易失的,同时也并非没有方法伪造,所以尽可能的尽早建立
系统影响副本,保持MAC证据,同时使用副本时注意尽量进行只读加载,因为A(最
后访问时间),只要读取文件就可能造成改变,只读加载是可以避免这个问题。
再次说明,注意保持现场,你的机会只有一次。


############################################################

难觅:驀然回首,那人却在

场景:
看着身后的光亮逐渐微弱,阴冷的风撕扯着elly的斗篷,仿佛黑暗的气息无孔不
入。elly最后看了一眼遥远处微弱的光,握了握手中的剑--那是崔斯特赠予他的
"冰亡",这稍稍让他的心安静了些。elly把目光收回,待眼神适应这幽暗地域的
黑暗之后,收紧精神,豹一般的义无反顾地向这幽暗地域漆黑的无底洞穴走去。

世界的这边,看着屏幕上黑色的终端窗口,闪烁的绿色字母像谜一样排列组合着,
elly抿了一口微热的香茗,从容的在终端中打入: rkdetector.exe

rkdetector输出:
代码



============================================================


C:/WINNT/system32>rkdetector.exe


          . .. ...: Rootkit Detector Profesional 2004 v0.62 :... .. .


Rootkit Detector Profesional 2004


Programmed by Andres Tarasco Acuna


Copyright (c) 2004 - 3wdesign Security


Url: http://www.3wdesign.es








-Gathering Service list Information... ( Found: 253 services )


-Gathering process List Information... ( Found: 48 process )


-Searching for Hidden process Handles. ( Found: 0 Hidden Process )


-Checking Visible Process.............


c:/winnt/system32/smss.exe


c:/winnt/system32/csrss.exe


c:/winnt/system32/winlogon.exe


c:/winnt/system32/services.exe


c:/winnt/system32/lsass.exe


c:/winnt/system32/svchost.exe


c:/winnt/system32/msdtc.exe


c:/program files/symantec/pcanywhere/awhost32.exe


c:/program files/dell/openmanage/omsa/bin/dcevt32.exe


c:/winnt/system32/dcomsvc.exe


c:/program files/dell/openmanage/omsa/bin/dcstor32.exe


c:/program files/symantec_client_security/symantec antivirus/defwatch.exe


c:/winnt/system32/svchost.exe


c:/winnt/system32/llssrv.exe


c:/program files/symantec_client_security/symantec antivirus/rtvscan.exe


c:/winnt/system32/mstask.exe


c:/progra~1/serv-u/servud~1.exe


c:/program files/dell/openmanage/iws/bin/win32/omaws32.exe


c:/winnt/system32/snmp.exe


c:/winnt/system32/termsrv.exe


c:/winnt/system32/wbem/winmgmt.exe


c:/winnt/system32/svchost.exe


c:/winnt/system32/inetsrv/inetinfo.exe


c:/winnt/system32/svchost.exe


c:/progra~1/dell/openma~1/oldiags/vendor/pcdoctor/bin/diagorb.exe


c:/winnt/system32/atiptaxx.exe


c:/program files/f-secure/ssh server/fsshd2.exe


c:/winnt/cmd/rkdetector.exe


c:/winnt/explorer.exe


c:/winnt/system32/svchost.exe


c:/program files/flashget/flashget.exe


c:/winnt/system32/bacstray.exe


c:/progra~1/symant~1/symant~1/vptray.exe


c:/program files/d-tools/daemon.exe


c:/winnt/system32/internat.exe


c:/progra~1/serv-u/servut~1.exe


c:/program files/f-secure/ssh server/fsshd2srv.exe


c:/program files/mercury interactive/loadrunner/launch_service/bin/magentproc.exe


c:/winnt/system32/conime.exe


c:/winnt/system32/termsrv.exe


c:/program files/internet explorer/iexplore.exe


c:/winnt/system32/cmd.exe


c:/winnt/system32/mmc.exe


c:/program files/f-secure/ssh server/fssh2console.exe


c:/program files/f-secure/ssh server/fsshsftpd.exe


c:/winnt/system32/cmd.exe


c:/program files/internet explorer/iexplore.exe


-Searching again for Hidden Services..


-Gathering Service list Information... ( Found: 0 Hidden Services)


-Searching for wrong Service Paths.... ( Found: 3 wrong Services )


-------------------------------------------------------------------------------


*SV: dcomsvc


[color=red]34567890 (DCOM Services) PATH: c:/winnt/system32/dcomsvc.exe[/color]


-------------------------------------------------------------------------------


[color=red] *SV: MsDoscDefenderDrv (MsDoscDefenderDrv) PATH: c:/winnt/system32/msdosdrv.sys[/color]


-------------------------------------------------------------------------------


[color=red] *SV: PCDRDRV (Pcdr Helper Driver) PATH: c:/progra~1/dell/openma~1/oldiags/vendor/pcdoctor/modules/pcdrdrv.sys[/color]


-------------------------------------------------------------------------------


-Searching for Rootkit Modules........


-------------------------------------------------------------------------------


[color=red] *SUSPICIOUS MODULE!! c:/winnt/system32/imm32.dll[/color]


-------------------------------------------------------------------------------


[color=red] *SUSPICIOUS MODULE!! c:/winnt/system32/lpk.dll[/color]


-------------------------------------------------------------------------------


[color=red] *SUSPICIOUS MODULE!! c:/winnt/system32/usp10.dll[/color]


-------------------------------------------------------------------------------


-Trying to detect hxdef with TCP data..( Found: 1 running rootkits)


-------------------------------------------------------------------------------


[color=red] *ROOTKIT HACKER DEFENDER v1.0.0 IS INSTALLED IN YOUR HOST.[/color]


-------------------------------------------------------------------------------


-Searching for hxdef hooks............ ( Found: 1 running rootkits)


-------------------------------------------------------------------------------


[color=red] *ROOTKIT HACKER DEFENDER >= v0.82 FOUND. Path not available[/color]


-------------------------------------------------------------------------------


-Searching for other rootkits......... ( Found: 0 running rootkits)





============================================================


rkdetector和Kproccheck一样,是一个强大的工具,它们都从系统内核空间读取
数据,而rkdetector的功能则更多一些,就如同它的名字r(oot)k(it)detector,
它能够自动的分析Windows系统中存在的多种rootkit(一种黑客后门和工具包的集
合的通称)。就象上面的输出中,排除一些误报,有效的有下面几行:
代码



-------------------------------------------------------------------------------


*SV: dcomsvc


34567890 (DCOM Services) PATH: c:/winnt/system32/dcomsvc.exe


-------------------------------------------------------------------------------


*SV: MsDoscDefenderDrv (MsDoscDefenderDrv) PATH: c:/winnt/system32/msdosdrv.sys


-------------------------------------------------------------------------------


-Trying to detect hxdef with TCP data..( Found: 1 running rootkits)


-------------------------------------------------------------------------------


*ROOTKIT HACKER DEFENDER v1.0.0 IS INSTALLED IN YOUR HOST.


-------------------------------------------------------------------------------


-Searching for hxdef hooks............ ( Found: 1 running rootkits)


-------------------------------------------------------------------------------


*ROOTKIT HACKER DEFENDER >= v0.82 FOUND. Path not available


-------------------------------------------------------------------------------


-Searching for other rootkits......... ( Found: 0 running rootkits)


-------------------------------------------------------------------------------


可以看到它检测出了2个异常服务dcomsvc和msdosdrv.sys,以及一个rootkit --
HACKER DEFENDER v1.0.0(后文简称hxdef100)。而hxdef100,恐怕就是本章中最
大的boss -- 也是最难对付的。这是Windows系统下极为成功的一个rootkit,它
作为一个系统服务运行在Windows系统当中,然后通过hook相关系统调用的方法来
截获用户程序,并完成各项功能。它可以隐藏文件、目录、进程、服务、注册表键值、
网络端口 等信息,使得用户通过常规的查询方法(sc或ps等)无法看到这些信息。同时
他还可以直接监听某个TCP端口(在本机不可见的),或再运行和隐藏其他后门程序,
来制造一个远程控制所用的通路,比特洛伊人的木马可强太多了,简直是居家旅行、
杀人无形之必备良药!

hxdef100不但本身隐性,还能让其他后门(进程、服务、文件)隐性,实在是有些
棘手。而让它显形的唯一方法就是喊它的名字: net stop hxdef100
停止服务之后,它就会暂时失效,然后可以使用hxdef100.exe -:uninstall
来卸载自身。

但是这样有两个难题,首先是,我们并不知道它的服务名,而不知道服务名是无
法停止的;其次,我们也不知道它的可执行文件和配置文件放在那里,这样我们
即时停止了,也无法完整卸载它,更无法找出它所隐藏的更多后门了,那岂不是
死无对证?

只好死马当成活马医先试一把,用前面发现的几个可能服务名试试看:
代码



elly: 芝麻开门...(net stop hxdef100)


hxdef:...


elly: 西瓜开门...(net stop dcomsvc)


hxdef:...


elly: 土豆开门...(net stop ccproxy)


hxdef:...


elly: 香蕉开门...(net stop MsDoscDefenderDrv)


hxdef:...


elly: hxdef开门...(net stop spoolsv)


hxdef:...



看来hxdef是死都不肯回应我了,那么就只好...找软柿子捏,分析一下已经抓到
的那几个尸体,看看能不能逼它们说出点什么来。

先把所有已经找到的异常文件拉到本机分析一下,包含刚发现的msdosdrv.sys,
当然,有些文件知道它们是存在那儿的,但是系统还是报告找不到,不用想都是
hxdef搞得鬼。

在上面截获的文件累计有:
代码



* 2004-04-07  11:52               55,296 list.gif


* 2004-04-07  11:53               45,056 finder.gif


* 2004-04-07  11:53               28,160 nlog.gif


* 2004-04-07  11:53               77,824 kill.gif


* 2004-04-07  11:53              131,072 info.gif


* 2004-04-07  11:53               14,747 TInject.Dll


* 2004-04-07  11:53               69,632 spinfo.dll


* 2004-04-07  11:57                8,464 sporder.dll


* 2004-04-07  11:57                   49 mslsp.dat


* 2004-04-07  12:11               20,480 Dcomsvc.exe


* 2004-04-07  12:11                   93 nt.bat


* 2005-02-10  03:03                  405 Svclog.log


通过对文件信息分析以及反汇编取得的信息,基本功能分析如下:
代码



* 2004-04-07  11:52               55,296 list.gif


* 2004-04-07  11:53               45,056 finder.gif


* 2004-04-07  11:53               28,160 nlog.gif


* 2004-04-07  11:53               77,824 kill.gif


* 2004-04-07  11:53              131,072 info.gif

以上5个分别是被改名后的黑客工具,功能:
list.gif:  pslist,sysinternal pslist,用于列出所有进程;
finder.gif:    一个从winlogon进程直接查找当前登录用户口令明文的工具;
nlog.gif:  实际上是nc(netcat.exe),一个多功能的网络程序;
kill.gif:  sysinternal kill,用于杀掉某进程;
info.gif:  sysinternal psinfo,用于查看当前主机系统信息。

* 2004-04-07  11:53               14,747 TInject.Dll
这个是一个进行线程插入的工具,用来执行和隐藏后门程序,创建寄生在其他
进程空间内的无进程木马,需要用rundll32运行,参数不详。

* 2004-04-07  11:53               69,632 spinfo.dll
一个无进程(可能也无端口)的木马,利用了系统SPI(网络服务提供者)接口,
把自己挂接在系统网络堆栈中,作为一个网络协议过滤器存在,当所有的数据
流经这一层时,就会被分析和执行。在第二章中检测出来的网络接口状态为
混杂模式应该就是spinfo.dll所为。
* 2004-04-07  11:57                8,464 sporder.dll
用于在系统SPI中插入模块的一个支持库,是spinfo.dll所依赖的一个链接库。

* 2004-04-07  12:11               20,480 Dcomsvc.exe
skserver 1.0,一个sock5代理服务器。

* 2004-04-07  12:11                   93 nt.bat
安装skserver的初始化脚本。

* 2005-02-10  03:03                  405 Svclog.log
* 2004-04-07  11:57                   49 mslsp.dat

分别是spinfo.dll后门和另外某后门的日志文件。

分析完之后再来看看hxdef吧,刚才是拿它没办法,不过我忘了elly手上还有一样
东西没有用过 -- 冰亡。 二话不说,马上上传了一个icesword,这也是一个用于
检查系统隐藏信息的好工具,几乎把他忘了。

运行之后,在服务中发现了四个隐藏服务:
spooler
Spoolers
iprip
netddee

把它们一一停止,现在系统应该干净了吧。再使用netstat -na和fport查看系统
状态,一切正常,该显示的也都显示出来了。

再次查找2004-04-07相关的文件:
代码



============================================================


C:/>dir /O:D /T:C /S C: |findstr 2004-04-07


2004-04-07  12:05                  280 administrator@www.hanzify[1].txt


2004-04-07  12:03       <DIR>          MSHist012004040720040408


2004-04-07  12:03       <DIR>          ..


2004-04-07  12:03               32,768 index.dat


2004-04-07  12:03       <DIR>          .


2004-04-07  11:53              151,552 spoolsv.exe


2004-04-07  11:53               90,112 admdll.dll


2004-04-07  11:53               29,408 raddrv.dll


2004-04-07  11:52               55,296 list.gif


2004-04-07  11:52               45,056 finder.gif


2004-04-07  11:53               28,160 nlog.gif


2004-04-07  11:53               77,824 kill.gif


2004-04-07  11:53              131,072 info.gif


2004-04-07  11:53               76,288 SvcHostDLL.dll


2004-04-07  11:53               62,464 sysinfo.dll


2004-04-07  11:53               14,747 reginfo.exe


2004-04-07  11:53               69,632 spinfo.dll


2004-04-07  11:54                  944 ms29.ini


2004-04-07  11:55               14,747 TInject.Dll


2004-04-07  11:55                  412 Svclog.log


2004-04-07  11:57                8,464 sporder.dll


2004-04-07  11:57                   49 mslsp.dat


2004-04-07  12:01               16,384 Perflib_Perfdata_450.dat


2004-04-07  12:11                   93 nt.bat


============================================================


这回多了以下一些文件:
代码



C:/winnt/spoolsv.exe


C:/winnt/admdll.dll


C:/winnt/raddrv.dll


C:/winnt/system32/SvcHostDLL.dll


C:/winnt/system32/sysinfo.dll


C:/winnt/system32/reginfo.exe


C:/winnt/system32/ms29.ini


分析如下:
C:/winnt/system32/spoolsv.exe
原名r_server2.exe,经过加壳的RAdmin 2.0,一个远程管理控制程序。

C:/winnt/admdll.dll
C:/winnt/raddrv.dll
RAdmin运行所需的支持动态链接库。

C:/winnt/system32/SvcHostDLL.dll
C:/winnt/system32/sysinfo.dll

SVCHost后门,用于把线程注入SVCHost--系统服务主进程,并创建无进程后门。
SvcHostDLL.dll是它的支持库。

C:/winnt/system32/reginfo.exe
Remote DLL Injector V1.6 Private Version By WinEggDrop,呵呵一个
执行远程线程注入隐藏进程的程序,可能和前面的Tinject.dll有点关系。

这几个程序在系统中运行后,围绕在以hxdef100为首的木马队伍周围,伪装自己成
Spoolers,iprip,netddee等几个貌似良民的服务,在系统中为非作歹...至此
整个后门团伙已经基本落网,最后我们再回顾一下它们的所作所为。那什么回顾呢?
当然就是我早就惦记着的那份白名单啦!hxdef100配置文件: ms29.ini

ms20.ini(原名hxdef[*].ini)全文摘录如下
代码



============================================================


[H"i/d<<d<e<<n Table]          


#本来这行应该是[Hidden Table],看来入侵者使用了一个被修改过的hxdef,


#也难怪开始我按标准特征字符串[Hidden搜索没找到;


rcmd.exe                      


>h"xdef"*                      


svchostdll.dll


network.sys


spoolsv.exe


admdll.dll


raddrv.dll


syinfo.exe


ms29.ini


sysinto.gif


reginfo.exe


sysinfo.dll


#以上为配置hxdef负责隐藏的文件名,可惜装的东西太多,入侵者自己都疏漏了


#所以让我找到4月7日这个重要线索





[Root Processes]


h<x>d<e>:f<*


spoolsv.exe


</r/c:/m/d./e/x/e


#以上为隐藏进程表





[H"i/d<<d<e<<n Services]


Ha>:ck"er//Def/ender*


spooler


Spoolers


iprip


Intranet


networks


netddee


#以上为隐藏服务





[H"i/d<<d<e<<n RegKeys]


Ha:"c<kerDef/e/nder100


LE":GACY_H/ACK/ERDEFE/ND:ER100


Ha:"c<kerDef/e/nderDrv100


LE":GACY_H/ACK/ERDEFE/ND:ERDRV100


radmin


#以上为隐藏注册表键





[H"i/d<<d<e<<n RegValues]


          


[Startup Run]





[Free Space]





[H"i/d<<d<e<<n Ports]


TCP:1432,1442,4652,4653


#以上为隐藏端口





[Settings]  


Password=domybest@#@#@#


BackdoorShell=msdos?.exe


FileMappingName=_.-=[Defender]=-._


ServiceName=Spoolers


ServiceDisplayName=Print Spooler Access


ServiceDescription=Loads files to memory for later printing Access.


DriverName=MsDoscDefenderDrv


DriverFileName=MsDosdrv.sys


#主配置段


#hxdef后门远程连接口令为domybest@#@#@#,嘿嘿嘿黑


#hxdef名字是Spoolers,然后伪装为系统打印进程...


#那真的Spooler呢?当然被它先x后杀了





[Comments]


============================================================


好吧,我们再推理一下案发现场......

代.本章结论:
1. 2004年4月7日,那是一个黑漆漆~~的夜晚...哦,对不起,是白天。
   在一个阴雨绵绵的白天,一个叫domybest或ahai的"黑客",无意间来到这个网段,
   (也可能他是蓄谋已久的...)他先拿出拿手的工具nmap和rpcscan,忽然发现
   这台服务器竟然开放了TCP:21和TCP:135端口,而且运行的是号称Windows下
   漏洞最多的ftp服务器Serv-U 5.0.0.4和IIS 5,这不由得让他欣喜若狂!
   这台机器很可能具有一个RPC-DCOM远程溢出漏洞!而且竟然还没让震荡波蠕虫
   感染。这个黑客gg喜上眉头,半年的入侵经验让他很快顺利的用RPC攻击程序
   进入了系统,并获得了一个SYSTEM特权的cmd shell,可能有人要问,为什么
   他没可能是用Serv-U的远程溢出的呢?原因是,那会儿Serv-U 5.0.0.4以及
   它的漏洞都还没出来。

2. 黑客gg进入系统之后,先上传了几个工具,他用的很熟练的ps系列,pslist
   和netstat之后,他很放心的确信在这台机器上,当前除了他没有其他人登录。
   而且很可能系统管理员几个月都没有来看过了。psinfo之后,发现这台机器的
   配置还不错,可以拿来做ftp哦^^ 但是他不稀罕这些,因为他已经有好几百台
   肉鸡了么。所以他就开始上传他的一些后门,比如,修改过的TermServ,为了
   不让人发现,他还特意把它的端口改成了TCP:4652。

3. 顺利的用终端服务登录上来之后,然后呢,他想,那他做什么呢?干脆就做一台
   代理服务器吧。听说有个叫CCProxy的代理服务器蛮不错的,于是他就安装了一
   个CCProxy,还顺便安装了一个Serv-U的汉化包。从吕达嵘那里下的。看来他
   又多一个ftp服务器和攻击跳板了。不过几天之后,他发现CCProxy还是没有他
   惯用的SKserver--那个黑客用得最多的sock5代理程序顺手,于是他停掉了
   CCProxy,又安装了一个SKServer。

4. 不过黑客gg还是对自己的地位是否稳固不太放心,所以他又开始着受安插更多
   的眼线,安装更多的后门,比如,WinEggDrop的无进程后门,一个叫SPIShell
   的SPI后门,RAdmin2远程控制服务器,插入SVCHost的隐藏后门,可能是叫
   PortLess Backdoor什么的,当然,其中有些程序是它自己修改过的,也稍微
   根据这台机器的情况对一些信息作了相应的伪装,这足以证明他至少是一个老练
   的入侵者,可以叫Cracker什么的,而绝不是普通的ScriptKids。

5. 最后为了证明他的水平,同样也为了骗过管理员的耳目,他还没忘了安装一个
   自己用得最多的Windows后门之王--HackDefender 1.0.0,这个可是刚出来
   四个月的新版本呢!

6. 在系统里溜达溜达,看看有没有管理员的Agent存在吧,顺手擦掉一些Eventlog。
   不过Win2000也太菜了点了,默认连Security Log都不记,黑客gg可以放心大
   胆的从TerminalServer或任何一个后门登录进入;装了Norton CE?更菜!
   黑客gg的后门一个也没检查出来,再升级半年之后才报告了一次...发现
   DcomSVC,可能是个后门,但是清除失败,黑客gg看到他都要有峙无恐了;
   最后,黑客gg在自己的肉鸡数据库里添加了一条:
代码



   xx.xx.xx.xx: 1432,1442,4652,4653


                hxdef,spishell,svchost,radmin,termserv@4652


        skserver@1432,ccproxy


                user:  by ahai


        pass:  domybest@#@#@#


[以上一段纯属虚构,如有雷同,概不负责。]
[BTW:在我查找资料的过程中,看到这个,大家可以对照学习下。]
[http://hehe26.blogchina.com/blog/article_150251.788458.html ]

本章遗留问题:
总算分析完了。不过还有几个遗留问题:
1.如果你是系统管理员,下面该怎么办?
2.那么多后门和木马,那些弱智杀毒软件又查不到,怎么清除?
3.他还在么?还会来么?
4.如果来了,那什么招待他?

欲知后事如何,请待下回分解。


############################################################

处理:灯火阑珊处

该查的都查出来了,稍微做点设置,恢复系统正常的状态吧。


1.卸载hxdef
C:/hxdef100>hxdef100 -:uninstall

2.删除服务
C:/Documents and Settings/Administrator>sc delete CCProxy
[SC] DeleteService SUCCESS

C:/Documents and Settings/Administrator>sc delete IPRIP
[SC] DeleteService SUCCESS

C:/Documents and Settings/Administrator>sc delete Spoolers
[SC] OpenService FAILED 1060:
指定的服务并未以已安装的服务存在。

C:/Documents and Settings/Administrator>sc delete Spooler
[SC] DeleteService SUCCESS

C:/Documents and Settings/Administrator>sc delete netddee
[SC] DeleteService SUCCESS

C:/Documents and Settings/Administrator>sc delete DCOMsvc34567890
[SC] OpenService FAILED 1060:
指定的服务并未以已安装的服务存在。

C:/Documents and Settings/Administrator>sc delete "Windows Event Logger"
[SC] DeleteService SUCCESS

C:/Documents and Settings/Administrator>sc delete NntpSvc
[SC] DeleteService SUCCESS

2.1有一些服务因为含有非法字符,可能无法从命令行删除,可以用注册表编辑器
regedit.exe在如下位置找到:
HKLM/SYSTEM/CurrentControlSet/Serivices/
删除服务对应的主键即可。

3.删除程序
del c:/winnt/spoolsv.exe
del c:/winnt/admdll.dll
del c:/winnt/raddrv.dll
del c:/winnt/system32/Dcomsvc.exe
del c:/winnt/system32/list.gif
del c:/winnt/system32/finder.gif
del c:/winnt/system32/nlog.gif
del c:/winnt/system32/kill.gif
del c:/winnt/system32/info.gif
del c:/winnt/system32/SvcHostDLL.dll
del c:/winnt/system32/sysinfo.dll
del c:/winnt/system32/reginfo.exe
del c:/winnt/system32/spinfo.dll
del c:/winnt/system32/ms29.ini
del c:/winnt/system32/TInject.Dll
del c:/winnt/system32/Svclog.log
del c:/winnt/system32/sporder.dll
del c:/winnt/system32/ mslsp.dat
del c:/winnt/system32/msdos*.exe
del c:/winnt/system32/MsDosdrv.sys
rd /s /q c:/winnt/apppatch

4.终端服务调整
终端服务么,假的已经被卸载掉了,真的还需要改一下端口:
"HKLM/System/CurrentControlSet/Control/Terminal Server/WinStations/RDP-TCP/PortNumber"                      
REG_DWORD       PortNumber      4652
改为正常的3389,TermnalServer即可恢复正常的端口,之后可以根据需要开启
或禁用它。

5.用户帐号
首先,建议所有用户修改系统登录口令,以及Serv-U等应用服务的口令。
之后,对Guest帐户做如下设置:修改密码,锁定帐号,删除Administrators组特权。


做完这些设置之后,可以在运行一下rkdetector和kproccheck等工具,察看一下
现在的情况。
-Searching again for Hidden Services..
-Gathering Service list Information... ( Found: 0 Hidden Services)
-Searching for wrong Service Paths.... ( Found: 1 wrong Services )
-Trying to detect hxdef with TCP data..( Found: 0 running rootkits)
-Searching for hxdef hooks............ ( Found: 0 running rootkits)
-Searching for other rootkits......... ( Found: 0 running rootkits)
hxdef等后门应该已经成功被清除了

其他
其他还有些什么呢?
删服务、关端口、打补丁、装防火墙、换杀毒软件



另外,还可以......
把administrator和guest帐户重命名,在建立两个低权限的用户,命名为Administrator
和guest,设定为guest组特权,取消交互登录特权。
然后,在本机上装一个Honeypot,监听1432,1442,4652,4653端口,记录所有来访连接IP;
或者也可以在防火墙上设置这几个端口转向到另外一个主机被入侵时的虚拟镜像上去,然后等待
黑客gg再次光临。

等有空再详细写吧。
(未完待半个月后再续) 哇!有黑客! (振兴水版贴) 【安焦elly】