Linux下的Rootkit驻留技术分析
我们在start case中做些修改,使之在启动时执行我们的evil程序: 对于systemd,我们可以用更多手段实现驻留,甚至不需要root权限也可以:
以下是一个利用systemd服务文件的示例: systemctl --user enable service可以使服务随用户登录启动,systemctl enable service可以让服务随系统启动。
bashrc或者zshrc等文件会随着shell的运行而被执行,利用时只需在里面加入恶意的shell script即可。 常见位置:
示例如下:
如果目标主机有安装Xorg,我们也可以以下位置写入shell script实现rootkit驻留,不需要root权限。
任何应用程序都可能在启动时执行代码,而且它们很可能会执行用户home目录的rc文件。例如,我们甚至可以在vimrc里 写入vimscript来执行代码实现rookit的驻留,这同样不需要root权限。 一个可能的示例如下: 1.2 图形化环境的利用 虽然标准的服务器版Linux发行版是不会预装Xorg的,但还是存在相当一部分用户使用CentOS预装gnome2的版本作为服务器操 作系统。因此,基于gnome等桌面环境和Xorg的驻留有时候也是重要的而且会容易被忽略的手段。
/etc/xdg/autostart下的desktop文件会被主流桌面环境在启动时执行。一个可能的示例如下:
类似的,用户可以在自己的~/.config/autostart目录下加入需要自启动的desktop文件。 1.3 crond的利用 这是一个很常见的驻留点,但需要注意的是,很多恶意软件并不仅仅会把自己写入用户的crontab(如/var/spool/cron/root),它们会把自己写入软件包使用的crontab里面,如/etc/cron.d,这样更不容易引起用户注意。 1.4 替换文件 替换或者patch一些会被服务或用户本身执行的程序文件,以同时执行恶意代码,也是很常见的驻留方式。 我们可以方便的获取到开源项目的源码,进行修改,加上我们的恶意代码并重新编译,替换目标系统的相应文件。这样我们的代码就会随之执行。 下面我们修改openssh portable 7.9的源码,使之在特定条件下执行我们的代码: (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |