Iriton's log

[Dreamhack] Beginner: blue-whale 본문

Pwnable/Wargame

[Dreamhack] Beginner: blue-whale

Iriton 2024. 11. 14. 16:41
 

blue-whale

Description 보코가 여러분에게 도움을 요청합니다. "분명 플래그 파일이 있었는데요... 없어졌어요." Docker hub의 dreamhackofficial/blue-whale 레포지토리 (TAG:1) 에서 도커 이미지를 다운받을 수 있습니다.

dreamhack.io

Description


보코가 여러분에게 도움을 요청합니다. "분명 플래그 파일이 있었는데요... 없어졌어요."

 

Docker hub의 dreamhackofficial/blue-whale 레포지토리 (TAG:1) 에서 도커 이미지를 다운받을 수 있습니다. 도커 이미지를 분석하여 플래그를 획득하세요.
주어진 Dockerfile은 이미지를 빌드할 때 사용한 파일로, 풀이자가 사용할 수 없습니다.

플래그 형식은 DH{...} 입니다.

 

Hint: https://github.com/wagoodman/dive

 

GitHub - wagoodman/dive: A tool for exploring each layer in a docker image

A tool for exploring each layer in a docker image. Contribute to wagoodman/dive development by creating an account on GitHub.

github.com

Docker 이미지, 레이어 내용을 탐색하고 Docker/OCI 이미지의 크기를 줄이는 방법을 발견하는 도구이다.

다운로드부터 사용법까지 친절히 나와 있다.

 

 

풀이


Docker hub의 dreamhackofficial/blue-whale 레포지토리 (TAG:1) 에서 도커 이미지를 다운받기 위해서 pull을 해 준다.

docker pull dreamhackofficial/blue-whale:1

해당 레포에서 태그가 1인 도커 이미지를 다운 받는 명령어

 

도커를 실행해서 쉘에 접근해 봤는데 chall 폴더에 아무것도 없다.

 

도커파일을 확인해 봤더니 chall에 있는 flag를 읽고 바로 플래그를 지워버린다.

저걸 어떻게 확인하지... 싶었는데 이쯤에서 힌트의 툴을 사용해 보려고 한다.

 

원래 윈도우 로컬에서 실행하려고 했는데 호환의 문제로 실패하고 wsl 우분투 환경에서 사용하는 걸로 변경했다.

https://github.com/wagoodman/dive/releases/tag/v0.12.0

 

Release v0.12.0 · wagoodman/dive

Changelog v0.12.0 (2024-02-02) Full Changelog Added Features Can we do docker layer wise scan for vulnerability detection [Issue #465] How to use Dive in gitlab CI Securely? [Issue #493] Bug Fixe...

github.com

최신 릴리즈에서 리눅스 deb 파일을 다운로드 받고 wsl에서 해당 경로(마운트된 경로)로 이동하여 압축을 풀어준다.

아니면 readme에 명령어로 다운 받는 법이 있으니 그걸 참고해도 된다.

 

 

dive는 다운이 됐고 도커도 로컬에서 빌드한 이미지를 가져오려는데 통합을 하기 위해서 설정이 필요하다.

Docker Desktop 프로그램 실행 후 Settings > Resources > WSL intergration 에서 Ubuntu 활성화를 해 준다.

(wsl로 Ubuntu 가상환경을 만들어서 저렇게 뜨는 것이다. Demian이나 등등 본인만의 리눅스 환경이 있다면 그걸 활성화 한다.)

그리고 Apply & Restart를 눌러 주고 wsl도 재시동 해 주면 된다.

images 확인

 

dive [이미지 이름] 으로 툴을 실행할 수 있다.

왼쪽에는 레이어가 보이고 아까 모델 파일에서 본 명령어들이 보인다.

레이어 디테일과 이미지 디테일인데 크게 중요하진 않다.

TAB을 누르면 오른쪽 탭을 이동할 수 있게 되는데

 

쭉 내리다 보니 Flag가 떴다.

근데 중간에 끊겨서 어떻게 보나 싶었는데 

Ctrl + P를 누르면 현재 화면 기준에 맞춰지면서 줄바꿈이 되어 플래그가 다 보였다.

 

이 문제 재밌다...

Comments