2023年11月29日发(作者:)

【⼲货】Windows服务器系统⽇志分析及安全

⼀、利⽤Windows⾃带的防⽕墙⽇志检测⼊侵 下⾯是⼀条防⽕墙⽇志记录 2005-01-

1300:35:04OPENTCP61.145.129.13364.233.189.104495980 2005-01-1300:35:04:表⽰记录的⽇期时间 OPEN:表⽰打开连接;如果此

处为Close表⽰关闭连接 TCP:表⽰使⽤的协议是Tcp 61.145.129.133:表⽰本地的IP 64.233.189.104:表⽰远程的IP 4959:表⽰本地的

端⼝ 80:表⽰远程的端⼝。注:如果此处的端⼝为⾮8021等常⽤端⼝那你就要注意了。每⼀条Open表⽰的记录对应的有⼀条CLOSE

录,⽐较两条记录可以计算连接的时间。

注意,要使⽤该项,需要在Windows⾃带的防⽕墙的安全⽇志选项中勾选记录成功的连接选项。

⼆、通过IIS⽇志检测⼊侵攻击

1、认识IIS⽇志 IIS⽇志默认存放在System32LogFiles⽬录下,使⽤W3C扩展格式。下⾯我们通过⼀条⽇志记录来认识它的格式 2005-

01-0316:44:57218.17.90.60GET/-80 -218.17.90.60Mozilla/4.0+

(compatible;+MSIE+6.0;+Windows+NT+5.2;+.NET+CLR+1.1.4322)20000

2005-01-0316:44:57:是表⽰记录的时间;

218.17.90.60:表⽰主机的IP地址;

GET:表⽰获取⽹页的⽅法 /:表⽰浏览的⽹页的名称,如果此外的内容不是你⽹站⽹页的名称,那就表⽰可能有⼈在⽤注

⼊式攻击对你的⽹站进⾏测试。如:“/msadc/......../winnt/system32//c+dir”这段格式的⽂字出现在浏览的⽹页后⾯就表⽰有攻

击者尝试能否进⼊到你的系统⽬录下。

-80:表⽰服务器的端⼝。

-218.17.90.60:表⽰客户机的IP地址。如果在某⼀时间或不同时间都有⼤量的同⼀IP对⽹站的连接那你就要注意了。

Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.2;+.NET+CLR+1.1.4322):表⽰⽤户的浏览器的版本操作系统的版本信息

200:表⽰浏览成功,如果此处为304表⽰重定向。如果此处为404则表⽰客户端错误未找到⽹页,如果服务器没有问题但出现⼤量的404

误也表⽰可能有⼈在⽤注⼊式攻击对你的⽹站进⾏测试。

2、检测IIS⽇志的⽅法明⽩了IIS⽇志的格式,就可以去寻找攻击者的⾏踪了。但是⼈⼯检查每⼀条数据⼏乎是不可能的,所以我们可以

利⽤Windows本⾝提供了⼀个命令findstr。下⾯以寻找0511⽇⽇志中包含CMD字段为例演⽰⼀下它的⽤法。IIS⽇志路径已设为Dw3c

Cmd提⽰符下输⼊:findstr"cmd"回车。怎么同⼀个IP出现了很多,那你可要注意了!下⾯是我写的⼏个敏感字符,仅

供参考,你可以根据⾃⼰系统、⽹页定制⾃⼰的敏感字符,当然如果你根据 这些字符作⼀个批处理命令就更⽅便了。 cmd'..;

andwebconfigglobal

如果你感觉findstr功能不够直观强⼤,你可以AutoScanIISLogFilesV1.4⼯具。它使⽤图形化界⾯⼀次可以检测多个⽂件。下载地址:

如果你感觉这些IIS⽇志中的信息记录还不够多,那么你可以做⼀个隐藏⽹页,凡是登陆到⽹站上都会先定向到该⽹页,然后你可以在该

⽹页中添加代码,获取⽤户的IP、操作系统、计算机名等信息。并将其输⼊到数据库中,这样即使⼀个攻击者使⽤动态的IP只要他不换系

统,即使删除了IIS⽇志,你也可以把他找出来。

三、通过查看安全⽇志检测是否有成功的⼊侵如果你你启⽤了登陆事件、策略更改、账户登陆、系统事件的成功失败的审核,那么任何

成功的⼊侵都将在安全⽇志中留下痕迹

推荐的作法:

1、建议每天最少检查⼀次安全⽇志。 推荐重点检查的ID事件 529:登录失败,试图使⽤未知⽤户名或带有错误密码的已知⽤户名进⾏

登录。 528:⽤户成功登录到计算机上。 539:登录失败:登录帐号在登录尝试时被锁定。此事件表明有⼈发动密码攻击但未成功,因⽽导

致账户锁定

682:⽤户重新连接到⼀个已经断开连接的终端服务器会话上。终端服务攻击 683:⽤户在没有注销的情况下与终端服务器会话断开连

接。终端服务攻击

624:⼀个⽤户帐号被创建。 625:更改了⽤户账户类型 626:启⽤了⽤户账户 629:禁⽤了⽤户账户 630:删除了⽤户账户以上5个事

件可能是⼀个攻击者试图通过禁⽤或删除发动攻击时使⽤的账户来掩盖他们的踪迹。

577:⽤户试图执⾏受到权限保护的系统服务操作。 578:在已经处于打开状态的受保护对象句柄上使⽤权限。 577578事件中详细信息

中特权说明 SeTcbPrivilege特权:此事件可以表明⼀个⽤户通过充当操作系统的⼀部分来试图提升安全权限,如⼀个⽤户试图将其账户添加

到管理员组就会使⽤此特权 SeSystemTimePrivilege特权:更改系统时间。此事件可表明有⼀个⽤户尝试更改系统时间

SeRemoteShutDownPrivilege:从远程系统强制关闭 SeloadDriverPrivilege:加载或卸载驱动程序 SeSecurityPrivilege:管理审计和安全

⽇志。在清除事件⽇志或向安全⽇志写⼊有关特权使⽤的事件是发⽣ SeShutDownPrivilege:关闭系统 SeTakeOwnershipPrivilege:取得

⽂件或其他对象的所有权.此事件可表明有⼀个攻击者正在通过取得⼀个对象的所有权来尝试绕过当前的安全设置

517:⽇志事件被清除或修改。此事件可以表明⼀个攻击者企图通过修改或删除⽇志⽂件来掩盖他们的踪迹 612:更改了审计策略。此事件

可以表明⼀个攻击者企图通过修改审计策略来掩盖他们的踪迹如为了掩盖删除⽇志⽂件的踪迹他可能先关闭系统事件的审核。

2、通过筛选器来查看重要性事件⽅法:点击事件查看器窗⼝中的查看菜单,点击筛选,点击筛选器,定义⾃⼰的筛选选项,确定即

可。

3、在查看完成之后备份事件⽅法:点击事件查看器窗⼝中的操作菜单,点击导出列表,选择保存路径和⽂件名,如果保存类型选择

⽂本⽂件(制表符分隔),将会保存为⽂本⽂件。如果保存类型 选择了⽂本⽂件(逗号分隔),将会保存为Excel⽂件。当然也可以选

择另存⽇志⽂件。如果感觉这样保存⿇烦也可以使⽤微软的resourceKit⼯具箱中的配合计划任务可以实现定期备份系统⽇志。

4、删除检查过的⽇志⽂件,⽇志⽂件越少越容易发现问题。

5、配合系统⽇志程序⽇志检测可疑内容

6、使⽤EventCombMT⼯具 EventCombMT是⼀个功能强⼤的多线程⼯具,它可同时分析许多服务器中的事件⽇志,为包含在搜索条件

中的每⼀台服务器⽣成⼀个单独的执⾏线程。利⽤它你可以定义 要搜索的单个事件ID或多个事件ID,⽤空格分格定义⼀个要搜索的事件ID

围。如:528>ID<540 将搜索限定为特定的事件⽇志。如:只搜索安全⽇志 将搜索限定为特定的事件消息。如:成功审计 将搜索限制为特定

的事件源。搜索事件说明内的特定⽂本。 定义特定的时间间隔以便从当前⽇期和时间向后扫描注:要使⽤该⼯具您需要安装

WindowsServer2003ResourceKitTools.安装完成后在命令提⽰符下输⼊EventCombMT即可下载地址:= 9d467a69-57ff-4ae7-96ee-

b18c4790cffd&DisplayLang=en

四、通过端⼝检测⼊侵攻击

端⼝是攻击者最喜欢的进⼊的⼤门,所以我们要养成查看端⼝的习惯

1、通过netstat命令。CMD提⽰符下 netstat-ano:检测当前开放的端⼝,并显⽰使⽤该端⼝程序的PID netstat-n:检测当前活动的连接如

果通过以上命令发现有不明的端⼝开放了,不是中了⽊马就是开放新的服务。 处理⽅法:打开任务管理器,在查看菜单下选择列,勾选

PID,点击确定。然后根据开放端⼝使⽤的PID在任务管理器中查找使⽤该端⼝的程序⽂件名。在任务管理器杀掉该进程。如果任务管理器

提⽰杀不掉,可以使⽤ntsd命令,格式如下:c:>ntsd-cq-pPID。如果使⽤该PID的进程不是单独的程序⽂件⽽是调⽤的Svchostlsass(现在

有很多⽊马可以做到这⼀点)。那么需要你有很志业的知识才能查找到。我的经验是下⾯的⼏种⽅法配合使⽤

在服务中查找使⽤Svchostlsass的可疑服务。在命令提⽰符下输⼊tasklist/svc可以查看进程相关联的 PID和服务。 利⽤Windows优化

⼤师中的进程管理去查找Svchostlsass中可疑的.dll。检查System32下最新⽂件:在命令提⽰符sytem32路径下输⼊dir/od 利⽤hijackthis

具可以查出系统启动的程序名和dll⽂件.下载地址:

发现可疑的dll后如果不知道是否为病毒⽂件去Google

2、使⽤ActivePort软件 ActivePort软件安装后⽤的是图形化界⾯,它可以显⽰所有开放的端⼝,当前活动的端⼝,并可以将端⼝、进

程、程序名路径相关联。并且可以利⽤它来中断某个活动的连接

五、通过进程监控可疑程序如果发现不正常的进程,及时杀掉,如果在任务管理器中⽆法杀掉可以去查找可疑的服务,将服务关闭后再

杀,当然也可以在提⽰符下利⽤ntsd命令。格式为:ntsd-cq-pPID

六、利⽤(serviceMonitoringTool)监视已安装的服务

这个⼯具可以⽤来监视本地或者是远程计算机服务的状态改变,当它发现⼀个服务开始或者是停⽌的时候,这个⼯具将会通过发e-mail

或者是ExchangeServer来通知你知道。要想使⽤这个⼯具需要安装ResourceKit。但是去MS的⽹站= 9d467a69-57ff-4ae7-96ee-

b18c4790cffd&DisplayLang=en下载的ResourceKit安装后没有找到这个⼯具,其实还有很多⼯具这个ResourceKit没有。可能这是⼀个简单

ResourceKit包。后来⼜安装了2003 光盘上的SupportTools也没找到它。我使⽤了2000 ResourceKit安装光盘,安装后,在2003上⼀样

可以使⽤。不过我⽤了后发现系统会不稳定,所以最好找2003ResourceKit安装光盘。这个⼯具由两部分组成,在你安装好

ResourceKit后,默认的位于C:ProgramFilesResourceKit ⽂件夹下,你要将其拷贝到%SystemRoot%System32下,然后在命令提⽰符下

输⼊Smconfig将打开配置向导。是图形界⾯,注意在ExchangeRecipients那⾥添如你要提醒的⽤户的Email。其他的 按照指⽰做就可以了。

如果发现有不正常的服务可以使⽤ResourceKit中的移除服务使⽤格式:instsrvservicenameRemove

七、检测System32下的系统⽂件在安装好系统后和安装新的软件后对System32⽂件夹做备份,然后⽤COMP命令定期检查该⽂件的内

容查找可疑的⽂件夹或⽂件。COMP命令的使⽤格式为:命令提⽰符下 COMPdata1data2/L/C data1指定要⽐较的第⼀个⽂件的位置和名称。

data2指定要⽐较的第⼆个⽂件的位置和名称。 /L显⽰不同的⾏数。 /C⽐较⽂件时不分ASCII字母的⼤⼩写。 注:MSWinDiff⼯具可以图

形化⽐较两个⽂件

⼋、利⽤来监视已安装的驱动程序现在有的攻击者将⽊马添加到驱动程序中,我们可以通过MS提供的Drivers⼯具来进⾏检

测。在运⾏此⼯具的计算机上,此⼯具会显⽰安装的所有设备驱动程序。该⼯具的输出包括⼀些信息,其中有驱动程序的⽂件名、磁盘上驱

动程序的⼤⼩,以及链接该驱动程序的⽇期。链接⽇期可识别任何新安装的驱动程序。如果某个更新的驱动程序不是最近安装的,可能表⽰

这是⼀个被替换的驱动程序。注:⼯具在MS的的⽹站下载的WindowsServer2003ResourceKitTools中也没有这个⼯具我是使⽤

2000的。

九、检查本地⽤户和组这个想来不⽤说太多,⼤家都知道的了,需要注意的⼀点是,如果使⽤命令⾏的netuser来查看,将⽆法查看到隐

藏的⽤户(即⽤户名后加了$的),所以最好使⽤管理单元来查看所有⽤户。

⼗、检查⽹页⽂件,特别是有与数据库连接的⽂件的⽇期,现在有的攻击者⼊侵后会在⽹页代码中留下后门,所以如果⽇期发了变化,

那就要注意查看了。

⼗⼀、附Server2003EnterpriseEdition安装IISSQL2000后默认启动的服务、进程、端⼝ 1、已启动的服务 AutomaticUpdate

COM+EventSystemComputerBrowserCryptographicServicesDHCPClient DistributedfileSystemDistributedlinkTracking

DistributedtransactionDNSClient ErrorReportingEventlogHelpAndSupportsIPSECServicesLogicalDiskManager

NetworkLocationplugandplayPrintSpoolerRemoteProcedureCallRemoteRegistry SecondaryLogonSecurityAccounts

ServerSystemEventNetificationTaskScheduler TCP/IPNetBIOSTerminalServicesWindowsInstaller

WindowsManagementInstrumentation WindowsTimeWirelessConfigWorkstation

以下为安装IIS(只有WEB服务)后新加的启动的服务 AddServiceCom+systemapplicationHttpSSLIISAdminService

networkconnectionsprotectedstorageshellhardwarewordwideweb

以下为安装SQL2000后新增加的已启动的服务 MicrosoftSearchNTLMSecurityMSSQLServer

2、已启动的进程 ctfmon:adminwpabaln:adminexplorer:adminwmiprvsedfssvcmsdtc:networkservice sploolsvlsass

conime:adminservices

svchost:7个其中localservice2个、networkservice1个、winlogoncsrsssmss

systemsystemidleprocess。共计:22个进程,其中adminnetworkservicelocalservice表⽰⽤户名未注明的为System⽤户

以下为安装IIS后新增加的进程 wpabaln:admininetinfo

以下为安装SQL后新增加的进程 mssearchsqlmangrwowexecadminsqlservr

3、已开启的端⼝ TCP:13544510251026139 udp44550010274500123

以下为安装IIS后新增加的端⼝ tcp:808759注意8759这个端⼝是第⼀次安装后⾃动选择的⼀个端⼝,所以每台机会不同

以下为安装SQL后新增加的端⼝

tcp:1433 udp:681434

如果启⽤防⽕墙后将开启以下端⼝ TCP300130023003 UDP30043005

写在最后

⼩伙伴们,您是否还对近期发⽣的勒索软件全球肆虐事件⼼有余悸呢?是否还未⾛出本周繁复的系统检查与补救阴霾呢?这让我突然想起了上

个⽉底和⼤家分享过的⼀篇原创⽂章--《安全事件应急响应新思路》。说那是⼀语成谶也好,安全事件的新常态也罢,反正安全攻击这

杀⼿可没有假期哦。依稀记得我在那⾥以五步流程的⽅式提出了实现安全事件管控的整体框架。那么,这⼀次就让我CISSP的名

,来深⼊地给⼤家讲解⼀下在⾯对可疑的信息安全⼊侵事件时,如何采取的实际操作各个步骤和相关的知识点吧。想必⼤家都知道这么

⼀个道理吧:没有⼈只是通过阅读钢琴谱,就能够学会弹钢琴的。所以,我强烈建议您:⼀边阅读本⽂,⼀边动动⼿指头来跟着操作⼀番

吧。

第⼀阶段:基础与准备

1. 确保能够以最直接的物理访问⽅式登录到可疑的系统上进⾏各种取证操作。

2. 断开可疑系统与外界的任何⽹络以及USB⽅式的连接。

3. 准备好⽤于对物理硬盘进⾏扫描和镜像的各种⼯具。

4. 事先识别出系统处于正常⽹络和服务状态的特征,并有相关知识储备。在安全之处(如配置管理数据库)存放相关⽂件,并记录着系统中所

有正常活动所⽤到的端⼝,以及各种进程的特征列表。其中,在Windows⾥以:服务名端⼝号进程名的对应格式,⽽Unix/Linux⾥则

可以是:端⼝号数据流规则map形式。在必要时,可以将其与可疑系统的当前状态做⽐较。

5. 识别出系统处于正常服务状态时所⽤到的系统级别的特有服务与相关技术(如系统⾃带的VPN服务)。必要的时候,可以事先向Windows

Unix/Linux专家咨询或是从⽹上获取相关知识与经验。

6. 如果企业较⼤,所有⽤户的操作系统(特别是Windows)应被统⼀的镜像⽂件所安装。所有被预安装的应⽤程序及其版本号等信息,都应当被

记录在案。考虑到可能增加的任何不安全的进程与服务,不允许⽤户擅⾃安装的软件。

7. 另外,对于安装有Unix/Linux的服务器系统,其所有的重要⽂件(特别是SUIDGUID⽂件)列表同样应当被编录到⽂件中。在必要时,可

以将其与可疑的SUID⽂件做⽐对检查。

总之,我们对系统的清洁状态越了解、掌握得越全⾯,我们就越容易越及时地检测出那些正在进⾏的异常活动。

第⼆阶段:识别与检查

由于这次我们针对讨论的是操作系统,⽽众所周知⼀般分WindowsUnix/Linux两⼤阵营,因此我将采⽤并⾏⽐较的⽅式来逐步展开和推

进。⼤家可以操起吃饭的家伙了。对,是电脑+键盘!不是饭碗+筷⼦哦!

1. ⾮正常账号的检查

· 对于Windows

运⽤C:> 或是C:> net localgroup administrators命令来检查是否有被Administrators所创建的⾮正常的账号。

· 对于Unix/Linux

查看/etc/passwd/etc/group/etc/shadow⾥的可疑条⽬,特别是那些UID 0的。

运⽤# find / ( -nouser -o -nogroup ) -print命令来查看哪些在攻击中被删除的账号所遗留的孤独⽂件(orphaned files)

2. ⾮正常⽂件的检查

· 对于Windows

考虑到系统可能被⼀些⾮法⽂件所滥⽤,应运⽤⾼级查找或特殊⼯具来扫描系统中⼤于10MB的⽂件,并逐⼀进⾏甄选。

检查新近增加的⾮正常的系统⽂件,特别是在C:WINDOWSsystem32下的。

运⽤C:> dir /S /A:H命令来检查具有隐藏属性的各种⽂件。

运⽤“windirstat”之类的⼯具来获知各类⽂件在硬盘上所占的空间⽐例。

· 对于Unix/Linux

运⽤# find / -uid 0 ( –perm -4000 –o –perm 2000 ) –print命令来检查所有SUIDGUID⽂件。

运⽤如下命令来检查所有以“. ”or “.. ” or “ ”开头的⾮正常的⽂件名。

# find / -name “ *“ –print

# find / -name “. *“ –print

# find / -name “.. *“ –print

运⽤# find / -size +10MB –print命令来查找⼤于10MB 的⽂件。

运⽤# lsof +L1命令来查找那些不再关联(unlinked)的⽂件的各种进程。

检查/proc/tmp⽬录下是否存在⾮正常的⽂件,特别是/tmp⽬录可能会被攻击者⽤来存放数据和恶意的⼆进制⽂件。

3. ⾮正常注册表项的检查

运⽤“HiJackThis”之类的⼯具扫描Windows的如下注册表项,以检查是否有在启动时⾃动运⾏的⾮正常的程序。

HKLMSoftwareMicrosoftWindowsCurrentVersionRun HKLMSoftwareMicrosoftWindowsCurrentVersionRunonce

HKLMSoftwareMicrosoftWindowsCurrentVersionRunonceEx

检查账号的开始⽬录(Startup folder),以及如下⾃动运⾏(Autostart folder)⽬录。

C:Documents and SettingsuserStart MenuProgramsStartup

C:WinNTProfilesuserStart MenuProgramsStartup

4. ⾮正常进程与服务的检查

· 对于Windows

运⽤C:> tasklist命令,以及“psexplorer”之类的⼯具来检查所有的,特别是⽤户名为“SYSTEM”“ADMINISTRATOR”的,

⾮正常的或未知的进程。

运⽤C:> C:> net start命令来检查已安装和开启的⾮正常的⽹络服务。

· 对于Unix/Linux

运⽤# chkconfig –list命令来检查所有开启的服务。

运⽤# ps –aux命令来查看所有正在运⾏的进程;对于未知进程,可⽤到 lsof –p [pid] 命令。特别关注运⾏在UID 0下的那些进程。

5. ⾮正常⽹络活动的检查

· 对于Windows

运⽤C:> net view 127.0.0.1命令,以及“tcpview”之类的⼯具来检查各个⽂件的共享,及其共享⽤途。

运⽤C:> net session命令来检查本机上已经开启的各种会话。

运⽤C:> net use命令来检查在本机上被其他系统所开启的各种会话。

运⽤C:> nbtstat –S命令来检查任何可疑的Netbios连接。

运⽤C:> netstat –na 5命令(这⾥的5代表每5秒钟刷新⼀次),以及“fport”之类的⼯具来检查本机各个端⼝上的任何可疑活动。另外,如果增

-o的参数,如C:> netstat –nao 5,还能看到各个进程的所有者。

· 对于Unix/Linux

检查内核⽂件的“kernel: device eth0 entered promiscuous mode”来确认⽹卡是否处于混杂模式,从⽽发现局域⽹络中出现的⾮正常的IP

地址。

运⽤# netstat –nap # lsof –i命令来检查各个进程的侦听端⼝和⾮正常的端⼝活动。

运⽤# arp -a命令来检查局域⽹中的⾮正常的MAC地址记录。

6. ⾮正常计划任务的检查

· 对于Windows

运⽤C:> schtasks命令来检查计划任务列表中的⾮正常的条⽬。

· 对于Unix/Linux

检查/etc/⽂件⾥的⾮正常条⽬,以及运⽤# crontab -u root –l命令来罗列出那些被UID 0的账号(root)所设置⾃动运⾏的任务。

运⽤# cat /etc/crontab# ls -la /etc/cron.*命令来检查各种系统级别的计划任务。

7. ⾮正常⽇志条⽬的检查

· 对于Windows

运⽤C:> 命令来检查⽇志⽂件中是否有可疑条⽬。

运⽤“Event Log Viewer”之类的⼯具来查看与防⽕墙、防病毒软件、⽂件保护以及新的可疑服务有关的事件。特别注意那些⼤量的登录失败

和被锁账号的⽇志条⽬。

· 对于Unix/Linux

运⽤catgrep命令的组合(例如:cat /var/log/httpd/ | grep "GET /")来检查存放在/var/log下的各种⽇志⽂件。这⾥给⼤

家罗列⼀下,该⽬录下不同类型⽇志⽂件的功能,当然熟悉的朋友可以直接略过:

/var/log/message: 通⽤的系统消息

/var/log/: 认证⽇志

/var/log/: 内核⽇志

/var/log/: 计划任务⽇志

/var/log/maillog: 邮件服务器⽇志

/var/log/httpd/: Apache 访问与错误⽇志⽬录

/var/log/: 系统启动⽇志

/var/log/: MySQL 数据库服务器⽇志

/var/log/secure: 认证安全⽇志

/var/log/utmp /var/log/wtmp: 登录记录⽂件

检查来⾃本地和远程访问⼯具(sshdftpd)所记录的、⼤量的认证和登录失败的⽇志条⽬。

检查各个远程过程调⽤(RPC)程序的⽇志⾥所包含的具有⼤量奇怪字符的条⽬。

检查Apache的⽇志⾥所包含的⼤量“error”的条⽬。

检查各种硬件和软件的重启⽇志。

运⽤# dmesg命令来检查系统各个内核⽇志⽂件⾥的可疑事件;并⽤# lsmod# lspci来列出重要的内核与系统信息。

8. 恶意软件的检查

· 对于Windows,可组合使⽤“Rootkit Revealer”“Rootkit Hooker”“Ice Sword”“Rk Detector”“SysInspector”“Rootkit Buster”等⼯具。

· 对于Unix/Linux,则可使⽤“rkhunter”之类的⼯具。

第三阶段:取证与补救

还记得那⾸《见或不见》的⼩诗吗?可惜的是各种攻击者的⼊侵证据可不像诗中的爱那样:你查,或者不查,证据就在那⾥,不增不减。我

们⼀旦确认的⼊侵之后就要迅速、⽴刻、马上⽤正确的⽅式进⾏取证和系统的补救。其中要注意如下⼏点:

1. 对被攻击系统的硬盘采⽤⽐特级别(bit by bit)的物理全盘拷贝。

· 对于Windows,可以使⽤EnCaseddrescure等磁盘克隆⼯具。

· 对于Unix/Linux则可以使⽤Sleuth KitAutopsy之类的取证⼯具。

2. 运⽤Memoryzewin32dd之类的⼯具,对被攻击系统的内存⾥的数据进⾏复制,以便进⼀步的分析。

3. 在适合的情况下,安装针对操作系统和应⽤程序的各种修复补丁,以堵上那些尚未被攻击者所使⽤到的漏洞,以及再次可能被利⽤的漏

洞。

4. 根据检查结果和准备阶段的记录,恢复所⽤被改动过的⽂件。例如Windows上的,以及Unix/Linux/bin/su下的各个⼆进制⽂

件等。

⼩结

我⾝边的搞信息安全的朋友们经常慨叹:为什么看过这么多安全的道理,却依然过不好系统运维与事件处理的职场⼈⽣呢?其实我个⼈觉得

咱们有时候与⼈家的⽆故障系统之间就差着⼀份勤奋和坚持。如果我们能够勤给系统打补丁、坚持对系统做检查、勤对蛛丝马迹进⾏分析

的话,很多⼀般性的⼊侵都会被拒之门外的。好了,希望这次有关操作系统⽅⾯的安全⼊侵应对实务能够帮助您打通任督⼆脉、疏通思路

经⾻,哥会在下⼀次给您带来更多⼲货的。