« 修复被攻击的机器(一) | 首页 | google推出搜索移动版 »

June 18, 2005

修复被攻击的机器(二)

经过昨天一天的系统检查,可以说基本把机器修复完毕,因为跑着公司的业务,不敢轻易重装,只能一个个仔细的检查,不过这次让我吸取了不少教训。

经过初步分析,黑客的攻击大致如下
1.首先黑客扫描到服务器的Awstats统计软件的恶意代码注入漏洞,基本上6.4以下的版本都有这个漏洞,我的正好6.1,中招。

Awstats 官方提示为:

Warning, a security hole was recently found in AWStats versions from 5.0 to 6.2 when AWStats is used as a CGI: A remote user can execute arbitrary commands on your server using permissions of your web server user (in most cases user "nobody").
If you use AWStats with another version or is not available as a CGI, you are safe. If not, it is highly recommanded to upgrade to 6.4 version that fix this security hole and another less important one still present in 6.3.

关于此漏洞的说明及攻击可参考http://www.chovy.com/2005/02/simiens-crew-2005-how-they-did-it.html

2.通过此漏洞,黑客用一个shellcode远程上传一个恶意代码,然后远程执行程序,打开一个类似telnet的终端,我觉得我这次中招最大的失败是我没开防火前,以前一直使用iptables,由于调试的缘故,一直没开,本来要是开着的话,黑客即使开了终端也没法上来,因为除了几个重要的端口,基本上都被封了,失算呀:(

3.还好,这个黑客还算有职业道德,没破坏我服务器上的数据,这是我最欣慰的,毕竟这台服务器跑着公司最赚钱的业务,要是真的所有数据没了,老板非跟我急了。黑客通过shellcode打开一个终端后(等于绕开了我的ssh2+密匙)的验证,上传了一个ssh的扫描程序,以及一个类似irc的服务程序,用netstat查看为

tcp 0 0 0.0.0.0:4000 0.0.0.0:* LISTEN 25181/zbind。

然后潜伏好几天,就用我的机器开始他的异地跳板ssh扫描工作,采用的普遍是简单密码暴力破解方式。怪不得移动的idc近2个月经常抱怨我们的服务器流量巨增,估计是跑了很多线程扫描的缘故。

黑客的基本情况如此,当然细节还有很多,比如他把一些扫描程序或者服务程序都放在我们平时不大注意的目录,比如/tmp/, /dev/shm 甚至在那些目录建立非法的隐藏目录,一般用ls -la都没法看到的目录,幸亏我比较习惯使用mc,目录一目了然。也亏那黑客想得到放在shm目录,直接用内存,速度块呀!!!

4.了解黑客的基本情况后,就开始我的大扫除了:

a.首先当然是断掉所有的非法进程和网络服务,可以通过ps -aux 和 netstat -lnp --ip来看到一些非法的进程和网络服务

b.然后扫除那些黑客留下的非法程序,结合find命令查找就行,一查还不知道,这黑客居然留下这么多,这个查找还是挺累的,绝对锻炼你的耐心,并且要求你对系统文件结构有一定的了解,否则那个目录多出什么文件,你一般很难看出。最后查了后,我还是有点不放心,索性装了个Trend Micro ServerProtect for Linux ,通过它对服务器系统的全面扫描,又发现几个隐藏的文件,因为基本上黑客上传的文件都是带木马的,防病毒软件一查就可以查出来。

c.修改cron ,黑客以nobody用户修改了进程安排,删除掉,问我怎么发现的,嘿嘿,其实我发现黑客也是通过这个发现,因为我通过服务器配置了LogWatch,默认每天把系统的log通过邮件发送到我的指定邮箱。我发现黑客的那天就是发现cron突然多出一个我不知道的进程安排。看来这个黑客还是初级的,不知道去消除log日志中的非法操作,让我能每天看到。

d.当然是重新打开防火墙了,还是使用免费的系统自带的iptables,只打开系统自己要用的20,21,80,3306等端口,其他一律屏蔽,这样就给shellcode又防了一道门

e.删除系统多余的没用的帐号,特别是这次被利用的nobody,限制它的权限和bin

f.当然是升级造成这次攻击的漏洞源Awstats,赶快升级到6.4,另外Awstats用的是cgi,那就用.htaccess给Awstats的访问页面加口令,这样被攻击的可能性又减少不少。当然如果你觉得cgi不安全的话,或者你再也不想用Awstats的话,你完全可以把apache的cgi模块屏蔽掉,修改httpd.conf文件即可。

通过以上步骤的修复,服务器基本恢复到被攻击之前的状态,当然我还是心里没底,说不定黑客还在什么地方留了什么后门。未来几天我还得继续观察。

由 frank 发表于 June 18, 2005 12:11 PM

本网所有文章建立在 创作公用 协议下。版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及以上“创作共用”声明。

Trackback Pings

TrackBack URL for this entry:
http://blog.5ilinux.com/cgi-bin/mt-tb.cgi/11

发表评论




是否保存个人讯息?