1.【安全干货】DockerCVE-2018-6552
【安全干货】DockerCVE-2018-6552
cve--
此漏洞未有公开分析,源码唯一的源码参考是长亭在滴滴安全大会的PPT,信息简略,源码仅在完成利用后发现一些未注意到的源码顾客投诉系统源码细节。漏洞基于条件竞争,源码主要影响未修复版本的源码is_same_as函数,通过特殊方法使其不执行正常逻辑,源码继续往下执行。源码
源码分析
展示了is_same_as源码,源码以及修复前后版本的源码对比。apport源码位于2..9版本,源码盲盒寄售源码追踪源码找到更改过的源码pid进入get_pid_info,贴出源码。源码
apport为ubuntu程序,源码用于处理程序崩溃信息,源码配置文件如/sys/kernel/core_pattern影响生成core文件的圣心脚本的源码命名方式。核心是确定生成的core文件路径,以及内核coredump.c传入的参数。
核心配置文件为/sys/kernel/core_uses_pid,值为1代表生成的core文件带.pid,0代表不带。sar转向指标源码同时,/proc/sys/kernel/pid_max限制最大pid值,影响核心循环计数。logrotate配置用于日志管理。
在Ubuntu .中,布林交易源码apport与漏洞版本差异大,选择替换整个apport文件。遇到程序不运行问题,可能涉及core_pattern配置。通过日志分析发现入参多了一个%E,删去后程序恢复正常。
逃逸步骤
利用条件竞争绕过分支,首先kill对应pid,然后通过大量fork等待创建进程,占用pid。利用docker内进程路径控制物理机中core生成路径。生成core前检查ulimit -c,限制core文件大小,设置ulimit -c unlimited。
逃逸第二步
通过logrotate定时任务触发执行core中的指令,将想运行的指令写成字符串形式,保存在core文件中。使用logrotate格式编写命令,确保成功执行。手动触发logrotate命令,监听对应端口以获取返回结果。
2024-12-29 06:05
2024-12-29 05:44
2024-12-29 05:43
2024-12-29 05:40
2024-12-29 05:27
2024-12-29 04:44
2024-12-29 04:33
2024-12-29 04:22