Linux主机被入侵后的处理惩罚案例
一、 一次Linux被入侵后的阐明
下面通过一个案例先容下当一个处事器被rootkit入侵后的处理惩罚思路和处理惩罚进程,rootkit
进攻是Linux系统下最常见的进攻手段和进攻方法。
1 受进攻现象
这是一台客户的派别网站处事器,托管在电信机房,客户接到电信的通知:由于此处事器一连对外发送数据包,导致100M带宽耗尽,于是电信就割断了此处事器的网络。此处事器是Centos5.5版本,对外开放了80、22端口。
从客户哪里相识到,网站的会见量并不大,所以带宽占用也不会太高,而耗尽100M的带宽是绝对不行能的,那么极有大概是处事器蒙受了流量进攻,于是登录处事器做具体的检测。
2 劈头阐明
在电信人员的共同下通过互换机对该处事器的网络流量举办了检测,发明该主机确实存在对外80端口的扫描流量,于是登录系统通过“netstat –an”呼吁对系统开启的端口举办查抄,可奇怪的是,没有发明任何与80端口相关的网络毗连。接着利用“ps –ef”、“top”等呼吁也没有发明任何可疑的历程。于是猜疑系统是否被植入了rootkit。
为了证明系统是否被植入了rootkit,我们将网站处事器下的ps、top等呼吁与一个同版本可信操纵系统下的呼吁做了md5sum校验,功效发明网站处事器下的这两个呼吁确实被修悔改,由此断定,此处事器已经被入侵而且安装了rootkit级此外后门措施。
3 断网阐明系统
由于处事器不断向外发包,因此,首先要做的就是将此处事器断开网络,然后阐明系统日志,寻找进攻源。可是系统呼吁已经被替换掉了,假如继承在该系统上执行操纵将变得不行信,这里可以通过两种要领来制止这种环境,第一种要领是将此处事器的硬盘取下来挂载到别的一台安详的主机长举办阐明,另一种方法就是从一个同版本可信操纵系统下拷贝所有呼吁到这个入侵处事器下某个路径,然后在执行呼吁的时候指定此呼吁的完整路径即可,这里回收第二种要领。
我们首先查察了系统的登录日志,查察是否有可疑登录信息,执行如下呼吁:
more /var/log/secure |grep Accepted
通过对呼吁输出的查察,有一条日志引起了我们的猜疑:
Oct 3 03:10:25 webserver sshd[20701]: Accepted password for mail from 62.17.163.186 port 53349 ssh2
这条日志显示在10月3号的破晓3点10分,有个mail帐号从62.17.163.186这个IP乐成登录了系统,mail是系统的内置帐号,默认环境下是无法执行登录操纵的,而62.17.163.186这个IP,颠末查证,是来自爱尔兰的一个地点。从mail帐号登录的时间来看,早于此网站处事器蒙受进攻的时间。
接着查察一下系统暗码文件/etc/shadow,又发明可疑信息:
mail:$1$kCEd3yD6$W1evaY5BMPQIqfTwTVJiX1:15400:0:99999:7:::
很明明,mail帐号已经被配置了暗码,而且被修改为可长途登录,之所以利用mail帐号,意料大概是因为入侵者想留下一个隐蔽的帐号,以利便日后再次登录系统。
然后继承查察其他系统日志,如/var/log/messages、/var/log/wtmp均为空文件,可见,入侵者已经清理了系统日志文件,至于为何没有清空/var/log/secure文件,就不得而知了。
4 寻找进攻源
到今朝为止,我们所知道的环境是,有个mail帐号曾经登录过系统,可是为何会导致此网站处事器一连对外发送数据包呢?必需要找到对应的进攻源,通过替换到此处事器上的ps呼吁查察系统今朝运行的历程,又发明白新的可疑:
nobody 22765 1 6 Sep29 ? 4-00:11:58 .t
这个.t措施是什么呢,继承执行top呼吁,功效如下:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
22765 nobody 15 0 1740m 1362m 1228 S 98.3 91.5 2892:19 .t
从输出可知,这个t措施已经运行了4天阁下,运行这个措施的是nobody用户,而且这个t措施耗损了大量的内存和cpu,,这也是之前客户反应的网站处事器异常迟钝的原因,从这个输出,我们获得了t措施的历程PID为22765,接下来按照PID查找下执行措施的路径在那边:
进入内存目次,查察对应PID目次下exe文件的信息:
[[email protected] ~]# /mnt/bin/ls -al /proc/22765/exe
lrwxrwxrwx 1 root root 0 Sep 29 22:09 /proc/22765/exe -> /var/tmp/…/apa/t
这样就找到了历程对应的完整措施执行路径,这个路径很隐蔽,由于/var/tmp目次默认环境下任何用户可读性,而入侵者就是操作这个裂痕在/var/tmp目次下建设了一个“…”的目次,而在这个目次下埋没着进攻的措施源,进入/var/tmp/…/目次,发明白一些列入侵者安排的rootkit文件,列表如下:
[[email protected] ...]#/mnt/bin/ls -al
drwxr-xr-x 2 nobody nobody 4096 Sep 29 22:09 apa
-rw-r--r-- 1 nobody nobody 0 Sep 29 22:09 apa.tgz
drwxr-xr-x 2 nobody nobody 4096 Sep 29 22:09 caca
drwxr-xr-x 2 nobody nobody 4096 Sep 29 22:09 haha
-rw-r--r-- 1 nobody nobody 0 Sep 29 22:10 kk.tar.gz
-rwxr-xr-x 1 nobody nobody 0 Sep 29 22:10 login
-rw-r--r-- 1 nobody nobody 0 Sep 29 22:10 login.tgz
-rwxr-xr-x 1 nobody nobody 0 Sep 29 22:10 z
通过对这些文件的阐明,根基判定这就是我们要找的措施进攻源,个中:
1)、 z措施是用来排除系统日志等相关信息的,譬喻执行:
./z 62.17.163.186
这条呼吁执行后,系统中所有与62.17.163.186有关的日志将全部被排除去。
2)、在apa目次下有个后门措施t,这个就是之前在系统中看到的,运行此措施后,此措施会自动去读apa目次下的ip这个文件,而ip这个文件记录了各类ip地点信息,意料这个t措施应该是去扫描ip文件中记录的所有ip信息,进而获取长途主机的权限,可见这个网站处事器已经是入侵者的一个肉鸡了。
3)、 haha目次内里安排的就是用来替换系统相关呼吁的措施,也就是这个目次下的措施使我们无法看到操纵系统的异常环境。
4)、login措施就是用来替换系统登录措施的木马措施,此措施还可以记录登录帐号和暗码。
5 查找进攻原因
到这里为止,处事器上蒙受的进攻已经根基清晰了,可是入侵者是如何侵入这台处事器的呢?这个问题很重要,必然要找到入侵的来源,才气从基础上封堵裂痕。
为了弄清楚入侵者是如何进入处事器的,需要相识下此处事器的软件情况,这台处事器是一个基于java的web处事器,安装的软件有apache2.0.63、tomcat5.5,apache和tomcat之间通过mod_jk模块举办集成,apache对外开放80端口,由于tomcat没有对外开放端口,所以将问题会合到apache上面。
通过查察apache的设置发明,apache仅仅处理惩罚些静态资源请求,而网页也以静态页面居多,所以通过网页方法入侵系统大概性不大,既然裂痕大概来自于apache,那么实验查察apache日志,也许能发明一些可疑的会见陈迹,通过查察access.log文件,发明白如下信息:
62.17.163.186 - - [29/Sep/2013:22:17:06 +0800] "GET http://www.xxx.com/cgi-bin/awstats.pl?configdir=|echo;echo;ps+-aux%00 HTTP/1.0" 200 12333 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-BR; rv:1.8.1) Gecko/20121010 Firefox/2.0"