烽火18台系列之八——Wehshell,隐藏在网站之下的潘多拉魔盒网络安全
近年来网站被植入后门等隐蔽性攻击呈逐年增长态势,国家互联网应急响应中心发布的《2015年中国互联网网络安全报告》中指出,“2015年CNCERT/CC共监测到境内75028个网站被植入后门,其中政府网站有3514个。”
而Webshell则是最常用的一种网站后门工具,盛邦安全通过大量对被黑网站的应急发现,绝大多数黑客是通过后门进行的修改,并在篡改后删除后门及服务器日志。但与Webshell的危害程度相反的是,许多信息中心并没有非常重视该问题,或者可以说,业界并没有提供很好的解决办法。本文将根据盛邦安全对于Webshell的一些研究做些总结,希望给大家一些借鉴意义。
你知道或者不知道的Webshell 对于Webshell在这里我会简单介绍一下,更详细的内容大家可以百度或者查看公众号‘唯品会应急响应中心’之前发布的一篇《Webshell技术总结》的文章,其中有很全面的介绍。
1、什么是Webshell
“Web”的含义是需要服务器开放web服务,“shell”的含义是取得对服务器某种程度上的操作权限,常常被称为匿名用户(入侵者)通过网站端口对网站服务器的某种程度的操作权限。类似于个人电脑的cmd模式。
2、Webshell的分类
3、Webshell的用途
你发现并利用了一个网站的漏洞得到了Web权限但没有系统权限希望下一次能够优雅地连接系统如果你通过漏洞成功的在网站中植入了Webshell,那么一个“魔盒”就成功的存在于网站之下,而开启它的“钥匙”就掌握在你的手中。你可以通过它,获取服务器系统权限、控制“肉鸡”发起DDos攻击、篡改网站、网页挂马、作为用于隐藏自己的代理服务器、内部扫描、植入暗链/黑链等等。
盛邦安全对于检测Webshell的一些建议
处置一:人工处置
1、定期检查服务器上是否存在不认识文件;
虽然大马通常有.asp、.jsp、.php等多种形式,但其通常都是要植入到网站的文件目录下。理论上只要确保目录中不存在未知文件即可防范大马。
缺点:显而易见,对于自己编辑的简单网站检查起来比较可行,但多数情况下,此类方法费事费力,很难实现。
2、安装网页防篡改软件(非网关模式)
网页防篡改解决Webshell问题的原理与人工检查类似,都是尽可能确保网站目录下不会被随意修改。
处置二:基于文件的Webshell分析
检测是否包含Webshell特征,例如常用的各种函数。
检测是否加密(混淆处理)来判断是否为Webshell
文件hash检测,创建Webshell样本hashing库,进行对比分析可疑文件。
对文件的创建时间、修改时间、文件权限等进行检测,以确认是否为Webshell
沙箱技术,根据动态语言沙箱运行时的行为特征进行判断
处置三:基于流量的检测方式
基于payload的行为分析,不仅对已知Webshell进行检测,还能识别出未知的、伪装性强的Webshell。
对Webshell的访问特征(IP/UA/Cookie)、payload特征、path特征、时间特征等进行关联分析,以时间为索引,还原攻击事件。
便于部署,只需要镜像流量进行分析。
处置三与处置四的核心之一均是特征库的大小及更新频度,无论是文件特征还是Webshell的传输特征。
处置四:基于日志的Webshell分析
分析日志的手段往往用于被攻击后的溯源阶段,最主要的原因就是WEB日志过多,分析起来非常繁琐。而且有些黑客会在攻击后删除日志,这样就只能借助外置的审计类设备进行溯源。
烽火台的Webshell检测
WebRAY烽火台监控预警与态势感知平台在设计之初就将Webshell的检测作为核心能力,结合盛邦安全在Web领域的研究,深度集成Webshell检测引擎。该引擎主要利用基于文件以及基于流量两种检测技术。并通过下图所示的威胁情报自研系统,建立情报及行为分析模型库,以此为核心来保障Webshell检测的全面性及准确性。
盛邦安全对Webshell的研究
1、基于文件特征的检测:
通过收集常用的Webshell工具,对其进行分析,提取相应文件特征。然后基于这些特征进行检测。同时还包括处置三中的几种检测方式:是否加密、文件的创建时间、修改时间、文件权限等。同时对于灰色文件启用沙箱检测。
常用Webshell工具
烽火台对于基于文件特征的Webshell检测提供两种模式:本地查杀、远程扫描查杀。本地查杀需要在服务器上安装插件进行检测;对于不便于安装插件的客户,烽火台提供远程扫描检测,为实现更好的效果对爬虫进行了改进:爬虫要能识别、积累各种WebShell的特征,并作为爬取必须项;同时具备登录扫描功能,使扫描结果更全面。
烽火台Webshell检测界面
基于文件特征的检测结果1
基于文件特征的检测结果2
2、基于流量的检测
烽火台可部署在网络出口交换机处,通过流量镜像分析是否存在Webshell的传输特征。其核心是对于Webshell发起恶意行为的分析及建模能力,更新周期为每月更新。
行为特征收集
基于流量的Webshell检测结果
从安全的演变阶段划分,无论是用上传型小马带大马还是比较流行的直接在cms中植入Webshell等植入形式,都是因为事前存在漏洞。在烽火台系列文章中,也多次提及了漏洞的危害性,而这方面更应该审视的是漏洞检测的全面性,应包括系统漏洞、Web漏洞、中间件漏洞、数据库漏洞,从而保证不存在短板。而Webshell、篡改等问题的监测及检测均属于感知与侦测范畴。在态势感知中,及时性、准确性则是主要的考量标准,而基于威胁情报的检测能大大提高了感知的能力,对于解决隐蔽性、高级的新型威胁有更好帮助。