转载

MDM移动终端管理系统SAP Afaria的存储型XSS漏洞利用过程

在这里,将会演示对 SAP Afaria(一款全球知名的MDM手机终端管理软件)进行漏洞分析,同时分析网络攻击者如何利用漏洞进行攻击。

FreeBuf百科:什么是MDM?

简而言之,MDM就是帮助企业对员工的移动终端(如智能手机、平板或者平板手机等)进行管理,也就是可以帮助企业加强企业数据在这些设备上的存储及查阅的安全管理。而这个需要在被管理的移动终端上安装一个app,管理员可以通过系统对这些移动终端进行管理,包括像获取运行轨迹、下载指定应用,管理设备的网络或者其他设置的开启关闭权限等。

Afaria在全球也是被广泛使用的,我们在互联网上发现有140台Afaria服务器。其中,分布如下图,

MDM移动终端管理系统SAP Afaria的存储型XSS漏洞利用过程

正如上述地图上展示的,目前数量最多是美国和中国。

发现存储型XSS漏洞

在研究SAP Afaria的时候,发现了一个有趣的漏洞,下面将逐步分析下漏洞的利用。

首先,在Afaria上,管理员对设备进行管理(像一些策略设置或者终端信息查询等),都是通过浏览器进入管理页面,再进行其他设置。在网络管理控制台上,系统管理员可以获取到所有连接设备的列表,同时可以进行创建新的移动设备配置,下载应用程序,控制设备等操作。

那么,当一个未知的设备接入到系统服务器上,会出现什么情况呢?

接着往下,让我们来看看,如果我们尝试不使用适当的权限(和用户帐户),将新设备连接到服务器上,我们将看到什么。

MDM移动终端管理系统SAP Afaria的存储型XSS漏洞利用过程 MDM移动终端管理系统SAP Afaria的存储型XSS漏洞利用过程

我们得到的结果是:首先,当然服务器是不允许我们连接进去的。但是,管理系统上的设备列表已经出现了我们的设备信息,它显示的状态是Not approved。这意味着攻击者可以匿名注入一些数据到管理控制台。我们先设想进行JS注入的可能性,因为这台server在显示设备 IMEI之前并没有对信息进行过滤。

这看起来像是一个存储型XSS漏洞。而这个漏洞看起来也是比较有趣的,因为他会将IMEI区域段限制到15位字符以内。这样的限制似乎不允许注入一个JavaScript脚本?但是,从攻击者的角度来看,也是可以将部分js payload 和 注释信息作为多个连接请求发送。

这对整个系统,特别是管理者来说,是十分危险的。当然,普通的afaria用户无法使用这些功能。然而,用户数据的注入仍然是可能的。

尝试注入

我们假设攻击者注入以下的js代码

alert('Hello Afaria! U so secure!');

接着,我们检测到,终端将会发送一个带有IMEI值的请求给到服务器

/*zzzzzz */a00="alert";/* */a01="('Hel";/* */a02="lo Af";/* */a03="aria!";/* */a04=" U so";/* */a05=" secu";/* */a06="re!')";/* */a07=";";/*zzzz */zzz=a00+a01+/* */a02+a03+a04+/* */a05+a06+a07+/* */'';/*zzzzzzzzz */eval(zzz);/*zz zzzzz*/

你是否已经观察到,上述检测到的请求信息在每一个查询里面都有 /**/,他们被用来标记在js代码中的注释信息。用这种方式,使得部分不需要的html标记不被删除。

尝试的结果

web服务器会在管理面板中,新建一张HTML网页,所有的字符片段将会被汇聚到一个js脚本上,并在管理员操作期间执行代码。它还允许攻击者从 Afaria管理面板上获取到数据,进而控制所有连接到这台服务器的设备终端。

下面的截图展示了在web管理控制台的源码中,在 IMEI 区域段中,注入了此前的JS代码。

MDM移动终端管理系统SAP Afaria的存储型XSS漏洞利用过程

SAP Afaria存储型 XSS漏洞:总结

该漏洞目前已经被修复,安装 SAP Note 2152669 可以解决该问题。

该问题从本质上来说是非常严重的,因为它可以未经授权就被远程利用。而从数量上来说,在因特网上我们可以看到有140台服务器。攻击者一旦成功,便可以控制企业机构的所有终端设备,执行一些敏感操作,如擦除数据、锁住智能手机,甚至强制终端下载恶意的带有后门的程序,以便可以获取用户数据。如果攻击者是商业间谍的话,还可能窃取到企业内部的核心数据文档等。

* 参考来源: infosecisland  编译/troy 转载请注明来自FreeBuf黑客与极客( FreeBuf.com)

正文到此结束
Loading...