攻防演练 | 实战加分,安芯网盾实时帮您轻松应对哥斯拉Webshell魔改
2022-7-29 14:36:14 Author: www.aqniu.com(查看原文) 阅读量:24 收藏

攻防演练 | 实战加分,安芯网盾实时帮您轻松应对哥斯拉Webshell魔改

日期:2022年07月29日 阅:101

近日,安芯网盾安全团队分析了一个从实战中拿到的样本,分析发现该样本是基于“哥斯拉Webshell”进行魔改的内存马,安芯网盾内存保护可实时帮您轻松应对哥斯拉Webshell魔改。  

自2020年开始,内存马也成为攻防演练中RT手里的“王牌手段”。 攻击方通过操纵漏洞利用程序、合法工具、宏和脚本,可以破坏系统、提升特权或在网络上横向传播恶意代码,并在执行后采取尽量隐藏自身或清除的手段,使其难以被检测,以门户网站为例,其服务直接暴露在互联网环境,十分容易成为红队攻击目标,使用内存Webshell的攻击手段可以轻松绕过现有的安全防护体系,达成攻击目的。

1、哥斯拉样本变化

安芯网盾团队通过分析最新的样本发现,与原始的“哥斯拉”程序相比较增强了: 

1) 流量加密,控制端与被控制端之间的网络流量进行了AES加密,加密密钥在控制端生成,可实现“一次一密”。加密密钥使用RSA算法进行分发,防止分析人员解密。 

2) 受控端将控制响应伪装成图片文件返回控制端,以绕过WAF/IPS等系统的检测。 

2、代码主要逻辑分析

Step1. 从请求中提取参数: user, password的值, 将参数值进行base64解码。

Step2. 获取会话密钥,检查请求中的sessionId参数

如果:

(1) 参数存在,表明该会话未创建,需要从sessionId获取会话密钥。代码从sessionId参数值解密(rsaEncrypt(), 该函数名存在误导性,rsaEncrypt()表示RSA公钥加密操作,但根据RSA算法原理,该操作可实现解密效果。明文 -> RSA私钥解密 -> 密文 -> RSA公钥加密 ->明文)获得会话密钥,并保存到会话状态(session对象)作为属性“k”。 

  • 如果参数不存在,但在会话状态中以存在属性“k”。表明会话已经建立。则直接从会话状态获取会话密钥。

Step3. 解密请求

Step4. 加载控制端发送的代码(java class),执行并获取执行结果

  1. 如果会话状态不存在属性“p”,从将请求数据作为java字节码,使用自定义类加载器加载,并将java class保存在会话状态作为属性“p”。

2)如果会话状态存在属性“p”,创建控制端发送的代码(创建控制端发送的java class的类实例),执行代码并获取结果。

Step5 将执行结果封装在图片内加密返回

3、内存马防护

对于内存马攻击的防护,单纯依靠基于静态特征的传统检测方式是远远不够的,需要深入Web程序内部进行威胁发现。目前对内存马的防护,比较有效的方式是RASP技术,它采用进程注入的方式,通过监控Web应用程序异常行为来对内存马攻击进行检测。 

RASP已演变成一个成熟的应用程序内部安全性概念,它可以根据开发人员希望在应用程序或服务器中实现RASP安全层的方式(如Servlet过滤器、二进制工具、JVM的替换、虚拟化)来消除威胁。安芯网盾在2021年年初,率先在行业内推出了基于内存保护+RASP技术的内存马攻击防护解决方案(web服务器安全解决方案)。

与传统RASP产品所提供的内存马防护思路相比,安芯网盾在内存马防护方面具有以下几个优点:

✔ 数据分析过程主要在Web容器外部进行,最大限度降低对业务内存的占用,降低影响,确保业务系统运行的稳定性;

✔采用轻侵入模式,部署或升级过程均不涉及业务系统重启;

✔  基于行为链结合内存行为进行判断,提升检测精确度,降低误报;

✔ 能通过动态检测发现内存马攻击,防止被绕过;

✔  能通过静态检测发现内存中已驻留的内存马。

国内首家基于硬件虚拟化等前沿技术保护企业主机安全的技术服务提供商,致力于研发面向未来的安全解决方案。


文章来源: https://www.aqniu.com/vendor/86585.html
如有侵权请联系:admin#unsafe.sh