DooD
DooD(Docker out of Docker)는 DinD에서 발생하는 문제를 해결하기 위해 사용되는 기술입니다.
도커 안에서 도커를 생성하는 DinD와 다르게 호스트의 Docker 도구를 사용하여 호스트 위에 다른 도커를 생성하는 방식입니다.
호스트에서 도커와 통신하기 위해서 접근 제어를 위해 데몬 프로세스가 통신을 중개합니다.
도커는 호스트의 특정 파일을 사용할 이유가 거의 없기 때문에 대부분 호스트에서만 소켓 파일(dockerd.sock / containerd.sock)이 있지만, DooD 방식에서는 도커가 호스트의 Docker 도구를 실행하여 호스트 위에 새로운 도커를 생성해야 하기 때문에 소켓 파일이 도커 내에도 있어야 합니다.
이를 위해 DooD 방식을 사용할 경우 소켓 파일을 도커 내에도 마운트 시켜줘야 합니다.
소켓 파일을 가진 컨테이너는 호스트의 도커에 대한 명령을 할 수 있는 상태이기 때문에 privileged로 설정된 새로운 컨테이너를 생성할 수 있게 됩니다.
호스트에 새로운 privileged 컨테이너를 생성한 이후의 공격은 DinD와 동일합니다.
Abuse
Last updated
