본문 바로가기
HACKING/Docker

[ kubernetesgoat5 ] Hidden in layers

by asdf12345 2021. 9. 7.

[ kubernetes-goat#5 Hidden in layers ]

Table of contents

#0 개요

#1 Forensics

#2 대응 방안

 

#0 개요

도커 이미지는 이용자가 명령을 수행한 결과인 레이어의 모음집이다. 만약 이용자가 Dockerfile을 이용해 빌드한 이미지를 공격자가 이를 획득할 수 있다면, 겹겹히 쌓인 레이어들을 분석하므로써 실행한 명령어와 내용을 확인할 수 있다.

#2 Forensics

1) 기본이미지에 실행된 명령어 확인

Dockerfile이 없는 상태에서 docker history 를 조회하여 실행된 명령어 확인 가능

docker history --no-trunc madhuakula/k8s-goat-hidden-in-layers

2) alpine/dfimage를 이용해 실행한 명령어 확인

alias dfimage="docker run -v /var/run/docker.sock:/var/run/docker.sock --rm alpine/dfimage"
dfimage -sV=1.36 madhuakula/k8s-goat-hidden-in-layers

3) dive를 이용하여 docker save로 추출한 이미지 레이어 내용 확인

docker pull madhuakula/k8s-goat-hidden-in-layers
dive madhuakula/k8s-goat-hidden-in-layers:latest
docker save madhuakula/k8s-goat-hidden-in-layers -o hidden-in-layers.tar

#2 대응 방안

공개할 이미지에 대해 중요 정보를 이용한 명령어를 이용하지 않을 것을 권고드립니다.

'HACKING > Docker' 카테고리의 다른 글

[ kubernetesgoat3 ] RBAC Least Privileges Misconfiguration  (0) 2021.09.06
[ kubernetes-goat2 ] DIND  (0) 2021.08.31