当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > UNIX应急响应攻略

Unix/Linux
如何在linux下面运行招商银行专业版
Windows和Linux系统共存 完美解决方案
Linux 和对称多处理应用程序介绍
Red Hat Linux 附加引导和内核引导选项
Linux 2.6.11内核文件IO系统调用详解
走向高手之路 Linux系统内核技术解读
菜鸟乐园 Linux系统内核代码特色一览
Linux内核和传统Unix内核的比较
内核中的物理内存分配函数kernel api
使用 Linux 系统调用的内核命令
详细解析 Linux内核的主要配置选项
内核操作 Linux2.6内核驱动移植参考
Linux内存中Swap和Buffer Cache机制
高手进阶 更换Fedora Core 6的内核
高手风范 Linux操作系统内核编码风格
Linux操作系统内核中工作队列的操作
揭开Linux系统内核调试器的神秘面纱
系统“大挪移” Linux服务器迁移大法
高手进阶 重新编译Linux操作系统的内核
Ubuntu系统关于驱动模块命令的一些使用

Unix/Linux 中的 UNIX应急响应攻略


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 158 ::
收藏到网摘: n/a

别人的文章,收藏。。。应急响应有一半是非技术的内容,制定一个合理的响应策略是至关重要的!
/*<<黑客防线>>2003/12上的策略篇是该文的简易缩略版,以下为完整版*/★UNIX应急响应攻略********************************author:ayazero **mail:[email protected] **homepage:overflow.nease.net **team:www.ph4nt0m.net ********************************Last update 2004/05/28应急响应有一半是非技术的内容,制定一个合理的响应策略是至关重要的!记住:现在开始对受害系统的每一步操作都可能改变已存在的证据或是导致敏感信息的丢失!}目标:在进行司法鉴定复制之前获得系统中的易失数据,初步确定突发事件概况。==============创建响应工具包==============我们调查系统,必须以高度可信赖的程序执行命令,再加上备份与修复,创建一个工具包是很有必要的。即使在非UNIX/LINUX系统上,创建工具包也应该作为响应的第一步。首先,我们需要在对应体系结构的系统上编译响应期间需要的工具,且编译程序需要考虑系统兼容的问题。通常我们需要如下的工具:ls dd des file pkginfofind icat lsof md5sum ncnetstat pcat perl ps stracestrings truss df vi cat kstat ifconfig chkrootkitmore gzip last w rmscript bash modinfo lsmod 读者可根据自己的需要自行添加,但是一个工具包通常只能用来完成对某一特定平台的工作,把对多个平台编译的工具放进同一个工具包反而会显得紊乱。在Linux上创建响应工具包时,可以用gcc的–static参数编译源代码,或者用ldd检查动态连接库,在响应工具包存储介质上建立库文件目录,并拷贝所有工具需要的动态连接库的副本,最后设置环境变量。这个过程有点类似于创建一个Linux的优盘启动盘。============获取易失数据============易失的数据包括:当前打开的套接字,进程列表,RAM内容,非链接文件的位置。*unix特性: unix允许进程正在执行时将其删除!非链接文件是访问该文件的进程中止时被标记为删除的文件。当系统关闭时(正常关机或突然断电非正常关机),标记为删除的文件都将消失。因此在找到被标记为删除的文件之前不能关机!=================执行可信赖的shell=================使用我们自己准备的响应工具包,装载该介质的文件系统,mount –t auto /dev/sda1 /mnt/usb 或mount –t iso9660 /dev/cdrom /mnt/cdrom按下Ctrl+Alt+F1~F6,从控制台以root身份登陆。请一定要区分原环境变量中的命令和当前响应工具包的相同名字的命令集,防止潜在的二进制特洛伊木马攻击。==================查看登陆系统的用户==================[root@ay4z3ro foo]# w19:50:48 up 43 min, 2 users, load average: 0.00, 0.00, 0.00USER TTY LOGIN@ IDLE JCPU PCPU WHATroot :0 19:08 ?xdm? 11.10s 0.43s gnome-sessionroot pts/0 19:08 1.00s 0.21s 0.01s w输出标题行显示了当前系统时间,该系统已运行的时间,当前登陆用户数,最近1分钟,5分钟和15分钟内的平均系统负载。USER字段显示当前登陆的用户名。TTY字段显示了会话的控制终端,tty表示从控制台登陆,pts/typ则可以表示通过一个网络连接,因为X是个C/S模式的应用程序,所以我在GNOME下开的shell窗口显示为pts。如果不从本地登陆,输出中还有FROM字段,表示建立会话的源地址的域名或IP。LOGIN@显示该连接的本地开始时间。IDLE字段显示了自上一个进程运行以来的时间长度。JCPU显示与tty或pts关联的全部进程所使用的时间。PCPU字段显示了WHAT列中当前进程所使用的CPU时间。WHAT列显示用户当前运行的进程。================查看系统进程列表================Solaris中使用ps –eaf,而在FreeBSD和Linux中则使用ps –aux.[root@ay4z3ro foo]# ps auxUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.1 0.2 1356 496 ? S 19:07 0:04 initroot 2 0.0 0.0 0 0 ? SW 19:07 0:00 [keventd]root 3 0.0 0.0 0 0 ? SWN 19:07 0:00 [ksoftirqd_CPU0]root 4 0.0 0.0 0 0 ? SW 19:07 0:00 [kswapd]root 5 0.0 0.0 0 0 ? SW 19:07 0:00 [bdflush]root 6 0.0 0.0 0 0 ? SW 19:07 0:00 [kupdated]root 7 0.0 0.0 0 0 ? SW< 19:07 0:00 [mdrecoveryd]root 11 0.0 0.0 0 0 ? SW 19:07 0:00 [kjournald]root 114 0.0 0.5 2108 1304 ? S 19:07 0:00 devfsd /devroot 209 0.0 0.0 0 0 ? SW 19:07 0:00 [khubd]root 338 0.0 0.0 0 0 ? SW 19:07 0:00 [kjournald]rpc 620 0.0 0.2 1496 520 ? S 19:07 0:00 [portmap]root 636 0.0 0.2 1452 624 ? S 19:07 0:00 syslogd -m 0…………………(以下省略)Ps命令输出中的START字段显示了程序开始运行的时间,对于查出攻击时间很有帮助。有时仅通过时间就能识别可疑进程。Linux下还可以通过strings –f /proc/[0-9]*/cmdline来查看系统中运行进程的完整命令行参数,但是这个并不完全可信。因为攻击者甚至不需要插入内核模块,而只在应用层的编码中加入语句就能欺骗我们。===============检测LKM Rootkit=============== 内核模块后门,还有什么比这个更臭屁的呢?Solaris,Linux和几乎所有的UNIX