logo头像

博学广问,自律静思

遭受恶意扫描下载zip攻击的惊险之旅

最近王柏元的博客颇不宁静,昨天已经是阿里云第三次发送主机资源超标耗用导致网站强行停机了:

我们抱歉地通知您,由于超标消耗系统资源,您在万网购买的虚拟主机免费版类型主机产品qxu10******3已关停。

  极客人无奈一次又一次手动重新启动主机,而阿里云免费主机一个月只能三次手动重启站点,这令我 是十分困惑。由于极客人使用的是阿里云免费虚拟主机,其配置都受到严格的限制,更自然不及一些独立的服务器,但是对小规模的博客网站还是绰绰有余的,而由于资源耗用过度这两个月才 出现的问题。而且这两个月我的网站访问量并没有比前几个月多出多少,而且还关闭了一些如百度云观测、神马搜索等机器人的访问,应该不存在访问量过多导致主机停机。所以资源超标耗用的问题着实 让我不解。

一、分析网站日志

网站日志是访问者访问网站时,网站自动记录访问时间、访问者IP、UA、HTTP请求类型、请求网址、来源网址以及返回的状态码。 通过阿里云给我发送的通知邮件中的日期时间, 我找到了三次主机停机最后时刻的相关网站日志。除了第一次停机时的网站日志没有异常外,第二次和第三次停机时的情况竟然“神奇”般地雷同。 QQ图片20150920142048

2015年9月19日14:10左右的网站日志

118.247.126.9 - - [19/Sep/2015:14:10:48 +0800] “HEAD /wwwroot.rar HTTP/1.1” 404 - “-“ “Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)” qxu10******53.my3w.com text/html “/usr/home/qxu10******53/htdocs/index.php” 533931
118.247.126.9 - - [19/Sep/2015:14:10:49 +0800] “HEAD /wwwroot.zip HTTP/1.1” 404 - “-“ “Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)” qxu109*****53.my3w.com text/html “/usr/home/qxu10******53/htdocs/index.php” 617184
118.247.126.9 - - [19/Sep/2015:14:10:49 +0800] “HEAD /\xd0\xc2\xbd\xa8\xce\xc4\xbc\xfe\xbc\xd0.rar HTTP/1.1” 404 - “-“ “Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)” qxu10******53.my3w.com text/html “/usr/home/qxu10******53/htdocs/index.php” 756708
118.247.126.9 - - [19/Sep/2015:14:10:50 +0800] “HEAD /\xd0\xc2\xbd\xa8\xce\xc4\xbc\xfe\xbc\xd0.zip HTTP/1.1” 404 - “-“ “Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)” qxu10******53.my3w.com text/html “/usr/home/qxu10******53/htdocs/index.php” 672073
118.247.126.9 - - [19/Sep/2015:14:10:51 +0800] “HEAD /www.rar HTTP/1.1” 404 - “-“ “Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)” qxu10******53.my3w.com text/html “/usr/home/qxu10******53/htdocs/index.php” 572326
118.247.126.9 - - [19/Sep/2015:14:10:51 +0800] “HEAD /wwwroot.rar HTTP/1.1” 404 - “-“ “Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)” qxu10******53.my3w.com text/html “/usr/home/qxu10******53/htdocs/index.php” 723013
118.247.126.9 - - [19/Sep/2015:14:10:51 +0800] “HEAD /wwwroot.rar HTTP/1.1” 404 - “-“ “Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)” qxu10******53.my3w.com text/html “/usr/home/qxu10******53/htdocs/index.php” 784105
118.247.126.9 - - [19/Sep/2015:14:10:51 +0800] “HEAD /wwwroot.rar HTTP/1.1” 404 - “-“ “Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)” qxu10******53.my3w.com text/html “/usr/home/qxu10******53/htdocs/index.php” 769630
118.247.126.9 - - [19/Sep/2015:14:10:51 +0800] “HEAD /www.zip HTTP/1.1” 404 - “-“ “Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)” qxu10******53.my3w.com text/html “/usr/home/qxu10******53/htdocs/index.php” 995755

2015年9月17日18:10左右的网站日志

118.247.58.74 - - [17/Sep/2015:18:10:14 +0800] “HEAD /baiyuan.wang.zip HTTP/1.1” 404 - “-“ “Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)” qxu10******53.my3w.com text/html “/usr/home/qxu10******53/htdocs/index.php” 1230526
118.247.58.74 - - [17/Sep/2015:18:10:14 +0800] “HEAD /web.rar HTTP/1.1” 404 - “-“ “Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)” qxu10******53.my3w.com text/html “/usr/home/qxu10******53/htdocs/index.php” 1296668
118.247.58.74 - - [17/Sep/2015:18:10:14 +0800] “HEAD /wangbaiyuan_cn.rar HTTP/1.1” 404 - “-“ “Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)” qxu10******53.my3w.com text/html “/usr/home/qxu10******53/htdocs/index.php” 1433144
118.247.58.74 - - [17/Sep/2015:18:10:14 +0800] “HEAD /baiyuan.wang.rar HTTP/1.1” 500 - “-“ “Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)” qxu10******53.my3w.com text/html “/usr/home/qxu10******53/htdocs/index.php” 1437490
118.247.58.74 - - [17/Sep/2015:18:10:13 +0800] “HEAD /web.rar HTTP/1.1” 500 - “-“ “Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)” qxu10******53.my3w.com text/html “/usr/home/qxu10******53/htdocs/index.php” 2025751
118.247.58.74 - - [17/Sep/2015:18:10:14 +0800] “HEAD /baiyuan.wang.zip HTTP/1.1” 500 - “-“ “Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)” qxu10******53.my3w.com text/html “/usr/home/qxu10******53/htdocs/index.php” 1475292
118.247.58.74 - - [17/Sep/2015:18:10:15 +0800] “HEAD /web.zip HTTP/1.1” 500 - “-“ “Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)” qxu10******53.my3w.com text/html “/usr/home/qxu10******53/htdocs/index.php” 95449
118.247.58.74 - - [17/Sep/2015:18:10:15 +0800] “HEAD /web.zip HTTP/1.1” 500 - “-“ “Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)” qxu10******53.my3w.com text/html “/usr/home/qxu10******53/htdocs/index.php” 147265
118.247.58.74 - - [17/Sep/2015:18:10:15 +0800] “HEAD /web.rar HTTP/1.1” 500 - “-“ “Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)” qxu10******53.my3w.com text/html “/usr/home/qxu10******53/htdocs/index.php” 609414
118.247.58.74 - - [17/Sep/2015:18:10:15 +0800] “HEAD /baiyuan.wang.zip HTTP/1.1” 500 - “-“ “Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)” qxu10******53.my3w.com text/html “/usr/home/qxu10******53/htdocs/index.php” 379669

通过网站日志可以找到一下规律:

  • 请求方式为HTTP head;
  • 请求极其密集(9月17号在一分半内请求523次;9月19号在一分钟内请求424次)
  • 主机崩溃最后一刻返回状态码:500(服务器内部错误)
  • 请求文件类型为zip压缩文件,为www,web,wwwrroot等看似没有规律的文件名

二、我的分析结论

HEAD为http中像GET、POST一样的请求方式,与GET不同的是:客户端向服务器发送HEAD请求。服务器只会返回页面的head头部部分,这就比请求页面主体部分快得多。 上面网站日志记录的IP显然是通过HEAD扫描我的网站根目录中可能的zip文件,通过HTTP状态码,攻击者就可以知道它随机扫描的zip文件是否存在,如果存在的话就进行下载。当然,日志中清一色的404(请求的资源不存在)说明攻击者并没有得逞:获取我网站上“他想要”的zip压缩文件。这让我虚惊一场,然后,密集的请求却导致了我主机耗用资源超标。 可能你认为即使下载几个zip文件并无大碍,但是可以发现攻击者想要下载的zip文件名看似随机其实大有文章。 web、wwwroot、www是网站根目录常见用名,包括极客人在内的广大站长可能经常会将自己网站上的文件进行定期备份:全选然后压缩。就像在 计算机上压缩几个文件夹或文件一样,创建的压缩文件名往往和根目录相同。所以攻击者恶意遍历可能的 根目录名.zip,然后试图下载你的网站备份文件。而以wordpress建站系统为例,你的备份文件中的某些文件(wp-config.php)就记录了你的FTP和数据库密码,可以说,知道了FTP和数据库密码,你的网站意味着全线沦陷。

三、采取防治措施

1、禁止请求zip等压缩文件

由于虚拟主机的权限有限,我们控制用户访问行为最高效的就是在htaccess添加相关规则了,禁止请求zip等压缩文件的规则如下,请在:

<FilesMatch (.*)\.(zip|rar|gz)$>
order allow,deny
deny from all

上述规则会禁止请求zip\rar\gz格式的压缩文件。

2、处理head请求

head请求在http请求中并不常用,我们完全可以禁止这种请求方式:

RewriteEngine On RewriteCond %{REQUEST_METHOD} HEAD RewriteRule (.*) http://baidu.com \[R=301,L\]

上述规则会导致不管head方式请请求什么,都会重写到百度首页,要下载就去下载百度首页吧!

@whilelimitless.com
whilelimitless.com commented at 2017-01-05

whilelimitless.com 遭受恶意扫描下载zip攻击的惊险之旅 | 王柏元的博客

@http://www.valras-plage.net/antlerx-review/

http://www.valras-plage.net/antlerx-review/ 遭受恶意扫描下载zip攻击的惊险之旅 | 王柏元的博客

@极客人
极客人 commented at 2015-10-16

我感觉不错啊,你用的什么外国空间

@我放弃了
我放弃了 commented at 2015-10-16

我的阿里云免费垃圾,wordpress备份上传 直接给我打开了目录垃圾open basedir 关都关不到,导致主页都打不开,只能重新安装wordpore,一气之下直接换回我的外国免费空间

@极客人
极客人 commented at 2015-09-21

:oops: :grin: :grin: 嘿嘿

@小白
小白 commented at 2015-09-21

好评!!