Unix应急响应流程_第1页
Unix应急响应流程_第2页
Unix应急响应流程_第3页
Unix应急响应流程_第4页
Unix应急响应流程_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Unix应急响应流程

■版本■密级内部

■发布专业服务部■日期

©2000-2023NSFOCUSINFORMATIONTECHNOLOGYCO.,LTD.

Windows应急响应流程

■适用性声明

本文档介绍了技术人员面对客户Unix系统出现安全事件后,采取的处理步

骤和流程:适用于技术支持人员的流程规范和约束。

©2023绿盟科技2/17

Windows应急响应流程

目录(Contents)

—.Unix应急响应....................................................4

二初始响应........................................................5

1.执行可信shell...................................................................................5

2.获取当前登录用户..........................................6

3.获取运行的进程.............................................6

4.获取开放端口和监听应用程序................................6

5.检查非法嗅探器(sniffer).....................................................................7

6.检测LKMRootkit..............................................................................7

7.检查/proc文件系统.........................................8

8.获取所有文件的创建,修改和访问时间........................9

9.获取系统H志..............................................9

10.获取重要的配置文件.......................................10

三.调查分析.....................................................11

1.日志分析.................................................11

2.进行关键字搜索............................................13

3.恢复被删除文件和数据.....................................13

4.检查特殊文件.............................................14

5.识别未经授权的用户帐号或组...............................15

6.识别非法进程.............................................16

7.勘衽系统弱点.............................................16

8.分析信任关系.............................................16

四.结论报告.....................................................17

©2023绿盟科技3/17

Windows应急响应流程

—.Unix应急响应

Unix作为服务器和高端工作站的操作系统,向来以稔定、强大著称。本文

提供了Unix系统下应急响应的具体方法和步骤。一般来说,Unix系统应急响

应可以分为两个步骤:初始响应和调查分析。

©2023绿盟科技4/17

Windows应急响应流程

二.初始响应

初始响应的耳标是获得系统断电之后将不复存在的易失的数据。易失的数

据包括:当前打开的套接字,进程列表,RAM内容,非链接文件的位置。

Unix系统中,非链接文件是访问该文件的进程中止时祓标记为删除的文件。

当系统关闭时(正常关机或突然断电非正常关机),标记为删除的文件都将消

失。因此在找到被标记为删除的文件之前不能关机。

1.执行可信shell

在应急响应过程中应确保正在执行一个可信的命令sheikUnixshell可能

遭到攻击者的特洛伊木马程序攻击,记录所有执行过的命令或管理员看不到的

恶意、有害操作。

因此必须载入(rroun。可信工具包并使用可信工具进行响应。可信工具包通

常包括如下的工具:

Lsdddesfilepkginfofindicat

IsofmdSsumncnetstatpeatoerlPS

stracestringstrussdfvicatkstat

ifconfigchkrootkitmoregziplastwrmscript

bashmodinfoIsmod

©2023绿盟科技5/17

NsFocusWindows应急响应流程

工具Uj•根据需要自行添加•但是一个工具包通常只能用来完成对某一特定平台

的工作,把对多个平台编译的工具放进同•个工具包反而会显笥紊乱。在Linux上

创建响应工具包时,可以用gcc的Cstatic参数编译源代码,或者用Idd检杳动态

连接库,在响应工具包存储介质上建立庠文件目录,并拷贝所有工具需要的动态连

接库的副本,最后设置环境变量。这个过程有点类似于创建一个Linux的优盘启动

盘。

下面是响应Linux系统时载入软盘驱动器的命令语法:

Mount/dev/fdO/mnt/floppy

该命令在装入点,mnt/floppy我入可信工具包。当改变目求到/mnt/floppy时.

将可以访问可信文件.

2.获取当前登录用户

确定当前登录用户只需执行w(who)命令。命令W将显示登录用户的用户

ID、从什么系统音录,以及当前在本系统中运行什么“使用w命令开始和结束

每次响应,可以识别在目标系统中执行操作的时间范围,以及收集证据时谁在

本系统上。

3.获取运行的进程

应急响应过程中取得所有运行的进程的快照非常重要。可以通过使用标准

的ps命令实现。不同的Unix版木,所得到的输出略有区别。

在Solaris系统中使用ps-eat.而在FreeBSD和Linux系统中则要使用

ps-aux.>

命令ps的输出中•个最重要的字段是START字段,该字段显示了进程的

开始时间,对「查出攻击发生的时间非常有帮助。

4,获取开放端口和监听应用程序

Nfttstat命令是查看Unix系统中开放端口的第一选择--Linux下.netstat

命令具有一个叩选项,将应用程序的名字和进程ID映射到开放端口。

Isof命令列举所有运行进程及其所打开的文件描述符。为使Isof只列举打

开网络套接字的进程,可以使用:

Isof-i

©2023绿盟科技6/17

NsFocusWindows应急响应流程

5.检查非法嗅探器(sniffer)

在系统上发现sniffer表明被入侵的不仅限于一个单独得系统,还意味着攻

击者具有超级用户权限。

为确定是否系统是否运行了suffer,必须查明网卡是否处于混杂模式。对

Linux系统,在命令行执行ifconfig命令,如果发现PROMISC这个字符串

标志,说明网络接口处于混杂(promise)模式,排除合法用户运行Sniffer程序

后,意味若有Sniffer后门程序在运行。如果是这样,立即执行命令Isof|grep

sock,对第五列TY〉E字段为sock那些输出行仔细检查,定出哪一个程序

在Sniffer。删除该程序消除后门。

对于Solaris系统,用下面的方法来查出是否有某个进程在进行网络监听,

它是正常运用还是后门程序。

ifconfig-a列山活动的网络接口

查出网络接口设备:

(root@unixhostj>Is-I/dev/hme*

Irwxrwxrwx1rootother29Oct91998

/dev/hme->../devices./pseudo/clone(a>0:hme

[root@unixhostj>Is-I/devices/pseudo/clone@0:hme

erw------1rootsys11,7Oct91998

/devices/pseudo/clone@0:hme

用Isof查看是否处「混杂模式

[root@unixhostj>Isof/grep"hme"snoop7988root3uVCHR

7,9OtO42?"Q/dpvicfif;/p<;piidn/clnnp(§)Ohmp->hufmnd->hmp

[root@/space/staff/unixhost]>Isof/grep"clone@0:hme"snoop7988

root3uVCHR7,2OtO423220

/devices/pseudo/clone@0:hme->bufmod->hme

"Isof|grep'**"有输出,说明有监听程序在运行,第一行的“snoop”是程

序名,进一步仔细查证,确定是否是后门程序。

6.检测JLKMRootkit

Solaris.Linux前几乎所有的UNIX都支持LKM(LoadadeKernelModules),

用普通的方法无法检测其存在,这给应急响应带来「极大的挑战性。对于我们

来说,解决的办法是找到那些Ikmrootkit,并熟悉,解剖他们。有时Ikmrootkit

虽然被成功装载,但在系统的某些细节上会出现“异常”,甚至可能使系统在运

©2023绿盟科技7/17

NsFocusWindows应急响应流程

行一段时间后彻底崩溃。还有\1km虽然活动在ring。核心态,但是攻击者往往

会在系统的某处留卜.痕迹,比如攻击者为了让系统每次关闭或里启后能自动装

入他安置的内核后门,可能々改写/etc/modules.conf或/etdrc.local。

kstat/ksec是检测1km非常方便的工具,前者用于Linux,后者用于*BSD.

[root@unixhosi]#./kstat

Usage:./kstat/-/iff][-P][-ppid][-M][-maddr][-s]

-iiffmaybespecifiedas'all'orasname(e.g.ethO)

displaysinfoaboutthequeriedinterface

■Pdisplaysallprocesses

•ppidistheprocessidofthequeriedtask

-Mdisplaysthekernel'sLKMs'linkedlist

-maddristhehexaddressofthequeriedmodule

displaysinfoaboutthemoduletobefoundataddr

-sdisplaysinfoaboutthesystemcalls'table

其中-s参数最有用,它显示了系统调用入口的信息,能检测市面上最流行

的knark和adore这两个内核后门,

但理论上它并不能检测出所行的Ikmrootkit.最新1km技术请参考:

SolarisLKMs:/groups/tha/sikm-1.0.html

LinuxLKM指南:

http://www.ddj.eom/articles/1995/9505/9505a/9505a.htm?topic=unix

Kstat/ksec站点:httD://www.sO

7.检查/proc文件系统

/proc文件系统是一个伪文件系统,用作到内核数据结构的接口。

在/proc/$PID/目录下对于蜩行比较有意义的是:exe涟接,fd子目录,

cmdline文件。

Exe链接允许我们恢复被删除的文件,只要这些文件仍然运行。为获得“已

删除"可执行文件的名份,只需要使用cp命令在该文件系统上创拜一个拷贝就

行。

通过检查fd子目录,可以识别该进程打开的所有文件。如果对unix环境

下的编程有所了解的话,很容易就能发现是在读写一个文件还是打开一个网络

连接

©2023绿盟科技8/17

NsFocusWindows应急响应流程

cmdline文件的内容是该进程的完整命令行。通常,当汨户运行ps命令时

显示该结果。以卜.语句是攻击者的欺骗手段,strcpy(argv[O],"any_string");

这样该文件就显示了一种假象,即使如此,我们仍有必要检查此文件。

8.获取所有文件的创建,修改和访问时间

使用1c命令获取文件系统中所有文件的创建,修改和访问时间。下面儿行

展示了如何获得时间,日期戳并将输出保存到usb盘匕

访问时间/s-aIRu>/mnt/usb/access

修改时间Is-aIRc>/mnt/usb/modification

创建时间Is-alR>/mnt/usb/creation

获得时间/口期戳(需要很长的时间),便可以更加自由的枪查文件,例如使用

find命令获取在某特定时间范围内访问、修改或创建的全部文件的列表。

9.获取系统日志

大多数UNIX的日志在/var/log和/var7adm目录下,各种UNIX派生系统

日志的具体位置有所不同。在此之前,有必要广解针对特定系统的日志存贮位

So

比较重要的二法制日志文件:

•utmp,用w工具访问:

•wtmp,用last工具访问;

•lastlog.JTJlastlog工具访问;

•进程记账日志,用astcomm_E具访问

常见的ASCH文本日志文件:

•apacheH^-/var/log/httpd./access_log:

•ftp口志一xferlog;

•命令历史记录文件;

•/var/log/messages;

捡j^/etc/syslog.conf以及其他守护进程的配置文件以确定其余口志的位

置。

©2023绿盟科技9/17

NsFocusWindows应急响应流程

10.获取重要的配置文件

Unix保存一些特定配置文件,攻击者常常会访问或修改这些文件。要检查各个

配置文件以查找后门位置、未授权的信任关系和未授权的用户ID,这点很重要。

下面列出所需获取的文件:

•/etc/passwd,行找未授权的用户帐号或权限

•/etc/shadow,确保每个帐号都要求密码认证

•/etc/groups.杳找权限的升级和访问范围的扩大

•/etc4iosts列出本地DNS条IJ

•/etc/hostsequiv检查信任关系

•-/.rhosts.检查基于用户的信任关系

•/etc/hostsallow和/etc/hosts.deny(TCPWrapper规则)

•/etc/syslog.conf,确定日志文件的位苴

•/etc/rc,检查启动文件

•Cronttab文件,歹ij出计划事件

•/etc/inetd.conf,列出监听的服务

©2023绿盟科技10/17

Windows应急响应流程

三.调查分析

在进行完初始响应,即保存了易失数据和相关信息后,下一步就要对系统展开

调查分析。关键步骤是:

•日志分析

•进行关键字搜索

•恢复被删除文件和数据

•检查特殊文件

•识别未经授权的用户帐号或组

•识别非法进程

•勘查系统弱点

•分析信任关系

这些步骤并不是按前后顺序或重要程度进行排列。对于每一个安全事件并不需

要采取所有步骤,采取的方法取决于特定的安全事件和响应的目的。

1.日志分析

Unix系统具有许多口志文件,这些日志文件在应急响应中可以提供重要的线索。

大多数UNIX的口志任/var/log和/var7adm目录下,各种UNIX派生系统门志的

具体位置有所不同。在此之前,有必要了解针对特定系统的H志存贮位置。

比较重要的二进制日志文件:

©2023绿盟科技11/17

Windows应急响应流程

•utmp,用w工具访问:

•wtmp,用last工具访问;

•lastlog,用lastlog工具访问:

•进程记账H志,用astcomm工具访问

常见的ASCH文本日志文件:

•apacheH;<L<-/var/log/httpd/accessJog:

•ftp日志一xferlog:

•命令历史记录文件;

*/var/log/messages;

Unix系统中,syslogd守护进程提供非常强大的日志功能,比如装载一个

内核模块的登记,其配置文件为/etc/syslog.conf,通常它提供的最有用的日志

是:messages,secuesyslog.在syslog.conf中每一行含有三个字段:facility

字段表示产生该日志文件的子系统:priority字段表明事件的严重级别:action

字段表明如何记录口志,它提供了远程网络记录的能力。

TCPwrapper日志也利用syslog记录,其中可能会有telnet,ssh,ftp等远

程受录的信息。这些U忑中有很多有价值的余日:尝试登陆的时间L1期,主机

名称,访问的服务类型,以及源IP地址。

其他的网络日志比如,web,ftp,sql通常自身都提供了较为详细的信息。

Apache默认日志在/usr/local,apache/logs,最用的日志近access」og,还Tf

ssl_request_log,ssl_engine_log也能提供有价值的信息。其中可能包含攻击前

的扫描记录。

Su命令日志,记录了每一次执行su命令的动作:时间日期,成功与否,

终端设备,用户ID.有些UNIX具有单•独的su日志,有些则保存在syslog中。

登陆用户日志:utmp或wtmp文件保存了有关当前登陪到系统的用户的信

息。此文件根据各UNIX版本的不同,名称及存储位置TF所差异。保存的基本

信息是用户名,用于登陆的终端以及登陆的时间。文件以二进制格式存储。查

询utmp,wtmp文件应使用适当的客户端,如w,who,fingerJast.检索成功,失败

与用户名未知的登陆条目。

Cron日忐记录/定时作业的内容,通常在/var/log/cror或默认日志目录中

一个称为cron的文件里。

进程记账,如果系统存在acct或pacct日志文件,则可使用lastcomm或

acctcom命令查看。该日志为二进制文件

大多数入侵者都会修改或删除日志,虽然理论上能够做到除种植1km

rootkit之外几乎不留任何痕迹,但在实际入侵中,善后工作实际上是个不小的

©2023绿盟科技12/17

NsFocusWindows应急响应流程

工程,不仅依赖入侵者对系统的熟知程度,而且当处理过多繁琐的内容时,疏

忽很容易出现。比如:刖得到rootshell«-JunsetHISTFILESIZE,退出时忘了复原,

留下一条痕迹。诸如此类的例子还有很多,n志清除工具是死的,它只会清除

预定义的项目,虽然你也能修改源码,但那样还是不能随机应变。最保险的方

法就是手工劳动,这样就加大了入侵者的负担。出于懒惰,对系统掌握程度不

够或是各种各样的原因往往还是会留下一些对•我们有价值的东西.所以,检查

日志对,应急响应来说非常重要。

2.进行关键字搜索

无论是对何种操作系统进行应急响应,关键字搜索都是该过程的•部分。

针对某个具体事件,可能会有一些ID,phrase与此事件密切相关,执行关键字

搜索可以找到更多的信息。关键字可以是很长的ASCII字符串,包括攻击者后

门密码,用户名,MAC地址或IP.

例:搜索整个文件系统中包含“password"字符串大小写形式的所有文件:

(root@uni>host]#grep-r-ipassword/

strings命令用于显示文件中的可打印字符,例如:srings/bin/login用于显

示login后门中的密码(未加密的明文,编码或加密后的散列)

Find命令用于寻找匹配常规表达式的任何文件名。

例:在整个文件系统中搜索名为"…”的文件或目录:

[root@unixhost]#find/-name-print

此外find命令可以匹配的特征还包括:修改访问时间,文件所布•者,文件

内的字符申,文件名的字符串等。Find命令还可以结合功能强大的-exec选项

的命令($ligrep,strings)一起使用。

3.恢复被删除文件和数据

这个过程需要操作者对unix/linux文件系统的体系结构有所了解,这里并

不打算去介绍文件系统的数据结构及其代码的实现,而是简单的说明一下,删

除个文件其实只是将inode节点的部分数据和指针置0.在下次数据凌盖以

前并没有将节点指向的数据块的内容删除。要想恢豆删除的文件,需要使用

inode节点的信息垂建文件大小和数据块列表。

找到文件节点信息:

[root@unixhost]^Is-i/tmp/x.d

©2023绿盟科技13/17

Windows应急响应流程

82241/tm^x.d

表明/tmp/x.d位于82241节点

TCT(TheCoroner'sTookit)是一个非常有用的工具包,其中的icat可以查

看指定节点上文件的全部内容。

[root@unixhostTCTJ#./icat/dev/hda582241

如果程序还在运行,可以使用Isof命令引用NODE栏查找节点信息。

恢友一个文件只需要:

[root@unixhostTCT]#./icat/dev/hda5NODE>some.recovery

TCT中还有很多有用的工具,例:

[root(g)unixhostTCT]#./Us-A/dev/hda5/grep750〃"

以上命令行找出与UID=501用户有关的所有被删除的文件.

TCT链》妾:http//forensics/

4.检查特殊文件

SUID和SGID文件:

[root@ay4z3ro〃#find/-typef(-perm-04000-o-perm-02000)

■execIs-lg0

从中查找那些原本不含有S位的,不寻常的或是被放在一个奇怪地方的S

位程序。把/bin/ksh改名后放在/tmp(777)目录下就是一种后门。

不常用的和隐藏的文件及目录:

UNIX系统中以1,开头的文件都是降藏的,如果Is不如"-a”参数就不会出

现在文件列表里,攻击者经常利用的还有:”…二用强敏字符对目录进行

重命名是一种黑客技巧,比如有的文件名是这样的:”,.叮“,”…“(注意三

个点后面有个空格)……这可以欺骗很多系统管理员。怎么办呢?如下:

[root@unixnost]ffIs-al"Icat-tve"

cat命令的参数让其显示非打印字符,显示制表符并在每个结尾放置一个

$,所以以上目录会显示为:"・・旺$",”…要进入前一个目录在T之前按下

CTRL+V,而不是用人符号,进入后一个目录则是:

[root(a)unixhostj^cd”…”

配置文件:

一个攻击者如果拥有相当熟练的系统管理技能,偷梁换柱,在配置文件中

做点手脚是很轻而易举的事°比如修改或添加/etc/services./etc/inetd.conf.不

过对于熟练的系统管理抗来说,这样的后门很容易发现。还有"就是某些exploit

©2023绿盟科技14/17

NsFocusWindows应急响应流程

的副产品,比如那个Solaris2.6的SadmindRPC远程溢出,默认的攻击程序

就是溢出后在/etc/inetd.conf添加•句伪造ingreslock服务把/bin/sh绑定在

1524端口。

启动文件:

上面的inetd.conf就是这类文件,除此之外还有cron文件,目录

/var/spool/cron,/usr/spool/cron用来为不同用户保存cron作业。该目录中的文

件以用户帐号命名,并且其中的任务以该用户特权运行。此目录下的root文件

应该是我们关注的。有人喜欢在半夜启动木马运行•个bindshell,然后过几个

小时又把开放的端口关闭。

/etc/rc*是开机自动运行脚本,也经常被攻击者利用。

剩下的还有用户启动文件,如login,profile,.bashrc,.cshrc,.exrc可能被

插入特洛伊语句。

/tmp目录:

/tmp目录的权限默认是777,这是攻击者经常利用的地方,很多黑客工具

也利用此目录存储中间文件,如果攻击者不小心,就会在此留下尾巴。

5.识别未经授权的用户帐号或组

有些账号是为系统而设,本来没有sh

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论