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下:
ssh root@192.168.1.120 -p 20000
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

 

获取Linux权限后安装rootkit的更多相关文章

  1. 看完这篇 Linux 权限后,通透了!

    我们在使用 Linux 的过程中,或多或少都会遇到一些关于使用者和群组的问题,比如最常见的你想要在某个路径下执行某个指令,会经常出现这个错误提示 . permission denied 反正我大概率见 ...

  2. 解决kali linux 升级后安装w3af 问题

    1.在kali linux 下安装w3af 会出现很多问题,因为新版的kaliLinux ,以及python 环境的配置问题和 库的安装问题会出现很多报错 kali linux环境一般都自带git安装 ...

  3. ADB工具 获取ROOT权限及复制文件方法

    adb push d:\tm3_sqlit.db data/zouhao/tm3_sqlit.dbadb pull data/zouhao/tm3_sqlit.db d:\tm3_sqlit.db a ...

  4. Linux 最小化安装后IP的配置(手动获取静态IP地址)

    一.图形化界面配置(假设为电脑A) 如果你的Linux安装有图形化界面,那么通过以下方式来配置: 我这里是有两块网卡,第一个网卡在上篇中已经通过DHCP来配置了:Linux 最小化安装后IP的配置(D ...

  5. Linux 最小化安装后IP的配置(DHCP获取IP地址)

    图形化Linux的DHCP好配置,我就不讲了.主要将一下Linux最小化安装后IP的配置: linux最小化安装后没有ifconfig这个命令: yum install net-tools.x86_6 ...

  6. Debian普通用户获取root权限|sudo的安装与配置

    Debian系统的普通用户需要安装软件时,往往会收到“Permission denied”的提示,这时候需要root权限.那么如何在不登陆超级管理员账户的前提下拥有root权限呢?对于大多数Linux ...

  7. Linux普通用户安装配置mysql(非root权限)

    Linux普通用户安装配置mysql(非root权限) 说明:在实际工作中,公司内网的机器我们一般没有root权限,也没有连网,最近参考网上的资料使用一般的账户成功安装mysql,记录如下 Linux ...

  8. 提权后获取linux root密码

    提权后获取linux root密码 2011-09-09 10:45:25     我来说两句      收藏    我要投稿 在webbackdoor本身是root(可能性小的可怜)或通过某漏洞溢出 ...

  9. linux下Tomcat 安装后执行startup.sh,出现– Cannot find …bin/catalina.sh

    linux下Tomcat 安装后执行startup.sh,出现– Cannot find …bin/catalina.sh 是因为权限不够,执行以下命令就可以: chmod +x startup.sh ...

随机推荐

  1. java基础(5)-集合类1

    集合的由来 数组是很常用的一种数据结构,但假如我们遇到以下这样的的问题: 容器长度不确定 能自动排序 存储以键值对方式的数据 如果遇到这样的情况,数组就比较难满足了,所以也就有了一种与数组类似的数据结 ...

  2. python爬虫-url

    特此声明: 以下内容来源于博主:http://blog.csdn.net/pleasecallmewhy                                     http://cuiq ...

  3. 汇编笔记 CALL(1)

    assume cs:code code segment start: mov ax, ;将AX通用寄存器设0 call s inc ax s: pop ax ;将数据从桟中取出 code ends e ...

  4. QT QStringListModel 示例代码

    1.  QStringListModel , 实现 插入 删除 编辑 list,支持鼠标双击编辑. 2. dialog.h #ifndef DIALOG_H #define DIALOG_H #inc ...

  5. Spring中AOP的初窥和入门小案例

    AOP:面向切面编程 AOP的主要作用:是为了程序员更好的关注"业务",专心"做事" 加上双引号的意思:所谓业务,是指他的核心,各行业中需要处理的核心事务,核心 ...

  6. lambda 中if-elif-if

    一般情况下: if 条件1: 语句1 elif 条件2: 语句2 else: 语句3 但如果要使用lambda一行表示if多条件,则: lambda x: 语句1 if 条件1 else 语句2 if ...

  7. 2017-02-23 错误信息:未在本地计算机上注册“Microsoft.ACE.oledb.12.0”提供程序。

    问题如题,解决办法:去 http://download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b0da-1463960fdcdb/Access ...

  8. ipconfig | find /i "ipv4"

    C:\Users\Bob>ipconfig|find /i "IPv"   本地链接 IPv6 地址. . . . . . . . : fe80::d495:6e3:6368 ...

  9. 大视野 1012: [JSOI2008]最大数maxnumber(线段树/ 树状数组/ 单调队列/ 单调栈/ rmq)

    1012: [JSOI2008]最大数maxnumber Time Limit: 3 Sec  Memory Limit: 162 MBSubmit: 9851  Solved: 4318[Submi ...

  10. c#将DataTable内容导出为CSV文件

    写了个类: class DataTableAndCSV { public static DataTable csvToDataTable(string file) { string strConn = ...