分类: LINUX
2008-05-23 14:44:53
来源: |
|
下面我们介绍一个非常典型的针对Linux系统的LRK版本6。Linux Rootkit 6是一个开放源码的rootkit,经过多年的发展,Linux Rootkit的功能越来越完善,具有的特征也越来越多。下面我们简单地介绍一下Linux Rootkit包含的各种工具。 首先是隐藏入侵者行踪的程序。为了隐藏入侵者的行踪,Linux Rootkit IV的作者可谓煞费心机,编写了许多系统命令的替代程序,使用这些程序代替原由的系统命令,来隐藏入侵者的行踪。这些程序包括: ls、find、du 这些程序会阻止显示入侵者的文件以及入侵者文件占用的空间。在编译之前,入侵者可以通过ROOTKIT_FILES_FILE设置自己的文件所处的位置,默认是/dev/ptyr。注意如果在编译时使用了SHOWFLAG选项,就可以使用ls -/命令列出所有的文件。这几个程序还能够自动隐藏所有名字为:ptyr、hack.dir和W4r3z的文件。 ps、top、pidof 这几个程序用来隐藏所有和入侵者相关的进程。 netstat 隐藏出/入指定IP地址或者端口的网络数据流量程。 killall 不会杀死被入侵者隐藏的进程。 ifconfig 如果入侵者启动了嗅探器,这个程序就阻止PROMISC标记的显示,使系统管理员难以发现网络接口已经处于混杂模式下。 crontab 隐藏有关攻击者的crontab条目。 tcpd 阻止向日志中记录某些连接。 syslogd 过滤掉日志中的某些连接信息。 其次是后门程序。木马程序可以为本地用户提供后门;木马网络监控程序则可以为远程用户提供inetd、rsh、ssh等后门服务,具体因版本而异。随着版本的升级,Linux Rootkit IV的功能也越来越强大,特征也越来越丰富。一般包括如下网络服务程序: chfn 提升本地普通用户权限的程序。运行chfn,在它提示输入新的用户名时,如果用户输入rookit密码,他的权限就被提升为root。 chsh 提升本地用户权限的程序。运行chsh,在它提示输入新的shell时,如果用户输入rootkit密码,他的权限就被提升为root。 passwd 和上面两个程序的作用相同。在提示你输入新密码时,如果输入rookit密码,权限就可以变成root。 login 允许使用任何帐户通过rootkit密码登录。如果使用root帐户登录被拒绝,可以尝试一下rewt。当使用后门时,这个程序还能够禁止记录命令的历史记录。 inetd 特洛伊inetd程序,为攻击者提供远程访问服务。 rshd 为攻击者提供远程shell服务。攻击者使用rsh -l rootkitpassword host command命令就可以启动一个远程root shell。 sshd 为攻击者提供ssh服务的后门程序。 再就是工具程序。所有不属于以上类型的程序都可以归如这个类型,它们实现一些诸如:日志清理、报文嗅探以及远程shell的端口绑定等功能,包括: fix 文件属性伪造程序。 linsniffer 报文嗅探器程序。 sniffchk 一个简单的bash shell脚本,检查系统中是否正有一个嗅探器在运行。 login 允许使用任何帐户通过rootkit密码登录。如果使用root帐户登录被拒绝,可以尝试一下rewt。当使用后门时,这个程序还能够禁止记录命令的历史记录。 z2 utmp/wtmp/lastlog日志清理工具。可以删除utmp/wtmp/lastlog日志文件中有关某个用户名的所有条目。不过,如果用于Linux系统需要手工修改其源代码,设置日志文件的位置。 bindshell 在某个端口上绑定shell服务,默认端口是12497。为远程攻击者提供shell服务。 (4)netcat 这是一个简单而有用的工具,能够通过使用TCP或UDP协议的网络去读写数据。它被设计成一个稳定的后门工具,能够直接由其它程序和脚本轻松驱动。同时,它也是一个功能强大的网络调试和探测工具,能够建立你需要的几乎所有类型的网络连接,还有几个很有意思的内置功能。 2、查找Linux下的蛛丝马迹:日志工具 对于高明的攻击者来说,进入系统后,还应自己的“蛛丝马迹”并清除这些痕迹,自然就要了解一些日志工具了。 (1)logcheck logchek 可以自动地检查日志文件,定期检查日志文件以发现违反安全规则以及异常的。它先把正常的日志信息剔除掉,把一些有问题的日志保留下来,然后把这些信息 email 给系统管理员。logcheck 用 logtail 程序记住上次已经读过的日志文件的位置,然后从这个位置开始处理新的日志信息。logcheck 主要由下面几个主要的文件: logcheck.sh 可执行的脚本文件,记录logcheck检查那些日志文件等,我们可以把它加入crontab中定时运行。 logcheck.hacking 是logcheck 检查的模式文件。和下面的文件一起,按从上到下的顺序执行。这个文件表明了入侵活动的模式。 logcheck.violations 这个文件表示有问题,违背常理的活动的模式。优先级小于上面的那个模式文件。 logcheck.violations.ignore 这个文件和上面的logcheck.violations的优先是相对的,是我们所不关心的问题的模式文件。 logcheck.ignore 这是检查的最后一个模式文件。如果没有和前三个模式文件匹配,也没有匹配这个模式文件的话,则输出到报告中。 Logtail 记录日志文件信息。 Logcheck首次运行时读入相关的日志文件的所有内容,Logtail会在日志文件的目录下为每个关心的日志文件建立一个logfile.offset 的偏移量文件,以便于下次检查时从这个偏移量开始检查。Logcheck执行时,将未被忽略的内容通过邮件的形式发送给 logcheck.sh 中 系统管理员指定的用户。 (2)logrotate 一般Linux 发行版中都自带这个工具。它可以自动使日志循环,删除保存最久的日志,它的配置文件是 /etc/logrotate.conf,我们可以在这个文件中设置日志的循环周期、日志的备份数目以及如何备份日志等等。在/etc/logrotate.d目录下,包括一些工具的日志循环设置文件,如syslog等,在这些文件中指定了如何根据/etc/logrotate.conf做日志循环,也可以在这里面添加其他的文件以循环其他服务的日志。 (3)swatch swatch 是一个实时的日志监控工具,我们可以设置感兴趣的事件。Swatch 有两种运行方式:一种可以在检查日志完毕退出,另一种可以连续监视日志中的新信息。Swatch提供了许多通知方式,包括email、振铃、终端输出、多种颜色等等。安装前,必须确保系统支持perl。swatch 软件的重点是配置文件swatchmessage,这个文本文件 swatch 需要监视什么日志,需要寻找什么触发器,和当触发时所要执行的动作。当swatch发现与swatchmessage中定义的触发器正则表达式相符时,它将执行在 swatchrc中定义的通知程序。 当然,上面所介绍的软件只是Linux大海中的几只美丽的贝壳,随着越来越多的用户加入到Linux大军中,我们相信,的Hack也将越来越多,这反过来也将促进Linux操作系统逐步走向成熟,我们拭目以待。 |