安芯网盾:高级威胁之WebShell攻击篇
通常情况下,网络攻击会采用多种手段、在多个不同的阶段进行准备、执行以完成攻击行为。对于攻击者而言,当通过基于Web的漏洞找到攻击入口时,下一步往往是安装WebShell以便更轻松的进行远程访问。本文我们就针对WebShell攻击进行简析,探讨一下针对此类攻击如何有效防御,以规避安全风险问题。
WebShell是一种恶意后门,它能够通过被利用的Web应用程序漏洞或“上传到其他受感染的系统”来启动。它为攻击者提供了一种使用受感染Web服务器发起进一步攻击的便捷方式,可以为Web应用程序和相关系统提供一个永久的后门。攻击者可以使用WebShell建立攻击机与目标机之间的通道,并且利用其他漏洞来提升权限并远程发出命令。这些命令具有添加、删除和执行文件以及运行shell命令、可执行文件或脚本的能力。
攻击者在web服务器成功安装WebShell之后,其提供以下功能:
-
允许攻击者执行命令并同时Web服务器窃取数据
-
拿下沦陷的服务器后可以针对域内的更多主机发起进一步的攻击
-
向没有直接访问Internet的网络内的主机发出命令
-
上传其他恶意程序,例如Chopper,用于水坑攻击和扫描其他受害者

图 webshell感染链
众所周知,WebShell不需要额外的程序即可在受害者的系统上运行,因为通信仅通过浏览器上的HTTP进行。WebShell的上传通常通过文档/文件上传页面完成,然后使用本地文件漏洞将WebShell包含在应用程序的页面之一中。安装WebShell的其他形式包括跨站点脚本 (XSS) 和被发掘出的公网管理平台。
一般,对WebShell的检测一般有三种方式:
第一种检测方法涉及通过文件名、文件散列或文件内容对端点进行检测。不幸的是,这通常是CPU密集型的操作,这意味着业务操作团队可能不允许您在生产系统上这样做。
第二种方法是被动而有效的,但设置和管理起来很痛苦。它涉及将web流量镜像到具有内置检测或支持自定义Snort或Suricata规则的网络流量监控设备。您还需要将您的web服务器SSL私钥上传到网络设备以进行SSL解密,否则您将无法检查加密的web流量。
第三种方法是安芯网盾提供的基于硬件虚拟化技术的内存安全产品。智能内存防护系统下沉至硬件底层,可实现对内存的监控从而能够发现各类威胁,从而能够对主机中核心部分进行安全防护。
WebShell是一种常见的网络后门攻击,具有隐蔽性高、危害大检测出来WebShell就需要解决它,不少企事业单位采用了入侵防御系统或者Web应用防火墙(WAF),以防止攻击的产生。
Web应用程序防火墙 (WAF) 通常基于签名进行检测防御,但是攻击者会利用逃避检测的方法利用WebShell进行攻击。而内存保护技术可以提供一种全新的检测方法,基于硬件虚拟化技术,在内存级别监控应用程序进程,不依赖过去的恶意事件、恶意病毒的模式匹配;同时还提供上下文细粒度行为分析,深入应用程序进程内部,针对WebShell攻击等进行有效防护。
入侵防御系统是基于已知攻击为Web应用程序添加一层防御,但是这种方法只是纵深防御策略的一部分。而内存保护技术可以对内存中关键业务进行打点,并通过对业务的关联分析,监控应用对业务相关内存数据的多读、挂钩、篡改等行为,确保用户核心业务应用程序只按照预期方式运行,不会因为病毒窃取、漏洞触发而遭受攻击,切实有效保护核心数据资产不被窃取。
由于WebShell一旦被安装就很难被发现,所以做好安全预防至为重要。只有如此,才能守护住主机侧的数据资产,确保业务正常运行。