蛰伏的Shell:攻击者如何在IvantiEPMM中植入休眠后门

admin 2026-02-17 20:14:34 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文章分析了针对IvantiEPMM的休眠后门攻击,利用CVE植入驻留内存的Java类加载器。该后门位于/mifs/403.jsp且暂未激活,属初始访问代理行为。建议立即修补、重启以清除内存,并监控日志中的特定IOC指标以防御此类隐蔽入侵。 综合评分: 92 文章分类: 漏洞分析,威胁情报,应急响应,WEB安全,漏洞预警


cover_image

蛰伏的Shell:攻击者如何在Ivanti EPMM中植入休眠后门

骨哥说事 骨哥说事

骨哥说事

2026年2月10日 15:11 上海

| | | — | | 声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。 |

#

#

防走失:https://gugesay.com/

不想错过任何消息?设置星标↓ ↓ ↓

#

#

#

自漏洞披露以来,针对Ivanti Endpoint Manager Mobile(EPMM)的利用活动持续不断。这已不是新闻。主要机构——包括政府机构——已通过此攻击向量被攻陷,而我们正在追踪另一次正在兴起的利用浪潮。

在 2026年2月4日,遥测数据开始监测到一次协同行动,其模式与此前的大规模利用活动不同。与预期中“砸抢式”的利用后行为(例如:投放传统的WebShell、运行侦察和枚举命令)不同,这名攻击者的行为更加深思熟虑:上传一个有效载荷,确认其成功部署,然后离开。

没有执行任何命令,植入物只是“沉睡”在那里。

核心要点: 此次攻击行动部署了一个休眠的、驻留内存的Java类加载器到 /mifs/403.jsp——这是一个相对不那么常见的WebShell路径。该植入物只能通过特定的触发参数激活,并且尚未观察到进一步的利用行为。这暗示了 “初始访问代理” (IAB, Initial Access Broker)的惯用手法:先获取立足点,然后稍后再出售或移交访问权限。

相关漏洞

Ivanti在EPMM中披露了两个严重漏洞:CVE-2026-1281 和 CVE-2026-1340。两者都涉及身份验证绕过和远程代码执行,分别影响不同的软件包。实际效果相同:未经身份验证即可访问应用级端点。Ivanti通过其 安全公告 发布了补丁指南,但该漏洞很快便在野外被利用。

早期的大部分活动都在预料之中——机会性扫描、大规模利用和通用的WebShell投放。

针对 /mifs/403.jsp 的攻击行动

此次攻击行动中的每次利用都将一个WebShell投放到以下路径:

/mifs/403.jsp

该路径本身并非首次出现——在先前针对Ivanti和MobileIron基础设施的入侵事件中,就曾观察到“403.jsp”与其他基于JSP的WebShell一同出现。使此次攻击值得关注的原因,不在于载荷被放置在哪里,而在于它一旦部署后所做的事情。

攻击者并没有部署一个具有交互式命令执行功能的传统WebShell,而是通过HTTP参数传递了一个经过Base64编码的Java类文件。每个载荷解码后都是一个有效的Java字节码文件,其作用是作为一个休眠的、驻留内存的类加载器,而非一个立即可用的后门。这一区别很重要,将在下文中详细阐述。

剖析 base.Info——内存中的加载器

该载荷是一个编译后的Java类 base.Info(源文件为 Info.java)。它并非传统意义上的WebShell——它本身不提供命令执行、文件访问或任何交互能力。它是一个阶段化的加载器:它的唯一目的是接收、加载并执行稍后通过HTTP传递的第二个Java类。

工作原理

该类使用 equals(Object) 作为其入口点,这虽不常见但却是故意的——因为像 doGet 或 doPost 这类标准的servlet处理方法更可能被安全工具标记。parseObj 方法从参数中提取 HttpServletRequest 和 HttpServletResponse,并包含后备逻辑来处理 PageContext 对象和各种servlet包装器/外观模式。这确保了加载器能在不同的容器环境中移植运行。

一旦被调用,加载器会检查是否存在名为 k0f53cf964d387 的HTTP参数。如果存在,它会从参数的值中去掉一个两个字符的前缀,并将剩余部分Base64解码为原始字节。然后,这些字节通过反射调用 ClassLoader#defineClass 作为Java类在内存中加载——没有任何内容写入磁盘。接着,将生成的类实例化并传入一个包含基本主机信息的字符串参数,其 toString() 方法的输出将作为HTTP响应的一部分返回。

响应正文被包裹在固定的分隔符 3cd3d / e60537 中,并以 text/html 格式提供,这使得自动化工具可以很容易地解析。

对于Base64处理,加载器同时支持 java.util.Base64(Java 8+)和 sun.misc.BASE64Decoder,确保了在新旧JVM版本上的兼容性。

主机信息收集

在调用第二阶段类之前,加载器会收集一小部分环境信息:应用程序工作目录、文件系统根路径、操作系统名称和运行时的用户名。这些信息作为构造函数的参数传递给第二阶段的类——很可能是在帮助攻击者日后辨识目标环境。

尚未观察到的行为

从防御角度来看,这部分才是关键。在所有观测到的遥测数据中,加载器被部署并确认可用,但没有观察到任何后续请求向触发参数提供第二阶段的类。访问权限被建立,然后就被搁置了。

这与初始访问代理 (IAB) 的活动特征一致。这种工具是通用的、与容器无关的——它被设计成在各种环境中可靠地工作,而不是执行任何特定的利用后任务。攻击者大规模部署了它,验证了其成功着陆,然后就离开了。其目的很可能是为了将经过确认、可用的访问权限打包,以便出售或移交给另一方,而后者将在未来某个时间从不同的基础设施激活它。

这种分离——一个角色建立访问,另一个角色利用它——使得这种模式在实际中难以检测。在最初的入侵和最终的使用之间,存在一个遥测线索静默的间隙期。

需要关注什么

如果您正在运行Ivanti EPMM,出现以下任何活动都应被视为 入侵或入侵尝试的证据——即使没有观察到后续的利用行为。尤其是没有后续活动时。缺乏进一步活动并不意味着访问权限没有价值;这可能仅仅意味着它尚未被激活。

立即行动: 按照供应商指南立即为Ivanti EPMM打上补丁。重启受影响的应用程序服务器以清除内存中的植入物——这一点至关重要,因为该载荷从不接触磁盘。然后,根据以下指标审查访问日志。

日志指标

  • 对 /mifs/403.jsp 的任何请求
  • 以 yv66vg(Java魔法字节 CAFEBABE 的Base64编码)开头的大型Base64参数
  • 请求字符串中包含参数名 k0f53cf964d387
  • 响应正文中包含标记 3cd3d 或 e60537
  • 任何包含 ERROR://(加载器的错误格式)的响应

入侵指标

载荷特征

| 字段 | 值 | | — | — | | 类名 | base.Info | | 源文件 | Info.java | | SHA-256 | 097b051c9c9138ada0d2a9fb4dfe463d358299d4bd0e81a1db2f69f32578747a |

网络IOC – 源IP地址

| IP地址 | 所属组织 | ASN | 国家 | | — | — | — | — | | 104.219.171.96 | Datacamp Limited | AS212238 | 🇺🇸 | | 108.64.229.100 | AT&T Enterprises, LLC | AS7018 | 🇺🇸 | | 115.167.65.16 | NTT America, Inc. | AS2914 | 🇺🇸 | | 138.36.92.162 | HOSTINGFOREX S.A. | AS265645 | 🇺🇸 | | 146.103.53.35 | Datacamp Limited | AS212238 | 🇺🇸 | | 148.135.183.63 | Datacamp Limited | AS212238 | 🇺🇸 | | 151.247.221.59 | Datacamp Limited | AS212238 | 🇺🇸 | | 166.0.83.171 | UK Dedicated Servers Limited | AS42831 | 🇬🇧 | | 172.59.92.152 | T-Mobile USA, Inc. | AS21928 | 🇺🇸 | | 185.240.120.91 | Datacamp Limited | AS212238 | 🇺🇸 | | 185.239.140.40 | Datacamp Limited | AS212238 | 🇪🇸 | | 194.35.226.128 | LeaseWeb Netherlands B.V. | AS60781 | 🇳🇱 | | 193.41.68.58 | LeaseWeb Netherlands B.V. | AS60781 | 🇳🇱 | | 77.78.79.243 | SPCom s.r.o. | AS204383 | 🇨🇿 | | 62.84.168.208 | Hydra Communications Ltd | AS25369 | 🇬🇧 | | 45.66.95.235 | Hydra Communications Ltd | AS25369 | 🇬🇧 | | 46.34.44.66 | Liberty Global Europe Holding B.V. | AS6830 | 🇳🇱 |

Defused平台遥测数据中提供更多IOC信息。

第三方检测

base.Info 类被提交到VirusTotal,Nextron Systems的THOR APT扫描器根据一个通用的JSP WebShell特征规则给出了告警。传统的杀毒引擎大多会漏掉这个恶意代码——对于一个从不接触磁盘的载荷来说并不意外——但启发式引擎正确地识别了与内存中类加载器一致的行为特征。

查看 VirusTotal上的链接

安静的入侵者更危险

在事件响应中,人们倾向于优先处理那些“喧嚣”的入侵事件——引爆的勒索软件、大规模数据外泄、点亮所有检测规则的横向移动风暴。此次攻击行动是一个有用的提醒:最危险的入侵往往是那些(暂时)什么都不做的入侵。

使用未记录的JSP路径、内存中的Java加载器以及休眠的执行触发器,代表了针对企业移动基础设施的利用后技术向前迈进的一大步。当攻击者的目标是建立访问权限储备库,而非立即造成损害时,所有通常的紧急信号都会归于沉寂——而这正是关键所在。

如果您正在运行Ivanti EPMM,不要等待第二幕上演。现在就需要修补、重启并开始排查。 加载器很有耐心。但您不能。

以上部分技术分析获得了人工智能的辅助。

原文:https://defusedcyber.com/ivanti-epmm-sleeper-shells-403jsp

  • END –

感谢阅读,如果觉得还不错的话,动动手指给个三连吧~


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:骨哥说事 骨哥说事 骨哥说事《蛰伏的Shell:攻击者如何在Ivanti EPMM中植入休眠后门》

评论:0   参与:  0