安全:Unix操作系统入侵追踪反击战


  在Unix系统遭受入侵后,确定损失及入侵者的攻击源地址相当重要。虽然在大多数入侵者懂得使用曾被他们攻陷的机器作为跳板来攻击你的服务器可在他们发动正式攻击前所做的目标信息收集工作(试探性扫描)常常是从他们的工作机开始的,本篇介绍如何从遭受入侵的系统的日志中分析出入侵者的IP并加以确定的。

  1.messages

  /var/adm是UNIX的日志目录(linux下则是/var/log)。有相当多的ASCII文本格式的日志保存之下,当然,让我们把焦点首先集中在messages 这个文件,这也是入侵者所关心的文件,它记录了来自系统级别的信息。在这里,大量的日志记录对于我们是无用的。

  比如:

  Apr 25 21:49:30 2000 unix: Copyright (c) 1983-1997, Sun Microsystems, Inc.

  Apr 25 21:49:30 2000 unix: mem = 262144K (0x10000000)

  这样显示版权或者硬件信息的记录而:

  Apr 29 19:06:47 www login[28845]: FAILED LOGIN 1 FROM xxx.xxx.xxx.xxx ,

  User not known to the underlying authentication module

  这样的登录失败记录:

  Apr 29 22:05:45 game PAM_pwdb[29509]: (login) session opened for user ncx by (uid=0)因此第一步应该是 Kill -HUP cat `/var/run/syslogd.pid`(当然,有可能入侵者已经帮我们做过了,;-)那样我们得不到任何有用信息)

  在下面这个网址你可以找到大量的日志审计分析工具或者脚:

  http://www.securityfocus.com/templates/tools_category.html?category=2&platform=&path=[%20auditing%20][%2-0log%20analysis%20]

  2.wtmp,utmp logs,ftp日志

  你能够在/var/adm,/var/log,/etc目录中找到名为wtmp,utmp的文件,这记录着用户何时,何地telnet上主机,在黑客中最古老也是最流行的zap2(编译后的文件名一般叫做z2,或者是叫wipe)。 也是用来抹掉在这两个文件中用户登录的信息的,然而由于懒惰或者糟糕的网络速度(>3秒的echo就令人崩溃,而我经常遇见10 倍于此的回显时间 ),很多入侵者没有上载或编译这个文件,管理员所需要就是使用lastlog这个命令来获得入侵者上次连接的源地址(当然,这个地址有可能是他们的一个跳板)ftp日志一般是/var/log/xferlog,该文本形式的文件详细www.britepic.org的记录了以FTP 方式上传文件的时间,来源,文件名等等。不过由于该日志太明显,所以稍微高明些的入侵者几乎不会使用该方法来传文件。而使用rcp的较普遍些。当然你可以 # cat /var/log/xferlog | grep -v 202.106.147.来查看那些不应该出现的地址。

  3.sh_history

  在获得root 权限后,入侵者建立了他们自己的入侵帐号,更高级的技巧是给类似uucp,lp不常使用的系统用户名加上密码。在遭受入侵后,即使入侵者删除了。 sh_history或者。bash_hi-story 这样的文件,执行kill -HUP `cat /var/run/inetd.conf`即可将保留在内存页中的bash命令记录重新写回到磁盘,然后执行find / -name.sh_historyprint,仔细查看每个可疑的shell命令日志。尤其是当你在/usr/spool/lp(lp home dir),/usr/lib/uucp/(uucp home dir)这样的目录下找了。sh_history文件时。往往入侵者在需要目标机和工作机传送文件时为了避免被syslog,可能使用从目标机ftp到工作机的方法,因此在sh_history中你有可能发现类似ftp xxx.xxx.xxx.xxx或者rcpnobody@xxx.xxx.xxx.xxx:/tmp/backdoor /tmp/backdoor这样显示出入侵者IP或域名的命令。

  • 1
  • 2
  • 下一页

相关内容