哇!有黑客!!!(上)

来源:互联网 发布:linux查看运行中的程序 编辑:程序博客网 时间:2024/06/08 04:00
 作者:elly  来源:安全焦点论坛

异象:昨夜西风凋碧树

序幕:
話説那日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 - XPLORE    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 (
代码



               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.


_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)


                  -
代码



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


PipeList v1.01


by Mark Russinovich


服务客户端连接主机的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 可用字节