Solaris服务器防范rootkit攻击攻略

2008-06-13 14:21:32.0     推荐:0    收藏:0    评论:0     来源:e800解决方案频道

一、rootkit的定义

  rootkit这个术语已经存在10多年了。它是由有用的小型程序组成的工具包,使得攻击者能够保持访问计算机上具有最高权限的用户“root”。换句话说,rootkit是能够持久或可靠地、无法检测地存在于计算机上的一组程序和代码。在上述rootkit定义中,关键词是“无法检测”。rootkit所采用的大部分技术和技巧都用于在计算机上隐藏代码和数据。例如,许多rootkit可以隐藏文件和目录。rootkit的其它特性通常用于远程访问和窃听——例如,用于嗅探网络上的报文。当这些特性结合起来后,它们会给安全带来毁灭性的打击。

  要取得一个主机的控制权,最简单的当然就是以登录程序(如 login, ssh, telnet 等) 加上猜测密码的程序来尝试进行登入的行为。不过,由于登入程序大部分都有登入次数的限制,因此使用密码猜测程序就不这么流行了。高级的黑客为了系统网络的安全,会撰写一些程序去测试自己主机的服务漏洞, 并且在发现了某些服务的漏洞之后,会通报该服务的维护团体,或者是贡献自己的修补方式,以补足自己系统的安全性。而服务开发/维护团体在接到这样的通报之后,会在最短的时间内进行程序修改, 并且在因特网上面进行通报与释出该漏洞的修补程序。

  然而在这个漏洞通报出来之后,与修补程序释出Sun空窗期,某些恶意的黑客就会针对这样的漏洞进行攻击,这些黑客同样是撰写程序来攻击该漏洞,同时取得被攻击主机的控制权,或者是植入木马程序在受攻击的主机上。 这些黑客与高级黑客不同的地方,在于他们会很骄傲的将攻击的成果贴在一些黑客常上的网站,藉以推销自己,同时,也会将他们撰写的恶意程序散播到互联网上面。 有些黑客就会将这些恶意程序收集起来,做成软件包,并使这些程序包更加流行于互联网上面, 这些恶意的程序包就被称为 rootkit 。

  二、rootkit 的类型

  我们可将unix和Linux下的 rootkit 分为两大类:应用层级rookit 和内核级别rootkit

  1.应用层级 rootkit

  应用层级 rootkit 是最常被拿来使用的 rootkit。攻击者以 rootkit 中的木马程序来替换系统中正常的应用程序与系统文件。木马程序会提供后门给攻击者并隐藏其踪迹,攻击者做的任何活动都不会储存在纪录文件中。下面列举了一些攻击者可能取代的文件:

  隐藏攻击者踪迹的程序

  (1)ls, find, du - 木马程序可以隐藏攻击者文件、欺骗系统,让系统的文件及目录泄露讯息。

  (2)ps, top, pidof - 这些程序都是程序监看程序,它们可以让攻击者在进行攻击的过程中,隐藏攻击者本身的程序。

  (3)netstat - netstat 是用来检查网络活动的连结与监听,如开放的通讯端口等等

  。木马程序 netstat 可以隐藏攻击者的网络活动,例如 ssh daemon 或其它服务。

  (4)killall - 木马程序 killall 让管理者无法停止程序。

  (5)ifconfig - 当监听软件正在执行时,木马程序 ifconfig 不会显示 PROMISC flag,这样可以隐藏攻击者,不被监听软件察觉。

  (6)crontab - 木马程序 crontab 可以隐藏攻击者的 crontab 进入情况。

  (7)tcpd, syslogd - 木马程序 tcpd 与 "syslog" 不会纪录攻击者的行为。

  后门程序

  (1)chfn - 提升使用者的权限。执行 chfn,在输入新使用者名称时,只要输入 rootkit 密码,就可以取得 root 的权限。

  (2)chsh - 提升使用者的权限。执行 chsh,在输入新 shell 时,只要输入rootkit 密码,就可以取得 root 的权限。

  (3)passwd - 提升使用者的权限。执行 passwd,在输入新密码时,只要输入rootkit 密码,就可以取得 root 的权限。

  (4)login - 能够纪录任何使用者名称,包含 root 登入的密码。

  (5)bd2 - 木马程序 rpcbind 允许攻击者在受害主机上执行任意程序代码。

  木马程序程序

  (1)inetd - 木马程序 inetd 可以替攻击者打开远程登入的通讯端口,只要输入密码就可以取得 root 的权限。

  (2)rshd - 替攻击者提供远程的 shell。

  (3)rsh - 透过 rsh 可以取得 root 的密码。

  (4)sshd -攻击者以特定账号密码登入就能拥有 root shell 的权限。

  监听程序

  (1)linsniffer - linux 小型的监听程序。

  (2)sniffchk - 这个程序可以检验与确认网络监听程序是否正在执行。

  (3)le - Solaris Ethernet 封包的监听程序。

  (4)snif - linux 其它封包的监听程序。

  (5)sniff-10mb - 这是一个设计来监听 10mbps Ethernet 的监听程序。

  (6)sniff-100mb - 这是一个设计来监听 100mbps Ethernet 的监听程序。

  其它种类-

  (1)fix - 安装木马程序时 (例如:ls) 更改的时间戳记与检验封包值的讯息。

  (2)wted - wtmp 的编辑程序。可让攻击者修改 wtmp。

  (3)z2 - 移除 wtmp/utmp/lastlog。

  (4)bindshell - 把 rootshell 与某个通讯端口结合在一起。(预设埠号为 31337)

  (5)zap3 - 攻击者会从 wtmp, utmp, lastlog, wtmpx 和 utmpx 移除他们的踪迹

  。zap3 通常根据下列目录来找寻纪录文件的位置,例如 /var/log, /var/adm,

  /usr/adm, 与 /var/run。

[第1页]   [第2页]   [第3页]   [第4页]   [第5页]   [下一页]
您可以针对本文进行:[评论]  [收藏]  [推荐]  
  • 共有0条评论  点击查看更多评论
  • 网友评论仅供网友表达个人看法,并不表明e800同意其观点或证实其描述
我想发表评论:
用户名密码
  • 匿名发表
    验证码: