SpringShell威胁检测:利用蜜罐捕获黑客攻击
远程代码执行漏洞:Spring Cloud Gateway的威胁
2022年初,Spring Cloud Gateway中发现了一个严重漏洞(CVSS评分:10.0)。当Gateway Actuator端点启用、暴露且未正确保护时,攻击者可通过Actuator API执行SpEL(Spring表达式语言)注入,导致系统完全被控制。受影响的版本包括3.1.1和3.0.7之前的所有版本(NVD - Cve-2022-22947, n.d.)。
威胁行为者通过精心构造的恶意请求,利用该漏洞在目标主机上插入任意远程代码。
蜜罐:主动威胁狩猎
蜜罐是一种故意设置错误配置和漏洞的工具,用于收集威胁行为者利用数字连接资产和目标应用的策略和方法。这种陷阱机器让攻击者误以为是真实目标,同时被监控和记录。
蜜罐的主要目的是吸引恶意行为者(如黑客和网络罪犯)并与之互动,收集有关其战术、技术和工具的宝贵信息。收集到的数据可用于威胁情报、研究和改进整体网络安全防御。
蜜罐为组织网络安全带来的价值
- 早期攻击检测:在攻击到达实际资产之前预先阻止。
- 威胁情报:获取对新攻击、漏洞利用、恶意软件、工具和技术的洞察。
- 签名生成:为新发现的攻击生成解药。
- 分散注意力:将黑客从实际资产中引开。
- 安全验证:验证组织环境的安全性。
蜜罐类型
在部署蜜罐之前,了解各种类型及其在威胁检测中的战略作用至关重要。
按攻击资源类型:
- 客户端蜜罐:利用客户端漏洞,也称为主动蜜罐。
- 服务器蜜罐:利用服务器端漏洞,也称为被动蜜罐。
按交互级别:
- 低交互:为黑客提供模拟环境,没有实际资产。通常设置简单。
- 高交互:提供真实环境和资产,与黑客进行更长时间的互动。通常设置和维护成本较高。
按部署类型:
- 生产蜜罐:在生产网络中欺骗黑客,保护实际资产。
- 研究蜜罐:用于深入了解黑客策略。通常黑客可以“越狱”进入完整的实际资产。
实现:收集PoC漏洞利用和恶意软件
图1显示了低交互蜜罐中的模拟环境,用于与威胁行为者互动,并收集针对Spring Cloud Gateway应用的漏洞利用和恶意软件。
网络流量分析
攻击者发送Post请求和JSON代码,在Spring Cloud Gateway中创建新路由,并通过JSON配置文件配置该路由的响应头。
步骤1:图2显示了使用深度包检测从PCAP转储文件中提取的“Post”请求和响应通信。
步骤2:通过Spring Gateway的/actuator/gateway/refresh端点触发配置重新加载,如果未正确保护,可能允许攻击者应用恶意配置更改(参见图3)。
步骤3:图4显示了远程命令执行,通过SpEL注入获取创建的路由以确认命令执行(例如,uid=0(root))。
步骤4:图5显示了删除创建的路由以避免检测。
解码Base64 Shell代码
一旦Base64脚本被解码,URL中嵌入了一个脚本,如图6所示。在受控的隔离环境中,使用Linux机器上的wget命令手动下载该脚本后,发现其中包含名为“KINSING MALWARE”的恶意软件。
|
|
使用VirusTotal API分析“KINSING MALWARE”,如图7所示,AV扫描器给出的威胁评分为39/66。
修复和建议
- 使用下一代防火墙增强保护,并配置针对SpringShell漏洞和利用的保护规则集。
- 部署区域或商业Azure应用程序网关。启用专门设计用于防御SpringShell利用的WAF规则。
- 最强的防御是升级到最新修补版本的Spring Security。开发人员还应测试一致的响应时间,无论登录凭据是否有效,以避免向攻击者泄露线索。
- 安装最新的防病毒扫描器,并定期更新AV扫描器的签名数据库。
- 实践主动威胁狩猎,而不是完全依赖反应性安全方法。
- 教育用户和员工有关网络卫生实践。
参考
- NVD - cve-2022-22947. (n.d.). https://nvd.nist.gov/vuln/detail/cve-2022-22947