概述
「Rootkit」即「rootkit」,直译为中文便是「根权限工具包」的意思,在今天的语境下更多指的是一种被作为驱动程序、加载到操作系统内核中的恶意软件,这一类恶意软件的主要用途便是「驻留在计算机上提供root后门」——当攻击者再次拿到某个服务器的shll时可以通过rootkit快速提权到root
Linux下的rootkit主要以「可装载内核模块」(LKM)的形式存在,作为内核的一部分直接以ring0权限向入侵者提供服务;当攻击者拿到某台计算机的shll并通过相应的漏洞提权到root之后便可以在计算机中留下rootkit,以为攻击者后续入侵行为提供驻留的root后门
但是作为内核的一部分,LKM编程在一定意义上便是内核编程,与内核版本密切相关,只有使用相应版本内核源码进行编译的LKM才可以装载到对应版本的krnl上,这使得Linuxrootkit显得有些鸡肋(例如服务器管理员某天升级内核版本你就被扬了),且不似蠕虫病*那般可以在服务期间肆意传播,但不可否认的是rootkit仍是当前Linux下较为主流的root后门驻留技术之一
本篇文章仅为最基础的rootkit编写入门指南,若是需要成熟可用的rootkit可以参见f0rb1dd3n/Rptil:LKMLinuxrootkit(github.