最新的MicrosoftDefender数据显示,从年8月到年1月,它每月检测出14万个shell,几乎是去年平均每月7.7万次的两倍。由此,可以看出全球范围内WebShell的攻击数量翻倍增长。
图1WebShells数量增长对比图WebShell是一种脚本,通过利用web应用程序漏洞或配置漏洞,被植入到web服务器中,以实现对服务器功能的远程访问和代码执行。WebShell可以用任何语言编写,如PHP、ASP、Python和Unixshell脚本。成功利用该漏洞可使攻击者远程发出指令、上载、删除、下载或执行操作系统和Web服务器上的敏感文件。也正因如此,常被攻击者应用于攻防演练活动中,以达成攻击目标服务器的目的,从而获得控制权。在今年的攻防演练活动中,我们也着实检测出了很多内存WebShell攻击的情况。
图2攻防演练中内存WebShell攻击实例WebShell的特点
1、持续的远程访问
通常,一个WebShell脚本包含一个后门,它允许攻击者远程访问并可能在任何时候控制一个面向Internet的服务器,这为后期的持续远程访问提供了便利。不过,一些流行的WebShell使用密码认证和其他技术来确保只有上传WebShell的攻击者能够访问它。这些技术包括将脚本锁定到特定的自定义HTTP标头、特定的cookie值、特定的IP地址或这些技术的组合。大多数WebShell还包含代码,用于识别和阻止搜索引擎列出shell,结果是,将web应用程序所在的整个域或服务器列入黑名单——换句话说,混淆和隐身是关键。
2、特权提升
一般来讲,使用WebShell攻击者可以通过利用系统上的本地漏洞来尝试执行权限提升攻击,以获取root用户权限,在Linux和其他基于Unix的操作系统中,root用户权限是超级用户。
通过访问root帐户,攻击者基本上可以在系统上执行任何操作,包括管理本地文件、安装软件、更改权限、添加和删除用户、窃取密码、阅读电子邮件等。
3、侦察网络并发动攻击
攻击者可以用WebShell在网络内部或外部进行侦察。他们或是想要监视(嗅探)系统上的网络流量,扫描内部网络来发现活跃主机,或是枚举网络内的防火墙和路由器、域控制器。这个过程可能用时几天甚至几个月,主要是因为攻击者通常会尽量保持低调,尽可能不引起人们的