运营商渗透测试与挑战
最近几年,运营商行业安全服务中渗透测试中常见的漏洞包括弱口令、注入漏洞、跨站漏洞、Struts2命令执行漏洞、WebServer远程部署及上传漏洞等,但随着新技术、新业务出现和运营商集团层面的关注重点有所转移,渗透测试工作将会面临内容安全、计费安全、客户信息安全、业务逻辑及APP等方面的挑战,这就需要服务团队与时俱进,满足客户的服务要求。文章对这些方面进行了分析与总结,希望对安全服务人员的渗透测试工作有所帮助。
传统渗透测试常见问题
传统渗透测试主要关注于系统本身存在的常见问题,常见系统弱口令、SQL注入、跨站、struts2框架命令执行、上传漏洞和远程部署造成的getshell等问题。
弱口令问题
弱口令问题是运营商渗透测试最常见问题之一,运营商网络设备、安全设备、数据库与操作系统都可能存在弱口令问题,包括后面介绍的webserver远程部署getshell也是由于后台弱口令造成,并且弱口令是利用难度最小危害最大的漏洞,因此特别需要注意。
如下图是某运营商某次检查扫描出的弱口令。
图2-1 弱口令
注入漏洞
SQL注入是web系统最高危也是最为常见的漏洞之一,是所有系统测试都必须关注的漏洞,在OWASP漏洞排名中连续排名第一。这漏洞可通过手工或者工具拿到后台用户名密码并且可进行数据库转储。sqlmap是当前最好用的SQL注入测试工具之一。
跨站漏洞
跨站漏洞跟SQL注入类似,是web系统最高危漏洞之一,在OWASP 2013 top10中排名第三。可通过XSS Platform收集cookie信息或者XSS getshell,危害非常大。
跨站漏洞分为反射型、存储型和DOM型。在进行跨站测试的时候可以通过扫描器发现大部分的跨站漏洞,也可以采用常见的跨站语句进行手工测试。
Struts2命令执行漏洞
由于使用框架技术可以使开发变得简单省时而且高效,因此框架技术在系统开发中越来越普遍,其中java三大框架是hibernate、spring和struts。struts2框架虽然是一款优秀的MVC框架,但是最近几年来爆发几次严重漏洞,2013年7月曝出CVE-2013-2251多个命令执行漏洞,虽然距今时间较长,但仍然有很多漏网之鱼,在运营商渗透测试中多次遇到。
图2-2 struts命令执行
WebServer远程部署问题
支持远程部署的Web服务器有很多,通过远程部署获取webshell并非代码层次的问题,而是由于配置不当造成的问题。在运营商渗透测试过程中最常见的可远程部署的web服务器是Tomcat、JBoss和WebLogic。
Tomcat默认端口为8080,也可能被改为其他端口,后台管理路径为/manager/html,后台默认弱口令admin/admin、tomcat/tomcat等,若果配置不当,可通过”Tomcat Manager”连接部署war包的方式获取webshell。
图2-3 Tomcat后台部署war包
JBoss是基于JavaEE的开放源代码的应用服务器,跟Tomcat类似,JBoss默认安装端口为8080,访问8080端口即可看到JBoss的默认安装部署界面。JBoss在安全性方面比Tomcat更差,不需要密码即可登录管理后台,进行war部署。也可以用metasploit或者jboss_exploit_fat.jar进行利用。
下图是某运营商JBoss后台界面,可直接部署war包获取webshell。
图2-4 JBoss后台
下图是通过jboss_exploit_fat.jar获取服务器操作系统的命令,可通过相同的方法可获取webshell。
图2-5 jboss_exploit_fat.jar获取服务器操作系统信息
图2-6 jboss_exploit_fat.jar进行war部署
WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器,默认端口7001,后面添加console即可进入后台管理界面。老版本weblogic有一些常见的弱口令,比如weblogic、system、portaladmin和guest等,用户名密码交叉使用。一旦登录后台,通过部署连接可以很容易的通过部署本地war包获取webshell,与Tomcat类似。
图2-7 WebLogic后台
上传漏洞
上传漏洞常见与解析漏洞进行配合使用,比较常见的解析漏洞是IIS的解析漏洞和Apache解析漏洞。IIS解析漏洞一般存在两种情况,一种是.asa和.asp目录下任意文件被当做asp文件来执行,另外一种是.asp;.jpg在IIS6中会被当做asp脚本来执行。Apache解析漏洞是当遇到不认识的扩展名时,将会从后向前解析,直到碰到认识的扩展名为止,如果都不认识,则直接暴露文件源代码。
常见上传漏洞则是绕过客户端检测、绕过服务端检测、文本编辑器上传等漏洞。
如下为导入的文件类型仅在客户端校验,未在服务端校验,可以截取数据包修改文件后缀获取webshell。上传webshell,后缀改为xls。
图2-8 上传位置
攻击者利用Burpsuite截断数据包,修改xls后缀为jsp。
图2-9 修改后缀
攻击者通过此方法获取webshell,并且是root权限。
图2-10 webshell
新业务新技术新要求
随着运营商新技术新业务的发展,运营商集团层面对安全的要求有所变化,关注重点也有所转移,对业务流程安全格外关注,其中包括内容安全、计费安全、客户信息安全、业务逻辑安全、传播安全、营销安全等。随着某运营商互联网的发展,运营商也开始关注某运营商业务,自己开发大量APP应用,因此APP应用的安全也成了运营商的关注重点。
内容安全
内容安全主要是针对各种虚假、反动、色情内容的实施敏感词安全。主要风险是敏感词库不全、审核机制不全、信息发布管控范围不健全等。
计费安全
计费安全顾名思义就是计费方面的安全,就是计费无差错无绕过无异常。主要包括针对用户的不知情订购、针对运营商的计费机制被绕过、订购机制不健全、异常订购监测机制不健全等。计费安全也属于业务逻辑安全问题的一种。
例如某商城iphone6购买,攻击者可能会通过burp suite等web调试工具截断修改金额,造成计费风险。
图3-1 商城购买商品
可通过burpsuite等web调试工具截断数据包,修改金额。
图 3-2 修改价格
客户信息安全
客户信息是指客户隐私信息不被泄露,包括客户姓名、密码、手机号码、家庭住址等隐私信息,主要由客户信息入口认证控制不严或者平行越权造成客户信息泄露。
业务逻辑问题
运营商业务逻辑常见问题有平行越权造成的客户信息泄露、修改金额造成的计费绕过、登录中的验证码暴力破解、短信炸弹等等。运营商非常重视业务逻辑问题,包括计费中的逻辑漏洞与APP中业务逻辑问题。新业务新技术中的计费安全、客户信息安全和APP安全的业务安全部分都与业务逻辑相关。
APP安全
** **随着某运营商互联网的发展,运营商也开始关注互联网业务,自己开发大量APP应用,因此APP应用的安全也成了运营商的关注重点。在进行APP测试的时候,常见如下图所示。
图3-4 APP评估常见问题
结束语
本文通过对对运营商传统渗透测试常见高危问题总结,结合运营商新技术新业务的发展,以及集团对安全的新要求,给渗透测试人员提供安全服务的指导,希望对大家有所帮助。
刘永杰