Shell中的幽灵王者—JAVAWEB 内存马 【认知篇】(1)

  • 对于各种中间件/框架,利用其设计模式,可挖掘出多种内存马的利用方式。

除了按照内存马的实现方式分类,还可以按照内存马的利用方式分为:冰蝎马、哥斯拉马、蚁剑马、命令回显马、流量隧道马等等。

0×04 实用性讨论

在经过一番调研后,我发现在实战过程中使用内存马技术的人不在少数,使用内存马的人主要有以下原因,这也是内存马的优势:

  • 由于网络原因不能反弹 shell 的;
  • 内部主机通过反向代理暴露 Web 端口的;
  • 服务器上有防篡改、目录监控等防御措施,禁止文件写入的;
  • 服务器上有其他监控手段,写马后会告警监控,人工响应的;
  • 服务使用 Springboot 等框架,无法解析传统 Webshell 的;
  • 对内存马技术感到不明觉厉的…

但同时,内存马的缺点也很明显:

  • 服务重启后会失效;
  • 对于传统内存马,存在的位置相对固定,已经有相关的查杀技术可以检出。

但即使如此,对于大多数线上的服务,由于对可用性要求较高,通常情况下服务频繁重启的可能并不大,再加上诸多优点,内存马还是成为攻击者首选的 Webshell 维持方式。

攻击者通常使用冰蝎、哥斯拉等 Webshell 管理工具的 Webshell 内容作为内存马的恶意逻辑,这样可以使用后续的相关功能。当然也可以使用如 regeorg 等逻辑打通内网隧道,或简单的命令回显。

在内存马的选择和使用上,属于见仁见智,有人喜欢 Servlet-API 内存马,觉得比较原生;有人喜欢 WebSocket 内存马,觉得更新颖;有人喜欢 Agent 型内存马,觉得更通用。无论使用哪种,都需要考虑对实际环境的影响,例如 Filter 型内存马一般将自己放在 FilterChain 的首尾,如果处理 /* 的请求,就需要考虑 FilterChain 中后续 Filter 处理的影响。使用 Agent 型内存马要考虑自己复杂的逻辑会不会导致 JVM Crush 的情况。

本次调研发现,总体来说,最受欢迎的

  • 7
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值