网络Shell攻击如何影响您的Web服务器?


Web Shell是一种恶意脚本,攻击者使用它来维持对已被入侵的在线应用程序的持久访问。Web Shell必须始终是攻击的第二阶段,因为它无法攻击或利用远程漏洞(此阶段也称为后利用)。

当恶意用户能够将自己的文件注入到Web服务器的目录中时,就会发生Web Shell攻击,这样他们只需通过Web浏览器请求即可轻松执行指令。

为了向网络内部没有直接互联网连接的计算机发送命令,Web Shell可以充当中继点。Web Shell能够参与命令和控制网络;例如,它们可以用来入侵主机并将其添加到僵尸网络中。攻击者可以通过感染网络上的其他系统来传播Web Shell,从而危害更多资源。

黑客使用各种Web应用程序漏洞和利用程序,例如SQL注入(SQLi)和跨站点脚本(XSS),来部署Web Shell。此外,攻击者还利用服务和程序中的漏洞、文件处理中的漏洞、暴露的管理员界面以及本地文件包含(LFI)和远程文件包含(RFI)中的漏洞。

黑客在各种情况下使用Web Shell,包括:

  • 收集和泄露个人数据和凭据。

  • 上传恶意软件,可以作为进一步感染和受害者扫描的跳板。

  • 更改或在网站上包含文件。

Web Shell攻击示例

黑客使用一些Web Shell模型,包括China Chopper、WSO、C99和B374K。但是,大多数Web Shell都是全新的,只有少数黑客熟悉它们的Web Shell模式。

  • China Chopper——它包含许多命令和控制功能以及一个具有密码暴力破解功能的小型在线Shell。

  • Orb的Web Shell (WSO)——它可能看起来像是一个错误页面,同时包含隐藏的登录表单。

  • C99——它是WSO的更高级版本,具有额外功能。它可以显示服务器的安全措施和自毁选项。

  • B374K——它使用PHP编程语言创建,具有读取数据和执行命令的基本功能。

Web Shell是如何安装的?

黑客需要找到一个存在漏洞的Web服务器才能安装Web Shell。黑客使用shodan.io等扫描服务来快速识别易受网络攻击的服务器。他们还利用有关最近发现的Web服务器漏洞的报告来快速识别暴露的服务器。在应用补丁之前,Web Shell会安装在受影响的网站上。

通过利用多个Web服务器漏洞,包括跨站点脚本(XSS)、SQL注入、本地文件包含(LFI)和远程文件包含(RFI),可以实现Web Shell的部署。

  • 本地文件包含(LFI)和远程文件包含(RFI)——当Web应用程序允许用户向服务器提交输入文件时,就会出现特定的漏洞。借助这一点,黑客还可以查看和使用受害者的计算机文件。在RFI中,黑客可以在他们的计算机上运行代码,而在LFI中,只有本地系统可以访问文件。

  • 跨站点脚本(XSS)——它利用薄弱的网站诱骗用户下载恶意脚本,这些脚本一旦运行,就会危及用户与网站应用程序的连接。黑客伪装成用户以访问用户帐户并获取数据。

  • SQL注入——它使黑客更容易解密应用程序和服务器之间的通信,这些通信携带敏感数据,包括用户信息、应用程序信息等等。攻击者可能会更改或删除影响程序功能的数据。

如何检测Web Shell?

Web Shell可以隐藏在看似无害的文件中,使其难以发现。例如,Web Shell脚本可能会上传到目标Web服务器并嵌入到图片中。由于此上传只是一个照片,因此分析时不会发现任何可疑之处。但是,由于Web服务器引用媒体文件进行服务器端执行,因此Web浏览器可能会请求该图像,从而激活恶意代码。

必须在连接到互联网的服务器和互联网的交汇点处实施安全措施,以跟踪每个进程执行和编写的脚本文件。

另一种准确率很高的方法是将受损文件与已知Web Shell语法数据库进行比较。Shell Detector可以帮助实现这一点。

Web Shell是如何工作的?

在本节中,让我们了解Web Shell是如何工作的:

持久远程访问

Web Shell脚本提供了一个后门,允许攻击者远程访问易受攻击的服务器。持久性攻击者不需要为每次恶意行为都利用新的漏洞。一些攻击者甚至会修复他们用来避免被发现并阻止其他人使用的漏洞。一些在线Shell使用密码身份验证等策略来确保只有特定攻击者才能访问它们。大多数Web Shell都会对其代码进行混淆处理,以防止搜索引擎将安装了Shell的网站列入黑名单。

枢轴和发起攻击

攻击者可以使用Web Shell切换到网络内部和外部的其他目标。枚举可能需要数周时间,这涉及嗅探网络流量以查找活动主机、防火墙或路由器。在此期间,攻击者将保持低调以避免被发现。网络上的持久性攻击者会缓慢推进,甚至可能使用受感染的系统来攻击更多目标。这使攻击者能够保持匿名,并且在多台计算机之间切换几乎可以使识别攻击的来源变得非常困难。

权限提升

Web Shell通常以用户的有限权限运行。攻击者可以通过Web Shell获得root访问权限并通过利用系统漏洞来提升权限。拥有root帐户访问权限的攻击者几乎可以执行任何操作,包括安装软件、修改权限、添加或删除用户、读取电子邮件、窃取密码等等。

僵尸网络控制

服务器可以通过Web Shell连接到僵尸网络(由攻击者控制的系统网络)。受感染的服务器执行由攻击者通过与Web Shell链接的命令和控制服务器发送的指令。这是使用大量带宽的DDoS攻击的常见策略。攻击者使用Web Shell的资源来攻击更有价值的目标,而不是直接攻击安装了Web Shell的系统。

如何保护您的设备免受Web Shell攻击?

您可以采取以下措施来保护您的设备免受Web Shell攻击:

文件完整性监控

文件完整性监控(FIM)解决方案旨在防止对可通过Web访问的文件夹上的文件进行更改。当发现修改时,FIM工具会通知管理员和安全人员。实施FIM可以帮助在文件保存到目录后立即实时检测问题。因此,安全人员可以更快地检测和消除Web Shell。可以配置完整性监控程序以允许某些文件修改,同时禁止其他文件修改。例如,如果您的在线应用程序只使用PDF文件,则完整性监控系统可以阻止没有“.pdf”扩展名的上传。

Web应用程序权限

在设计Web应用程序的权限时,应使用最小权限原则。这个原则背后的基本思想是只向用户授予执行其指定职责所需的权限。目的是确保没有用户可以访问他们不应该访问的资源,并且被黑客入侵的帐户的功能受到限制。

通过遵循最小权限原则,可以阻止威胁参与者将Web Shell上传到薄弱的应用程序。您可以通过禁用Web应用程序直接写入或修改可在Web上访问的代码的功能来更改它。在这种方法中,服务器阻止参与者访问可通过Web访问的目录。

入侵防御和Web应用程序防火墙

入侵防御系统(IPS)是一种网络安全技术,它通过跟踪网络流量来防御威胁。Web应用程序防火墙(WAF)通过过滤、监控和限制进出在线服务的HTTP流量来防御威胁。在实施入侵防御时,组织应使用多种技术。IPS和WAF系统可以跟踪流量模式并阻止已知的恶意上传。理想情况下,添加到生态系统的每个安全设备都应根据企业的特定需求进行定制。

端点检测和响应(EDR)

借助特定的主机日志记录和端点检测与响应 (EDR) 解决方案,可以防御 Web Shell 攻击。这些工具跟踪系统调用,并查找进程历史异常和恶意行为模式以查找 Web Shell。具有 Web Shell 防护功能的 EDR 解决方案可以看到端点上运行的所有进程,包括已调用的系统调用。该解决方案检测 Web Shell 何时导致 Web 服务器进程中的异常活动。例如,大多数 Web 服务器通常不会启动“ip config”工具。Web Shell 经常使用这种侦察策略,可以通过行为分析来识别。

网络分段

一种称为网络分段的设计风格将网络划分为独立的子网。每个段都有其自己的安全网络,每个子网都被视为一个段。网络分段架构可防止无关部分之间的连接。这种划分可以阻止 Web Shell 的传播。有几种不同的网络隔离方法。例如,一种可以用来隔离可通过互联网访问的服务器的简单方法是隔离非军事区 (DMZ) 子网。此外,更复杂的网络分段方法(包括软件定义网络 (SDN))可以帮助实施零信任架构。

更新于:2022年8月5日

浏览量:512

启动你的职业生涯

完成课程获得认证

开始学习
广告