离上一节整整一个月了,我这才把下节给补起来。上节写完时感觉还有好多没说,可是等过了这么一段时间后,我连当时保存的现场证据都快找不到了。不管怎样,还是把第一次写的系列篇迅速地划个句号吧。
上次讲到发现了若干个木马根据地,但如果是用简单的’rm’命令,是根本不能将其删除的(什么?你是root?即便你是foot,你也无法将其踢掉!)。是的,root也不能。为啥呢?root在u*ix系统中不都是万能的么?要啥有啥,要没啥,啥就没。是的,可root也能给自己加个限制,用来防止自己的误操作。这要用到ext2/3文件系统的一个特性”file attribute”。
以前初中时,学到一招很管用的办法,不让别人把自己的文件无意中删除。当然,那是在DOS下。用”attrib +h filename”就能让文件隐藏了”,同理”attrib -h filename”就是将隐藏的重新显示出来。这么个特性,在linux中怎么会缺席呢?下面我简单介绍下今天要用到的两个工具:lsattr和chattr。
lsattr和chattr它们俩是linux系统下用于的控制ext2/3文件系统家族特殊属性的组件,并且已经成为了e2fsprogs包中的一部分了。它们可以用来显示或修改文件的一系列属性:文件访问时间、安全删除、不可删除、只可追加、同步更新等。更详细地移步维基百科词条chattr。
闲话扯太多了,回正题。上节提到在”/usr/lib/”下发现可疑目录libsh,使用root权限进行rm,却不能将其删除。后来使用”sudo lsattr libsh”查看了该目录下的文件状态,结果如下:
s—ia——- libsh/.owned
s—ia——- libsh/.bashrc
s—ia——- libsh/.backup
s—ia——- libsh/.
s—ia——- libsh/utilz
s—ia——- libsh/hide
s—ia——- libsh/.sniff
s—ia——- libsh/..
s—ia——- libsh/shsb
就是’s’, ‘i’, ‘a’这三个属性让rm不能成功执行,使用”sudo chattr -R -sia libsh”,即可将libsh连目录一起把‘sia’属性清除。然后就可以对它们肆意摧残了。
对’/lib/libso’目录操作方法同上,本来还想对这些目录下面的文件做些分析的,不过后来觉得挺无聊的,爱看不看吧。本文主要目的也就是介绍如何使用chattr来修改文件属性,结果硬生生地被我扯出了这么多字。还好不是去投稿,不然没人愿意收。
嗯,关于这次VPS安全事故的事情就写到这里算了。这个系列还会继续,不过会写点其它事情,像VPN搭建等,慢慢来吧。