图 Solaris服务器防范rootkit攻击攻略

一、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;的权限 。

推荐阅读