VvAA平台两个IDOR漏洞导致13万医疗工作者数据泄露风险

本文详细披露了荷兰VvAA保险平台存在的两个IDOR漏洞,这些漏洞可能导致13万医疗工作者的敏感数据泄露,包括网络风险保险单等重要文件。文章包含完整的技术分析过程、漏洞利用方法和修复时间线。

VvAA平台两个IDOR漏洞导致13万医疗工作者数据泄露风险

背景

如果一个勒索软件团伙能够确切看到哪些医疗机构投保了勒索攻击保险,这些保险单还包含保证支付赎金的条款,会发生什么?

这将是每个勒索软件团伙的梦想,今天我们将见证两个漏洞如何使这成为可能。

在深入技术细节之前,先了解一下在没有适当协调漏洞披露的情况下进行道德黑客攻击的背景,以及一些关于为医疗机构提供赎金支付的勒索保险的想法。

医疗行业勒索威胁增加

根据医疗行业机构CERT组织Z-CERT.nl的2023年度报告,目前医疗行业最大的威胁之一是勒索软件和金融欺诈。他们描述说,与医疗机构本身相比,IT供应商更常成为攻击目标。

在欧洲,Z-CERT记录了29起欧洲医疗机构的勒索软件事件,其中3起在荷兰,包括初级医疗保健(第13页)。

覆盖赎金支付的保险

为什么会有人对一家公司进行勒索?为了钱。没有钱,就没有(不道德的)黑客。

医疗诊所不会被持枪窃贼抢劫或勒索是有充分理由的,那里根本没有钱…由于荷兰政府和医疗保险规范了这些诊所的收入,它们没有获得巨额利润。这可能解释了为什么(商业)供应商目前更常成为攻击目标。

但如果一家保险公司开始提供覆盖诊所所需赎金的保险呢?我们可能会创造一个开始黑客攻击医疗诊所的好理由?

今天我们将仔细研究VvAA,这是荷兰医生和医疗诊所使用的最大保险和咨询公司之一。他们声称代表超过13万医疗保健提供者。包括我自己,我自2005年以来一直是会员,并在过去10年购买了保险(不,不是网络保险)。为什么?因为他们是一家伟大的公司,扎根于荷兰医疗保健,100年前由3名医生创立。

换句话说,他们了解医生的想法,他们与社区互动并努力做好事;证据就在布丁里,让我们开始黑客攻击。

缺乏协调漏洞披露

一年多前,我们讨论了HAwebsso.nl的数据泄露事件,该事件导致超过1.5万名荷兰医生的私人详细信息泄露,包括他们的电子邮件和哈希密码。这是一个有趣的发现,因为它揭示了一个存在至少3年(关于Archive.org日志甚至可能5年)的错误。

在那次黑客攻击中获得的数据可以轻松用于进行鱼叉式网络钓鱼攻击。

LHV迅速缓解了该错误并协调了披露,这是如何在医疗保健中应用协调漏洞披露的一个很好的例子。

今天我们来看看VvAA。在发现该错误时(2023年3月24日),他们没有发布适当的负责任披露或协调漏洞披露政策。

这使得道德黑客测试其基础设施问题有点风险,并且是帮助保护其资产和客户数据的人才的巨大损失。好消息是,在本报告之后,他们已经实施了该政策!

在本报告几个月后,CVD政策发布了

人们可能会问自己,如果你没有被明确允许黑客攻击系统,那么黑客攻击系统是否不道德?

有人可能声称进行这种安全研究符合公共利益,可以与试图研究对我们社会有严重影响的新闻记者相媲美。另请参阅DIVD的行为准则:

我们意识到我们在法律允许的边缘运作,因此我们遵循法院在漏洞披露案件中常用的这三个标准:

社会需求:我们进行漏洞披露是为了防止对尽可能多的互联网用户造成在线损害,不服务于任何特定的财务、政治或个人利益。

相称性原则:我们用适当的手段满足这一需求。我们的研究应该增加而不是降低在线系统的完整性和可用性。

辅助性原则:如果有几种方法可以满足需求,我们选择影响最小的方法。

一个真实的例子是荷兰记者Daniel Verlaan黑客攻击欧盟国防部长视频会议。据我所知,他没有获得研究许可,但他没有因这次黑客攻击而被起诉。博雷利先生在他黑客攻击期间告诉他:

“你知道这是刑事犯罪吗?你最好在警察到达之前迅速退出。” — 博雷利先生,2020年11月21日

一个明确的信号,我们仍然需要努力说服(政治)领导层,我们需要支持像丹尼尔这样的道德记者/黑客。不要起诉或恐吓他们,甚至制定使他们的工作有风险的法律。

一个好的发展是我们司法部长最近对DIVD的认可;因为DIVD不停扫描整个互联网以查找漏洞,并向系统所有者负责任地披露这些错误。无论他们在世界何处,无论他们是否有负责任披露政策。没有人会起诉消防员吧?顺便说一句,他们一直在寻找人才,所以如果可以的话加入他们!

IDOR漏洞1:获取您的个人文件

我们这次黑客攻击的最终目标是获取每个人的私人保险单文件。谁有覆盖勒索软件攻击的保险,包括保证的勒索软件支付?让我们获取这些文件!

由于我在这里需要非常谨慎(没有CVD政策),我联系了一位也是VvAA保险客户的同事,问她是否同意我尝试获取她的文件和保单。她同意了并分享了她的账户详细信息。

在他们的内部门户上拥有两个账户有助于我以安全的方式找到IDOR错误;我可以使用我朋友的ID而不是"随机"的ID来攻击其他客户。

开始吧!登录我自己的账户后,我立即识别出URL中的/s/。这通常暗示幕后使用了Salesforce。

URL路径中的/s/部分暗示他们的后端可能是Salesforce

页面源代码证实了这一点;Salesforce被用作其后端系统

Salesforce与对象一起工作;幕后的一切都是对象。您的发票有一个对象ID,您的个人资料有一个对象ID,所有其他存储的数据都可以通过引用ID来访问。

每当您能够找到一个ID时,您可以像这样构造URL:https://mijn.vvaa.nl/objectidhere 另请参阅此博客以获取更多背景信息。

在使用Burp作为代理来MITM流量时,我收集了在流量中看到的对象ID。当我访问我的联系方式时,一个是0011r00002IXXXXX。

我的个人资料对象ID的原始(隐藏)视图。审查了一些个人详细信息。在这里您可以看到我的未结案和我订阅的服务。它包含我联系他们的通话记录。不是超级秘密,但这是他们用来记录我的客户关怀互动的内容。

当我访问该URL时,我得到了另一个提示,Salesforce实例配置不当,暴露原始对象视图通常会暴露配置松散。在此处阅读有关如何保护此内容的更多信息。

点击案例,我可以更改状态和优先级。影响不大,但我不应该能够访问此内容。

这已经足以让我联系VvAA告知我的担忧;因此我在2023年3月24日午夜00:00通过电子邮件联系了他们的隐私官。同一天12:45,他们的CISO联系我安排电话讨论当前发现。

那天14:30,我找到了导致所有文件泄露的IDOR。

步骤1

启动Burp并使用2个账户登录。左侧是攻击者,右侧是受害者。

左侧是攻击者(Chantal)。右侧是受害者(Jonathan)

加载概览(Overzicht)页面时,它会共享您账户中可访问的文档/PDF文件。可以在右侧看到我列表中有一些发票和保单协议。

“Uw laatste berichten”(您的最新消息)包括共享文件。

填充此概览的请求使用relatienummer id(客户ID)来获取这些文件。此ID是一个整数,可以轻松枚举。

审查了我的’RelatieNummer’/客户ID。此ID用于获取客户的所有文件。

如果您仔细查看此屏幕截图,您会看到它想要运行命令getMijnVvAADocs,并且它使用RelatieNummer变量仅获取当前登录用户的文档。

重要的是要提到,这是VvAA添加到他们自己网站的自定义功能。因此此错误不是任何其他Salesforce实例的一部分,也不是Salesforce特定问题。因此,如果您运行一个实例,不必担心您的实例。

如果我们将该ID更改为受害者的客户ID会怎样?我们会得到其他用户的文档吗?

攻击者能够获取我们受害者的文档。

受害者的保单详细信息可以被攻击者下载

砰!我们可以访问受害者和

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计