作者:elly 来源:安全焦点论坛
用小脑也知道第一位肯定是用假身份证登录的!查看详细信息:
C:/WINNT/system32 elly在那儿住了那么多年,就没见到过这号兄弟。elly
开始意识到了问题的严重性:系统很可能已经被人入侵了,并且安装了后门!
先看一下当前服务的状态:
sclist 列出了当前所有正在运行的Windows系统服务。从服务列表中,我们
最简单直接的先发现了上面三个异常服务。至于怎么发现的么...
第一,他们都没有服务说明(或正确的服务说明),代表他们不是系统自带的服务;
第二,更主要是根据经验啦,一个熟练的Windows系统管理员,对系统中的各项服
务情况是应该做到心中有数洞若观火的;手边至少应该准备好两份文档,第一是
Windows自带的服务列表、功能和状态,第二是每台服务器安装完成之后初始化镜
像状态下的服务列表。
再使用sc query看一下更详细的服务信息:
现在,三个服务露出狐狸尾巴来了,第一个程序位于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
服务做几乎所有的操作:
psservice: psservice.exe是sysinternal ps系列命令中的一个,它的功
能与参数都基本和sc一致,具体差别看帮助。
4. 帐户异常:
计算机管理: 计算机管理是Windows系统内置的系统管理工具,我们可以在这里
查看到系统用户信息。
net.exe: net user命令可以在命令行模式下管理系统用户帐号和口令。
注意,当系统中发现陌生的用户名,或正常用户帐号口令被修改、滥用等事件都
需要引起注意。
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服务
...说太多了...详细的看偶的《Windows 2000服务管理》吧。
############################################################
寻踪:众里寻他千百度
场景:
話説elly機分鐘前發現這台機器上數個木馬,心頭一驚:這特洛伊人果然了得,
于無聲閒,竟然已經滲透進來。待我細細思索,尋蹤覓跡,先把它們一個一個的
殺掉,再把它們一個一個的捉拿出來...
elly稍作休息,又倒了一杯茶,准备好工具,开始发掘信息。
上面一节最后,我们简单看了一下系统检查的大概步骤,那么在Windows系统中
进行入侵检查需要详细调查一下一些信息:
进程
>>系统进程
>>系统服务
>>用户进程
在进程信息调查中,主要通过对系统 驱动模块、系统进程、服务、用户进程 的
查看,找出异常信息。
网络
>>网络端口
>>网络连接
>>命名管道
网络信息调查,包含异常网络驱动、协议过滤器、接口状态、网络连接、开放端口
和命名管道的信息查询。
帐户
>>用户帐号
>>用户口令
>>用户环境文件
帐户检查主要是对系统帐户和各项应用程序帐户的配置信息检查。
日志
>>系统日志
>>应用日志
日志检查是对系统日志、安全日志以及应用程序日志的取证和分析。
系统环境
>>系统启动项
>>注册表启动项
>>文件信息
系统环境调查对系统启动和运行环境、初始化运行程序、注册表的关键键值以及
文件系统信息进行调查,文件系统调查包括MAC访问记录、异常和隐藏文件、文
件系统权限和流文件检查。
应用程序
>>应用程序配置
这部分工作主要是对各项应用程序的配置做审计和分析。
那么看看在这台机器上我们所取得的信息(摘录部分关键信息):
1.进程
在进程检查部分,我们依次运行多个进程检查工具,并把输出重定向到日志文件
中,完成系统映像的当前状态副本:
在这个脚本中,我们运行的程序有:
ps 列出当前所有进程;
sclist 列出所有服务;
sclist -r 列出所有当前正在运行的服务;
psservice 列出服务详细信息;
ptree 列出当前进程树(派生关系);
kproccheck -d 列出所有内核进程(模块);
kproccheck -p 列出所有用户进程;
这里有两个命令比较特殊,ptree可以列出所有进程派生关系,对于我们进行异常
进程分析大有帮助;kproccheck是一个第三方工具,可以从内核进程表中读取信息
能够更深入的发掘一些隐藏信息。
ptree输出
ps输出
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 输出
在ptree和ps中,我们看到了这两个异常进程:
也就是第一节中我们发现的skserver和后门TerminalServer;
然后在Kproccheck中我们又发现了这样两个隐藏进程:
而这两个进程在ps中竟然看不到!显然在这个系统中除了TerminalServer之外
还存在更深入一层的后门程序!
那么我们来看看它们都干了什么。作为一个后门(木马、特洛伊),它最终的目的
就是取得对应主机的控制权,创造一个意外的通路。那么,只要有动机,就一定
能查到根源,我们就从它的途径着手,来分析这两个后门。
2.网络
入侵者要使用后门,就必须通过网络连接,而无论是skserver还是termserv,
要连接到它们,都必须开放端口的。我们运行了这样一个脚本来检查网络状态:
解释一下我们这里所使用的工具。
netstat 是windows系统内置的命令,-na参数可以列出所有tcp/udp连接。
fport是一个非常有用的第三方工具,可以列出所有端口与开放它们的进程的
关连表。
promiscdetect是一个第三方工具,可以检测网络接口状态,是否有sniffer
类程序运行。
pipelist是Windows ResKit中的一个工具,列出系统中的所有管道,察看
是否有通过Windows管道连接的后门。
Fport输出
PromiscDetect输出
Pipelist输出
结果很快就出来了,但是这里我们也发现了最令人惊惧的事情!我们完全没有看到
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]
等键值,查看相关值;当然注册表中能够隐藏加载程序的地方还有很多,略过不讲。
在注册表的检查中,我特别检查了这么一项:
这是TerminalServer服务指定监听服务端口的键值,哈哈,露出狐狸尾巴了吧。
这台机器上的后门TerminalServer服务当前监听端口被改成了TCP:4652,而不是
正常的TCP:3389,当然连接不上! 换个端口使用终端服务客户端连接,成功!
登录进来,丢掉垃圾的PCAnywhere,终端服务速度的确要快很多 -- 跑题一下,
在56k Modem的连接速度下,PCAnywhere刷新窗口几乎只能一行行刷新,每个动作
都要>5秒钟才能响应,而终端服务256色模式的速度还是能够接受的,起码能够立刻
回显和响应我的操作。鸟枪换炮啦,这让我想起抗日战争时的红军爷爷们--没有枪,
没有炮,鬼子给我们造!这里是不是改换成...黑客给我们造?
开心5秒钟后,我们继续。
分析一下文件系统吧。既然前面的网络检查中分析出当前系统中有sniffer,同样
还怀疑系统中可能存在keylogger程序,那么这两类程序都是需要随时记录日志文
件的,那么我们就看看系统中最新修改过的文件:
使用系统命令dir /s /O:D /T:C [目录名]可以按创建时间排序列出目录下的所
有文件;而要按修改时间排序的话可以使用/T:W参数。我们先看下最近修改过的文
件:
异象:昨夜西风凋碧树
序幕:
話説那日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 - _blank>http://www.sysinternals.com |
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 (_blank>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. _blank>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) - _blank>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 _blank>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 可用字节 |