电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> 网络安全>>哇!有黑客![2]:

哇!有黑客![2]

来源:远方网络 | 2005-8-8 15:42:10 | (有2124人读过)

哇!有黑客![2]- -




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


寻踪:众里寻他千百度

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


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

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

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

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

帐户
>>用户帐号
>>用户口令
>>用户环境文件
帐户检查主要是对系统帐户和各项应用程序帐户的配置信息检查。

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

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

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

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

============================================================;process.cmdps >log\ps.logsclist >log\ps.logsclist -r >log\ps.logpsservice >log\ps.logptree >log\ps.logkproccheck -d >log\ps.logkproccheck -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 ListerCopyright (C) 1999-2000 Mark RussinovichSystems Internals - http://www.sysinternals.comProcess information for CJL-NMS:Name Pid Pri Thd Hnd Mem User Time Kernel Time Elapsed TimeIdle 0 0 4 0 16 0:00:00.000 818:51:39.750 211:18:24.375System 8 8 52 159 300 0:00:00.000 4:45:45.921 211:18:24.375SMSS 192 11 6 38 412 0:00:00.015 0:03:26.828 211:18:24.375CSRSS 216 13 15 677 2232 0:00:31.500 0:02:24.796 211:18:18.609WINLOGON 240 13 17 442 2488 0:00:00.453 0:11:11.859 211:18:17.703SERVICES 268 9 28 530 5960 0:00:03.750 0:05:22.546 211:18:16.812LSASS 280 9 19 315 6364 0:00:01.484 0:12:06.015 211:18:16.796svchost 436 8 12 349 5672 0:01:08.687 0:08:35.265 211:18:15.671msdtc 488 8 36 228 6708 0:00:00.312 0:04:49.671 211:18:15.140AWHOST32 652 8 19 375 9124 0:01:15.281 0:15:17.203 211:18:14.500dcevt32 700 8 4 104 3688 0:00:00.093 0:14:31.796 211:18:04.843Dcomsvc 744 8 5 110 3872 0:00:00.031 0:03:38.343 211:18:04.703dcstor32 756 8 8 126 4704 0:00:47.812 0:06:46.765 211:18:04.640DefWatch 804 8 4 49 2740 0:00:00.015 0:05:47.046 211:17:56.546svchost 824 8 20 419 9936 0:00:42.093 0:06:35.453 211:17:584LLSSRV 856 9 9 82 2580 0:00:00.156 0:09:22.390 211:17:56.046Rtvscan 936 8 35 301 16112 2:16:39.390 11:58:04.312 211:17:55.859mstask 976 8 6 127 3980 0:00:00.062 0:04:30.781 211:17:55.593SERVUD~1 1008 8 10 131 7484 0:00:03.921 0:04:26.546 211:17:55.437omaws32 1052 8 47 453 23656 0:12:32.093 0:06:14.609 211:17:55.250SNMP 1068 8 11 266 6452 0:00:00.281 0:06:14.640 211:17:55.218termsrv 1124 10 12 118 4220 0:00:00.109 0:04:00.312 211:17:55.031WinMgmt 1164 8 5 177 512 0:00:05.046 0:06:32.046 211:17:54.843svchost 1176 8 7 381 13416 0:00:006 0:24:42.015 211:17:54.671inetinfo 1196 8 21 514 8904 0:02:42.968 0:28:18.281 211:17:54.609diagorb 1732 8 2 84 4004 0:00:01.062 0:02:13.312 211:17:421svchost 1856 8 14 177 3856 0:00:00.062 0:11:49.890 211:17:24.812svchost 1216 8 7 211 7808 0:00:00.046 0:16:46.593 189:1.078Explorer 1832 8 13 605 5236 0:00:20.234 0:01:33.156 10:36:353Atiptaxx 1752 8 2 87 3848 0:00:00.046 0:00:00.484 10:36:34.109BacsTray 2004 8 1 18 1972 0:00:00.046 0:00:00.125 10:36:33.984vptray 2016 8 3 138 6112 0:00:00.093 0:00:00.671 10:36:33.875daemon 2024 8 2 72 4724 0:00:00.015 0:00:00.375 10:36:33.843internat 2040 8 1 28 2152 0:00:00.031 0:00:00.171 10:36:33.750SERVUT~1 2048 8 1 30 396 0:00:00.046 0:00:00.046 10:36:33.656magentproc 2064 8 4 154 4928 0:00:00.125 0:00:01.140 10:36:33.437conime 2120 8 1 19 1388 0:00:00.031 0:00:00.062 6:57:40.312cmd 2236 8 2 48 124 0:00:00.062 0:00:00.531 2:49:29.328mmc 2256 8 6 154 4600 0:00:02.218 0:00:05.937 2:49:24.468termsrv 2128 10 38 65 3392 0:36:39.750 2:27:58.125 2:48:38.343IEXPLORE 2140 8 7 361 10040 0:00:13.640 0:00:33.046 2:41:03.859flashget 1888 8 8 327 6060 0:00:05.531 0:00:02.843 2:16:59.796fsshd2 1776 8 3 91 3908 0:00:00.125 0:00:00.156 1:40:23.812fsshd2srv 2056 8 3 141 6124 0:00:01.296 0:00:01.281 1:35:53.093fssh2consol 2416 8 1 30 1920 0:00:14.031 0:00:38.125 1:35:36.531cmd 2456 8 1 29 1572 0:00:00.078 0:00:01.000 1:35:321fsshsftpd 2432 8 1 63 2956 0:00:00.296 0:00:01.046 1:07:11.453ps 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 ActiveProcessLinks8 - 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.cmdnetstat -na >log\netstat.logfport >log\fport.logpromiscdetect >promisc.logpipelist >pipelist.log============================================================

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

Fport输出

============================================================FPort v2.0 - TCP/IP Process to Port MapperCopyright 2000 by Foundstone, Inc.http://www.foundstone.comPid Process Port Proto Path 1008 SERVUD~1 -> 21 TCP C:\PROGRA~1\Serv-U\SERVUD~1.EXE1776 fsshd2 -> 22 TCP C:\Program Files\F-Secure\ssh server\fsshd2.exe2056 fsshd2srv -> 22 TCP C:\Program Files\F-Secure\ssh server\fsshd2srv.exe436 svchost -> 135 TCP C:\WINNT\system32\svchost.exe 2064 magentproc -> 443 TCP C:\Program Files\Mercury Interactive\LoadRunner\launch_service\bin\magentproc.exe8 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.exe1052 omaws32 -> 1031 TCP C:\Program Files\Dell\OpenManage\iws\bin\win32\omaws32.exe1732 diagorb -> 1032 TCP C:\PROGRA~1\Dell\OPENMA~1\oldiags\vendor\pcdoctor\bin\diagorb.exe1732 diagorb -> 1033 TCP C:\PROGRA~1\Dell\OPENMA~1\oldiags\vendor\pcdoctor\bin\diagorb.exe1732 diagorb -> 1034 TCP C:\PROGRA~1\Dell\OPENMA~1\oldiags\vendor\pcdoctor\bin\diagorb.exe1052 omaws32 -> 1035 TCP C:\Program Files\Dell\OpenManage\iws\bin\win32\omaws32.exe8 System -> 1036 TCP 1052 omaws32 -> 1311 TCP C:\Program Files\Dell\OpenManage\iws\bin\win32\omaws32.exe1176 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.exe2064 magentproc -> 5002 TCP C:\Program Files\Mercury Interactive\LoadRunner\launch_service\bin\magentproc.exe2064 magentproc -> 5003 TCP C:\Program Files\Mercury Interactive\LoadRunner\launch_service\bin\magentproc.exe652 awhost32 -> 5631 TCP C:\Program Files\Symantec\pcAnywhere\awhost32.exe1052 omaws32 -> 8000 TCP C:\Program Files\Dell\OpenManage\iws\bin\win32\omaws32.exe1196 inetinfo -> 8222 TCP C:\WINNT\System32\inetsrv\inetinfo.exe1196 inetinfo -> 8333 TCP C:\WINNT\System32\inetsrv\inetinfo.exe1008 SERVUD~1 -> 43958 TCP C:\PROGRA~1\Serv-U\SERVUD~1.EXE2064 magentproc -> 50500 TCP C:\Program Files\Mercury Interactive\LoadRunner\launch_service\bin\magentproc.exe2064 magentproc -> 54345 TCP C:\Program Files\Mercury Interactive\LoadRunner\launch_service\bin\magentproc.exe1068 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.EXE1888 flashget -> 1399 UDP C:\Program Files\FlashGet\flashget.exe1196 inetinfo -> 3456 UDP C:\WINNT\System32\inetsrv\inetinfo.exe652 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 EthernetActive 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 EthernetActive 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.01by Mark Russinovichhttp://www.sysinternals.comPipe 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.DLL1998-03-20 18:14 1,927 axctrnm.h1998-06-19 21:31 344 Pintlpad.cnt1998-09-16 19:08 5,523 nntpctrs.h1998-11-05 13:21 154,487 Pintlpad.HLP1999-02-26 19:30 773 ntfsdrct.h1999-02-28 02:31 69,120 msdbg.dll1999-02-28 02:32 183,574 pdm.dll...略...2004-03-31 12:02 16,384 Perflib_Perfdata_414.dat2004-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.bat2004-04-13 17:05 16,384 Perflib_Perfdata_45c.dat...略...2005-02-10 03:00 drivers* 2005-02-10 03:03 405 Svclog.log2005-02-10 03:04 NtmsData2005-02-10 03:04 201 events.txt2005-02-18 15:35 AdCache2005-02-18 16:25 inetsrv2005-02-18 23:01 .2005-02-18 23:01 .. 2107 个文件 287,603,315 字节 35 个目录 414,384,128 可用字节============================================================

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

============================================================C:\WINNT\system32>type Svclog.logPerforming Time: 2/19/2005 3:11:0 --> Start OKPerforming Time: 2/19/2005 3:11:0 --> The System Is OnlinePerforming Time: 2/19/2005 3:11:0 --> Read Setting OKPerforming Time: 2/19/2005 3:11:0 --> InitBackDoor() OKPerforming Time: 2/19/2005 3:11:0 --> InitSocket() OKPerforming Time: 2/19/2005 3:11:0 --> Probably Static IPPerforming Time: 2/19/2005 3:11:0 --> Start Sniffing On 61.***.***.***Performing Time: 2/19/2005 3:19:35 --> The Service Is StoppingPerforming 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.batdcomsvc -installdcomsvc -config port 1432dcomsvc -config starttype 2net start dcomsvc============================================================

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

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

============================================================C:\WINNT\system32>dir /s /O:D /T:C |findstr 2004-04-072004-04-07 11:52 55,296 list.gif2004-04-07 11:52 45,056 finder.gif2004-04-07 11:53 28,160 nlog.gif2004-04-07 11:53 77,824 kill.gif2004-04-07 11:53 131,072 info.gif2004-04-07 11:53 76,288 SvcHostDLL.dll2004-04-07 11:53 62,464 sysinfo.dll2004-04-07 11:53 14,747 reginfo.exe2004-04-07 11:53 69,632 spinfo.dll2004-04-07 11:54 944 ms29.ini2004-04-07 11:55 14,747 TInject.Dll2004-04-07 11:55 412 Svclog.log2004-04-07 11:57 8,464 sporder.dll2004-04-07 11:57 49 mslsp.dat2004-04-07 12:01 16,384 Perflib_Perfdata_450.dat2004-04-07 12:11 93 nt.bat============================================================

BTW:
在这一节中,实际还作了其他的很多取证工作,比如使用net user命令脚本对当前
系统中的所有用户信息作了采集,使用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.PCAnywhere的连接加密被设为none。
6.确定终端服务端口被修改作为后门,工作端口TCP:4652;skserver工作端口
TCP:1432。同时这些进程和端口被隐藏,这意味着系统中有更深层次的后门。
7.基本确定系统被入侵时间为2004年4月7日,中午11时左右。
虽然本章中,通过一些常规的系统管理手段分析,查出了一些问题,但是也发现
了一些隐藏更深的蛀虫。它们藏在哪儿呢?
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(最
后访问时间),只要读取文件就可能造成改变,只读加载是可以避免这个问题。
再次说明,注意保持现场,你的机会只有一次。
网络安全热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2024 电脑爱好者 版权所有 备案号:鲁ICP备09059398号