前
言
当今,越来越多的企业开始采用云办公软件。同时,多个大型企业也纷纷推出了各自的云办公软件。而各种定制化开发应用嵌入导致的云办公软件不断臃肿,使企业的网络安全面临着日益增长的风险。而这种臃肿性使企业更容易成为攻击目标,大幅提高了安全隐患产生的机率。
如上述,在云办公环境中,每个应用都有属于它专属的应用id和应用密钥,当某个应用被泄露id和密钥后,会按被分配的权限多少而产生或大或小的危害。
如何系统地对办公应用云凭证攻击进行高效的后利用?对于这个问题,主要针对实战攻防技术研究的玄甲实验室,在目睹了多种应用办公云凭证泄露场景后,有了进一步的思考。
PART 01
实战思考
在实战攻防中,经常会遇到配置文件包含大量无法充分利用的、基于SASS或私有化部署应用的密钥。有时能够通过某种漏洞获取办公应用的一些凭证信息,类似于open ladp 弱口令后台凭据泄露等。
但针对这部分领域的后续利用研究相对较少,一旦遇到这种情况,一方面,需要在各种搜索引擎中寻找如何进行后续利用的方法;另一方面,如何证明并扩大这些凭证可能带来的危害,比如获取通讯录、进行精准社会工程钓鱼、获取知识库文件等,也是需要考虑解决的难点。
目前,常见的方法包括通过开发者模式简单利用密钥及一些简单的、针对单一应用密钥利用的工具。因此,思考如何系统性地针对办公应用云凭证进行后续利用,并将这些方法模块化、工具化,以便更高效地应对类似情况,就显得尤为重要。
PART 02
构想
鉴于这种情况,玄甲实验室萌生了一个构想,即研究并编写一个简单的工具,用于主流办公应用中凭证泄露的利用场景。玄甲实验室计划将平时积累的攻防经验和官方API文档结合起来,设计攻击实现的方式和流程,并将它们嵌入到这个工具中。
PART 03
功能总体实现图
按照上面的构想,大概是这样的一个整体功能实现图,以下内容将通过【通讯录模块-获取全员通讯录】、【消息模块-针对指定人发送文件】两个例子来拆解其功能的代码逻辑如何实现。
PART 04
部分功能实现拆解
诚然,对于功能的实现都是基于各个办公软件开发者平台的接口去进行的,这就像是在玩拼图和组装,在想法中构造并实现一定利于红队攻防的功能。
01
获取全员通讯录
一般开发者平台基本会提供获取部门的id列表的接口、获取部门成员列表和简单信息的接口,所以说组合可以为逐级获取所有部门的id,然后通过部门id遍历所有部门的成员,并提取需要的字段形成文件。最后工具实现大概是这个样子:
02
针对特定人发送消息
这其实是在后利用中挺重要的一个模块,而实现这个功能通常需要组合拳。一般对某人发送文件消息需要提供userid(对应某个人,可以通过通讯录获取),文件名(通过文件上传功能实现),有些需要应用id(也就是通过应用发送消息)。
所以组合的逻辑大概是:设置特定的社工语境-上传利于社工的文件-通过userid定位投递给某人。
上传文件
通过通讯录获取userid,以及上传文件回显的key,发送消息
最后的效果大概是这样
PART 05
总结
针对云办公凭证泄露问题,各个厂商都在一定程度上加强了防护措施。例如初始申请应用需要进行api调用白名单IP申请、权限分权较为细致、生成不同类型的令牌等。然而,实际使用中,人为因素仍然是一个重要的漏洞。有些人可能会过度申请权限,或者为了方便而开通所有IP白名单,这也给攻击者提供了可乘之机。因此,平时培养良好的安全意识,并规范安全建设的必要性不言而喻。
这篇文章只是浅显地分享一些凭证被泄露后简单的后利用思路,不只是云办公应用,其他例如视频、会议等也有各自的云凭证,都需要去研究并总结一些新概念和技巧。
已实现功能利用工具的体验下载链接如下👇: