首页 | Linux 基础 | 资讯动态 | Linux 应用 | Linux 服务器 | Linux 开发 | Linux 安全 | 专题 | 联盟论坛
  当前位置:主页>Linux 应用>文章内容
UNIX系统应急响应工具上(初级)
来源:www.unix5.com 作者:riechelr_hl 发布时间:2007-05-21  


  可能在入侵事件之前,你已经在系统上花费了大量时间。你了解这些系统的里里外外,进行了相当多的文档工作,并且做了备份。在系统上,开启了进程审计(或者*BSD的系统审计),进行了系统实时数据(sadc[8])来保存系统的性能数据。管理日志的时候,可能没有足够的空间来频繁存储这些数据,你可以发送syslog数据到安全的日志服务器上。

你接到webmaster的电话,他发现某个web服务器上CPU负载很高,而这个服务器每天的浏览量仅仅几千而已。webmaster确信服务器存在有什么问题。
  vmstat 和 mpstat (只在*BSD系统上) 表明CPU被用户空间的一个或者多个进程消耗掉了,但是内存和I/O子系统还没有大量使用。 iostat 也显示出磁盘系统不正常。

$ vmstat  1 4
   procs                      memory    swap          io     system         cpu
r  b  w   swpd   free   buff  cache  si  so    bi    bo   in    cs  us  sy  id
1  0  0    376   7756  29772 570960   0   0     7     3  441   397  87   5   8
5  0  0    376   6728  29772 570960   0   0     0     0  498  1249 100   0   0
6  0  0    376   7240  29772 570960   0   0     0     0  652  1563  97   3   0
6  0  0    376   7604  29772 570960   0   0     0     0  536  1323  97   3   0
$ mpstat 1 4
20:51:21     CPU   %user   %nice %system   %idle    intr/s
20:51:22     all  100.00    0.00    0.00    0.00    479.00
20:51:23     all  100.00    0.00    0.00    0.00    496.00
20:51:24     all  100.00    0.00    0.00    0.00    499.00
20:51:25     all   97.00    0.00    3.00    0.00    481.00
Average:     all   98.00    0.60    1.40    0.00    486.60
$ iostat -dk 1 4
Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
dev3-0            0.00         0.00         0.01         73       1296
dev3-0            0.00         0.00         0.00          0          0
dev3-0            0.00         0.00         0.00          0          0
dev3-0            0.00         0.00         0.00          0          0



  sar (*BSD的sa) 显示CPU从早些晚上 03:17 就开始被使用。 lastcomm 显示FTP客户端在03:17以root运行了几次, last 这个命令显示最近的登录,没有显示出这个时间段有 root 从什么地方登录进来。另外,这个服务器又使用 sudo来管理root权限。这里有两个系统管理员账号可以用 root登录,但是他们并没有登录过,特别是在 AM 3这个时间附近。根据这一点,你决定使用CD上准备好的二进制工具。现在运行 top -d1,并且发现apache这个进程占用了100%的CPU。
  现在用 grep 检查apche的错误日志,这个GNU工具可以有更多有用的参数,-A, -B和-C 可以让你指定想从哪一个匹配的行的开始,之前或者周围看。 grep可以通过-E 来使用扩展的模式匹配表达式。可以检查系统日志。但是并没有在这些日志里面检查到什么奇怪的地方。
  现在继续进行检查。运行 ps -eflcyL (Solaris 9),ps -eflcym --headers (Deb3.0, RH8.0)或者 ps auwxhkwvl(OBSD 3.2)。找到进程 apache,而这一次发现有问题了。这里只有一个apache进程和多个httpd进程。httpd实际上是Apache服务器,因为httpd是在apachectl文件执行的二进制,运行的apache是前派生的,因此,如果二进制文件被重命名为"apache",那么也应该有多个进程存在。这就是问题所在。
  使用 lsof -p [9] ,发现这个apache进程打开了一个叫 john.pot 的文件。立刻通过google,查询这是一个叫“John the Ripper”的密码破解工具,正是这个东西让CPU满负荷了。
  现在来检查这个所谓的apache程序。通过 file apache,表明这个文件是ELF可执行的。现在进行进一步的挖掘,执行 readelf -a apache,确信这是一个ELF可执行程序。 od -xc apache | less 现实ELF魔法数字(7f454c46),ldd显示apache连接的共享对象库比实际的httpd进程小一些,这里面一定有文章:

$ ldd ./apache
        libc.so.6 => /lib/libc.so.6 (0x4001f000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
$ ldd /usr/sbin/httpd 
        libm.so.6 => /lib/libm.so.6 (0x7002c000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x700c4000)
        libdb.so.2 => /lib/libdb.so.2 (0x70100000)
        libdb2.so.2 => /lib/libdb2.so.2 (0x70120000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0x70180000)
        libdl.so.2 => /lib/libdl.so.2 (0x701b4000)
        libc.so.6 => /lib/libc.so.6 (0x701c8000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x70000000)



执行: strings | grep -i john,显示如下:


共3页: 上一页 [1] 2 [3] 下一页
 

如果您对本文有任何疑问或者建议,请到论坛讨论区发表您的意见: >> 论坛入口
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
  热点文章
·Linux系统调用列表(详解)
·MBR如果被覆盖了怎麽办?
·Linux系统下用户和用户组所有权
·Linux操作系统下配置IPTables方
·linux应用技巧集囊(新手遍)
·Linux操作系统配置基础祥解:GRU
·Linux循序渐进 进程管理及作业控
·Linux操作系统Gaim玩转QQ与MSN--
·Linux内存映射技术
·UNIX系统操作入门篇
·linux系统管理--从头开始对ubunt
·Linux操作系统的动态函式库详细
  相关文章
·判定一个Unix系统受到入侵(中级)
·用LIDS增强Linux操作系统安全详
·Linux操作系统的基准安全详细清
·Linux系统中内部和外部安全性概
·Linux循序渐进 进程管理及作业控
·精彩分享:Linux系统下使用aMsn
·Linux 的带宽管理系统
·怎样才能提高Linux系统安全性能
·简述 Linux 文件系统的目录结构
·Unix 操作系统常见故障恢复技巧
·Linux系统在存储技术中的几项应
·UNIX系统操作入门篇

本站信息源至:互联网络,均为学习,交流所用,如有版权问题,请联系我们.
站长QQ:397422079 E_mail:riechelr_hl@unix5.com
转载本站内容请注明原作者名.谢谢!