Dangerzone举办CTF赏金挑战

admin 2025-12-23 01:40:33 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: Dangerzone举办CTF赏金挑战,邀请安全专家测试其安全防御系统。挑战者需通过特制文档尝试突破三层安全隔离(gVisor沙盒/Podman容器/主机系统),捕获不同位置的Flag。赏金分为三等:主机Flag1700美元,容器Flag1000美元,沙盒Flag300美元,总计上限3000美元。参与者需创建特制文档,加密后提交PR,成功捕获Flag即可获得赏金。这是一个总额上限的漏洞赏金计划,旨在发现Dangerzone安全系统的潜在漏洞。 综合评分: 85 文章分类: CTF,漏洞分析,赏金活动,安全测试,容器安全


cover_image

Dangerzone举办CTF赏金挑战

Dubito

云原生安全指北

2025年12月22日 08:35 江苏

Dangerzone公开邀请安全专家测试其安全防御。挑战者可通过特制文档尝试突破三层安全隔离(gVisor沙盒/Podman容器/主机系统),最高可获得3000美元赏金。

注:本文翻译自Dangerzone的文章《Pwning Santa before the bad guys do》[1],可点击文末“阅读原文”按钮查看英文原文。

全文如下:

一、背景故事

从前,圣诞老人通过可靠的邮递员接收来自世界各地孩子们的来信。但时代变了!随着孩子们越来越多地待在网上,圣诞老人不得不适应新变化,开始处理数字形式的信件。

于是,Kenny Longears 登场了,他是圣诞老人安全团队的一名精灵(是的,弗吉尼亚,圣诞老人也有安全团队)!🧝 Kenny 一直更喜欢传统的纸质信件。那样的话,他就不用担心那些北极不该有的蠕虫、漏洞和其他有害物。虽然不太情愿,他还是顺应了新时代,在圣诞老人的笔记本电脑上部署了 Dangerzone[2] 来安全地打开电子邮件附件。但是等等!一向谨慎的 Kenny 决定挑战一下圣诞老人的红队,让他们在那些顽皮的黑客之前,找出 Dangerzone 的漏洞。

二、挑战任务

设计一封顽皮的信件,能够演示性地绕过 Dangerzone 的部分或全部防御,并赢得赏金 💰。

ℹ️ Dangerzone 工作原理快速回顾

Dangerzone 在一个安全的沙盒中对文档进行无害化处理,这个过程类似于复印。它的工作方式是启动一个 Podman[3] 容器,该容器再启动一个 gVisor[4] 沙盒来读取文档。随后,沙盒将文档转换为 PDF,再将 PDF 页面转换为像素。运行在主机上的 Dangerzone 逻辑将这些像素转换为图像,并可选地对其进行 OCR(光学字符识别),最后创建一个 PDF。这个生成的 PDF 看起来与原文档一样,但阅读和分享起来是安全的。

更多信息:

  • • 关于 Dangerzone[5]
  • • 安全驶入 Dangerzone:利用 gVisor 减少攻击面[6]

为了演示您的攻击,您可以向 https://github.com/freedomofpress/santa-pwn-dangerzone/ 提交一个包含特制文档的 PR,然后一个 CI 作业[7] 将使用 Dangerzone 对该文档进行无害化处理。这里的关键在于,这个 CI 作业将三个 Flag 放置在了以下位置:

  1. 1. 文档被转换为像素的沙盒内(位于 gVisor 沙盒内的 /home/dangerzone/raster.flag)。
  2. 2. 为转换而启动 gVisor 沙盒的容器内(位于 Podman 容器内的 /gvisor.flag)。
  3. 3. 安装了 Dangerzone 的 CI 作业主机上(主机上的 ~/secrets/host.flag 文件)。

如果您成功捕获了一个或多个 Flag,请将其添加到无害化处理后的文档中,或从转换沙盒中将其打印到 stderr。CI 作业将会检测到它,并且该提交将被视为成功。

三、赏金

捕获不同 Flag 的难度各不相同。Dangerzone 的运作基于一个假设:攻击者能够在我们用于栅格化(rasterization)的程序(如 LibreOffice 和 PyMuPDF)中找到漏洞。因此,我们预计 raster.flag 在某个时间点会被捕获。捕获 gvisor.flag 则需要逃逸出 gVisor 沙盒,这要困难得。而捕获 ~/secrets/host.flag 则需要同时结合 gVisor 沙盒逃逸和 Linux 容器逃逸,这在我们已知的真实攻击中还未出现过。

每一个 Flag 都对应一笔赏金,首个捕获它的 PR 将获得该赏金 🤑。赏金等级如下:

  1. 1. 🥇 主机上的 ~/secrets/host.flag1,700 美元
  2. 2. 🥈 Podman 容器内的 /gvisor.flag1,000 美元
  3. 3. 🥉 gVisor 沙盒内的 /home/dangerzone/raster.flag300 美元

一个 PR 可以同时捕获多个 Flag,在这种情况下,它可以获得全额赏金,即 3,000 美元。请注意,每个 Flag 只能被捕获一次,因为我们需要将所有提交的总支付金额上限设定为 3,000 美元。如果有多个提交捕获了同一个 Flag,则以第一个为准 🏁。

四、开始行动

  1. 1. Fork 仓库 https://github.com/freedomofpress/santa-pwn-dangerzone/。
  2. 2. 制作包含载荷的文档(请参阅支持的类型[8])。
  3. 3. 使用 Kenny 的公钥[9] 加密文档。
gpg --import < kenny.asc
gpg --recipient [email protected] --encrypt ./letter
  1. 4. 提交一个 PR,然后挑战正式开始!🥳

五、常见问题解答

5.1 为什么提交文档时需要加密?

加密您的提交主要有两个原因。首先,这是一个公开挑战,我们希望保护您的想法不被他人复制。其次,也是更重要的,我们旨在防止现实世界中的攻击者,观察到潜在的漏洞利用手法并以此攻击我们的用户。加密有助于维护挑战的完整性和安全性。

5.2 提交成功后会发生什么?

如果您的提交成功,我们会引导您前往我们的 Bugcrowd 账户[10] 领取奖励。同时,您将拥有此漏洞利用的所有权。我们将协助您联系受影响的各方,并帮助您获取他们可能为该漏洞提供的任何额外赏金。

5.3 我可以在本地试验这个挑战吗?

当然可以!我们鼓励您在本地安装 Dangerzone,并尝试创建一个能在无害化处理过程中读取您 PC 上文件的文档。也请查看我们的 CI 作业[7],了解我们如何为挑战放置 Flag。一旦您制作好文档,随时可以提交加密版本作为 PR。祝您实验愉快!

5.4 我的提交必须通过无害化处理步骤吗?

如果您的提交无法被无害化处理,这意味着我们无法在最终生成的文档中检查是否捕获了 Flag。不过,这不成问题,因为我们也会在转换日志中寻找 Flag。如果您捕获了一个 Flag,可以将其打印到进程的 stderr,它将被包含在转换日志中。您也应该能在 CI 作业的输出中看到它。

5.5 我可以提交其他类型的问题吗?

如果这些问题危及 Dangerzone 的安全性,我们鼓励您通过我们的 Bugcrowd 账户[10] 提交。我们可能会根据问题的严重程度(例如,它们可能捕获哪个 Flag)来发放赏金。

如果这些问题针对的是本次 CI 作业本身,则被视为不在范围内。

5.6 难道我们已经沦落到这种地步,以至于人们愿意为了不到六位数的赏金就牺牲一个 gVisor/内核 0-day 漏洞吗?

当然不是!我们正生活在最美好的时代,人们可以将自己的才华贡献给间谍软件公司,赚取丰厚报酬,然后安然入睡!但同时,让我们现实一点,没有人会浪费价值六位数的漏洞来攻破 Dangerzone。如果有人真这么做,那恰恰说明 Dangerzone 成功地保护了所有其他不具备经济价值目标的用户。

然而,我们希望避免的情况是,存在一个漏洞,使得绕过 Dangerzone 采用的防御层变得轻而易举。这正是我们在此要寻找的。而且,与此相关的无害化处理逻辑代码量其实非常小。所以,希望这笔赏金能激励一些人来看看我们的代码仓库。

5.7 这是一个 CTF 挑战,还是一个漏洞赏金计划?

这是一个有总额上限的漏洞赏金计划。背后的故事是这样的:Dangerzone 从未设立过漏洞赏金计划,而其姊妹项目 SecureDrop 则设有[10]。我们的团队成功地从今年未花完的漏洞赏金池中争取到了一些资金,并决定给它加上一些节日色彩——因为,为什么不呢?我们希望未来某个时候,我们能建立一个真正的漏洞赏金计划。

引用链接

[1] 《Pwning Santa before the bad guys do》: https://dangerzone.rocks/news/2025-12-10-santa-pwn/ [2] Dangerzone: https://dangerzone.rocks/ [3] Podman: https://podman.io/ [4] gVisor: https://gvisor.dev/ [5] 关于 Dangerzone: https://dangerzone.rocks/about/ [6] 安全驶入 Dangerzone:利用 gVisor 减少攻击面: https://dangerzone.rocks/news/2024-09-23-gvisor/ [7] CI 作业: https://github.com/freedomofpress/santa-pwn-dangerzone/blob/main/.github/workflows/submit.yml [8] 支持的类型: https://github.com/freedomofpress/dangerzone?tab=readme-ov-file#some-features [9] Kenny 的公钥: https://github.com/freedomofpress/santa-pwn-dangerzone/blob/main/kenny.asc [10] 我们的 Bugcrowd 账户: https://bugcrowd.com/engagements/freedomofpress

交流群


免责声明:

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

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

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

本文转载自:云原生安全指北 Dubito《Dangerzone举办CTF赏金挑战》