主要观点:
- 在 CTF 房间制作表情包时得知 Nix 出现在 CTF 中,被吸引参与挑战。
- 有一个名为“Reproducible Pwning”的挑战,涉及 NixOS VM 根权限获取,构建用户权限不高,/data 目录的 flag 仅 root 可读。
- Nix 评估器有补丁,阻止了一些使受信任用户具有 root 权限的配置设置。
- 机器配置了特定 NixOS 模块,包含禁用 sudo 和 polkit 等非标准设置,还有暴露 Nix 守护进程套接字等内容。
- 尝试通过构建等操作获取 root 权限,先以普通用户运行构建,后在内部构建中关闭沙箱成功获取 root 权限并获取 flag,后得知有未预期的解决方案及预期解决方案。
关键信息:
- 挑战由niko编写,涉及 NixOS VM 根权限获取。
- /data 目录的 flag 仅 root 可读,有补丁阻止特定危险配置设置。
- 机器配置的 NixOS 模块包含禁用 sudo 和 polkit 等非标准设置,以及暴露套接字等内容。
- 通过构建操作先以普通用户获取用户信息,后在内部构建关闭沙箱获取 root 权限并获取 flag。
- 有未预期的解决方案及预期解决方案,未预期解决方案被认为也不算太差,因一旦成为受信任用户可假定能获取 root 权限。
重要细节:
- 补丁代码对特定配置项进行处理并给出提示。
- 机器配置的 NixOS 模块中各部分的具体内容及作用,如对 Nix 版本的覆盖、对各种服务的设置等。
- 构建过程中的各种命令及输出,包括获取用户信息、构建 drv 等的过程和结果。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。