攻防演练|RASP让WebShell攻击破防了

简介: WebShell 是一种通过浏览器来进行交互的Shell,而且是黑客通常使用的一种恶意脚本,通常被攻击者用来获取对应用服务器的某些操作权限。攻击者通过渗透系统或网络,然后安装 WebShell ,攻击者可以在应用服务器上执行敏感命令、窃取数据、植入病毒,危害极大。而且, WebShell 隐蔽性极强,传统的流量侧方案对其防御效果不佳。本文将为大家介绍一下常见的 WebShell 类型以及 RASP 如何对其进行防御。


WebShell分类

WebShell 需要根据目标网站使用语言进行构造,常见的有 PHP、Jsp、Asp、Python、Lua 等,大体上可以分为以下几种类型:

e35ae8affd22f5e5838e9676698cbde.png


WebShell工作原理

通常,WebShell 攻击有几个阶段:首先,攻击者需要在服务器上构建一个可提供远程访问的持久性机制;然后,根据需要进行提权、窃取敏感数据、安装挖矿或勒索程序以及进一步横向渗透等违法犯罪活动。

199d5fdb1dbb0a8e287d2fb5810014b.png

1. 持续的远程访问WebShell 脚本为攻击者提供了一个后门,允许他们远程访问暴露的服务器。攻击者会基于同一个位置进行持续的攻击活动;甚至,有些攻击者会对自己植入的 WebShell 进行加密,并尝试阻止别的攻击者利用相同的方式植入后门,以保证只有自己才能远程访问。

2. 权限提升WebShell 通常以用户权限运行,该权限可能受到限制。攻击者会利用操作系统漏洞来获取 root 权限,以达到提升权限的目的。

3. 网络嗅探并攻击攻击者可以使用 WebShell 嗅探网络流量来识别内网中活跃主机、防火墙或路由器,最终获得大致的网络拓扑,该过程可能需要一定时间,在此期间内攻击者将保持低调以避免被发现。成功获得网络拓扑后,攻击者会进行横向渗透,甚至可能使用受感染的系统来攻击其他目标。通过多级跳转进行的攻击通常使得溯源变得更加困难。

4. 僵尸网络WebShell 可用于将服务器连接到僵尸网络(由攻击者统一控制的系统网络)。当攻击者从控制端下发命令后,所有处于僵尸网络的服务器会同时执行相同的命令。

WebShell攻击的防御思路

对于 WebShell ,它依赖应用程序在设计和编写时的缺陷,来执行一些不被授权的操作。从本质上讲,它依赖程序运行时环境进行解析、执行后才能发挥作用。市面上主流的应对 Web Shell 的方式有如下几种:

  • 流量侧特征识别

通过 WebShell 流量特征,使用模糊匹配、正则等方式进行检测,拦截异常流量。通过云端威胁情报中心样本分析,离线或在线进行规则扩充和升级。

  • 沙箱 & 蜜罐

通过攻守双方信息不对等的优势,预先埋好虚拟环境,让攻击者误以为进入了正常的业务系统,在发现攻击者上传 WebShell 或执行敏感操作时触发报警。

  • 静态文件分析

通过特征库比对、AST 分析等方式,对 Web 应用文件系统进行扫描,检查异常文件。通常会结合沙箱模拟运行来精确判断可疑文件是否具有风险。

  • HIDS

部署在操作系统级别的入侵检测系统,可以定期扫描并监控文件系统变更,有些还可以通过日志或定制内核的方式监控命令执行,当发现异常命令后发出告警。

  • RASP

RASP将自身注入到应用程序中,与应用程序融为一体,实时监测、阻断攻击,使程序自身拥有自保护的能力。并且应用程序无需在编码时进行任何的修改,只需进行简单的配置即可。


云鲨 RASP 是悬镜安全推出的基于运行时情境感知技术的新一代应用威胁免疫平台,依托于经过市场多年打磨的 “代码疫苗” 技术,在保证最大业务兼容性和将主动防御能力 “注入” 到业务应用中,借助强大的应用上下文情景分析能力,可捕捉并防御各种绕过流量检测的攻击方式,提供兼具业务透视和功能解耦的内生主动安全免疫能力,使您的业务应用实现安全内建。

接下来,我们简析一下云鲨RASP针对WebShell攻击是如何解决的。

01大马、小马、一句话木马拦截

此类 WebShell 依赖文件上传、写入等操作实现,云鲨 RASP 通过函数插桩(Hook) 和语义分析,实现 WebShell 精准拦截,不会导致恶意文件落地。以几个典型的一句话木马为例:

  • php

<?php @eval($_POST['hack']);?>
  • asp

<% eval request("hack") %>
  • jsp

<% Runtime.getRuntime().exec(request.getParameter("hack")); %>

以上三条一句话木马均可以分为三个部分:


语法标签:`<? ?>`、`<% %>`

数据传递:`$_POST[]`、`request()`、`request.getParameter()`

执行命令:`eval`、`Runtime.getRuntime().exec()`

由于云鲨 RASP 工作在应用运行时环境,可以直接获取到解密后的流量,无需考虑加解密场景和伪装和变形的流量。只需要根据对应语言设计对应的识别参数,只要用户请求中包含此类逻辑,并且涉及到黑名单函数,即可进行精准拦截。

02内存马

内存马相比于常规 WebShell 更容易躲避传统安全监测设备的检测。以 Java 内存马为例,主要有以下两种类型:

  • 基于中间件和框架实现:基于 Servlet 或 Spring 等框架封装过的 Servlet 进行利用
  • 基于 Java Instrumentation 方式:基于 Java 1.5 新加入的特性,通过 jar 包或构造 InstrumentationImpl 类进行利用

对于方式一和构造 InstrumentationImpl 类的内存马,它需要先利用 RCE,例如  log4j2 等反序列化、JNDI 注入漏洞。对于 jar 包利用,则需要先上传 agent.jar。由于内存马变化较多,云鲨 RASP 的采用三步走的方式来防御内存马:

  • Step 1 - 常见敏感类监控
  • Servlet 协议中的一些高风险接口:
  • image.png
  • spring 敏感注解
  • 常见敏感类、包
  • Step 2 - 热门漏洞虚拟补丁和 SCA 分析

针对近几年常见的漏洞,提供虚拟补丁进行防护,相比云鲨缺省规则更精准、更高效:提供运行时软件组成成分分析,能够快速梳理出业务系统正在使用的风险组件,并快速下发虚拟补丁,提供临时防护。

  • Fastjson 反序列化
  • Shiro 反序列化
  • Log4j 2.x RCE
  • etc.
  • Step 3 - 底层命令执行实时监控

相信通过 Step 1-2 已经将大部分基础的内存马利用方式阻挡在外了,但是安全这事不能存在侥幸心理。我们从攻击者的动机考虑,“Get Shell” 的最终目的是获取权限、获取敏感数据。云鲨 RASP 通过对底层命令执行方法、I/O 等进插桩,只要触发了敏感行为探测逻辑,云鲨 RASP 均能在第一时间进行拦截并上报。


RASP 作为防御 WebShell 的最后一公里,可以在系统被攻陷前提供临时防护,但是更重要的是如何构建更健壮、漏洞更少的应用程序。和 RASP 技术相似,IAST 技术也采用了侵入式探针技术,云鲨 RASP 探针同时整合了 IAST 功能和 Runtime-SCA 功能,通过同一个探针就可以覆盖软件开发生命周期的全流程,涵盖了应用安全测试、软件组成成分分析以及运行时自适应威胁免疫,真正实现 “安全左移,敏捷右移”,助力构建安全的软件生命周期。


云鲨RASP官方网址:https://rasp.xmirror.cn/

目录
相关文章
|
6月前
|
安全 网络安全 数据库
Web安全防护的必要性与漏洞扫描技术
随着互联网的发展,Web应用程序的使用越来越广泛,但也带来了越来越多的安全威胁。因此,Web安全防护变得越来越重要。本文将介绍Web安全防护的必要性,并详细介绍各种漏洞扫描技术,以帮助您保护Web应用程序的安全。
189 2
|
3月前
|
存储 安全 数据可视化
如何规避DDoS攻击带来的风险?服务器DDoS防御软件科普
如何规避DDoS攻击带来的风险?服务器DDoS防御软件科普
95 0
|
21天前
|
存储 安全 数据可视化
提升网络安全防御有效性,服务器DDoS防御软件解读
提升网络安全防御有效性,服务器DDoS防御软件解读
35 1
提升网络安全防御有效性,服务器DDoS防御软件解读
|
6月前
|
SQL 安全 数据挖掘
安全防御之漏洞扫描技术
每年都有数以千计的网络安全漏洞被发现和公布,加上攻击者手段的不断变化,网络安全状况也在随着安全漏洞的增加变得日益严峻。寻根溯源,绝大多数用户缺乏一套完整、有效的漏洞管理工作流程,未能落实定期评估与漏洞修补工作。只有比攻击者更早掌握自己网络安全漏洞并且做好预防工作,才能够有效地避免由于攻击所造成的损失。
134 0
|
6月前
|
存储 监控 安全
安全防御之恶意代码与防护技术
恶意代码是指没有作用却会带来危险的代码。通常把未经授权便干扰或破坏计算机系统、网络功能的程序或代码(一组指令)称之为恶意程序。恶意程序包括计算机病毒、木马、蠕虫等。恶意代码的防范,不是单靠一种或几种技术就能解决的,而要靠技术、管理以及用户安全意识的共同防范,只有三者相结合才能最大程度地防止恶意代码对系统和用户信息的破坏。
300 0
|
6月前
|
SQL 安全 网络安全
网站服务器被入侵了,如何排查入侵痕迹,又该如何预防入侵呢?
预防服务器入侵是一项重要的任务,需要采取一系列措施来保护服务器的安全。以下是一些预防服务器入侵的建议
网站服务器被入侵了,如何排查入侵痕迹,又该如何预防入侵呢?
|
6月前
|
安全 Java Shell
网络安全-webshell详解(原理、检测与防御)
网络安全-webshell详解(原理、检测与防御)
786 1
|
6月前
|
安全 网络安全 数据安全/隐私保护
探索Web安全:强化防护与漏洞扫描技术
在当今数字化时代,Web安全已经成为企业和个人必须关注的重要问题。本文将介绍Web安全的重要性,以及如何通过强化防护与漏洞扫描技术来保护网站和应用程序的安全。同时,还将探讨一些最新的Web安全威胁和应对策略,帮助读者更好地了解和应对Web安全挑战。
90 0
|
传感器 监控 安全
攻防演练 | 攻防在即,RASP为上
RASP技术结合SCA分析技术、IAST技术可以在DevSecOps模型的整个生命周期中对代码安全进行检测、防御,实现安全左移,不局限于应用运行时的事后防御。而且,RASP技术集合BAS技术可以在攻防演练活动中实现自动化检测,对安全威胁进行验证,确保安全链路完整。
268 0
|
6月前
|
云安全 运维 安全
Webshell处置最佳实践
适用场景在云安全中心告警中主机上检出Webshell时,如何处置,以及通过信息简要分析入侵途径。Web场景实战一、确认Webshell事件Webshell根据功能和大小,主要分为两类,一类是小马,一类是大马。Web小马主要以一句话木马居多,一句话木马一般是以执行代码的函数+可以自定义内容参数为主,黑...
773 0
Webshell处置最佳实践