๐๏ธ Access
๋ณด์ฝ๊ฐ ์ฌ๋ฌ๋ถ์๊ฒ ๋์์ ์์ฒญํฉ๋๋ค.
"๋ถ๋ช ํ๋๊ทธ ํ์ผ์ด ์์๋๋ฐ์... ์์ด์ก์ด์."
Docker hub์ dreamhackofficial/blue-whale ๋ ํฌ์งํ ๋ฆฌ (TAG:1) ์์ ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ฐ์ ์ ์์ต๋๋ค. ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋ถ์ํ์ฌ ํ๋๊ทธ๋ฅผ ํ๋ํ์ธ์.
์ฃผ์ด์ง Dockerfile์ ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ ๋ ์ฌ์ฉํ ํ์ผ๋ก, ํ์ด์๊ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ๋๊ทธ ํ์์ DH{...} ์ ๋๋ค.
๐พ Exploit Algorithm & Payload
> Dokerfile
FROM ubuntu:22.04@sha256:27cb6e6ccef575a4698b66f5de06c7ecd61589132d5a91d098f7f3f9285415a9
ENV user chall
ENV chall_port 31337
RUN apt-get update
RUN apt-get install -y python3
RUN adduser $user
COPY ./deploy/flag /home/$user/flag
RUN chown -R root:$user /home/$user
WORKDIR /home/chall
RUN touch `python3 -c "print(open('./flag', 'r').read())"`
RUN rm *
WORKDIR /home
USER $user
EXPOSE $chall_port
#1
cd Dockerfile
docker pull dreamhackofficial/blue-whale:1
docker images
: ํด๋น Dokerfile์ ํ์ธํ๋ค.
: ./deploy/flag ํ์ผ์ /home/$user/flag(/home/chall/flag)์ ๋ณต์ฌ๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
: ์ญ ๋ณด๋ค๊ฐ touch ๋ช ๋ น์ด์์ ./flagํ์ผ์ ์ด๊ณ flagํ์ผ ๋ด์ฉ์ ์ฝ์๊ณ ์ถ๋ ฅ์ด ๋ ๊ฒ์ ํ์ด์ฌ ๋ช ๋ น์ด๋ก ์คํํ๊ธฐ ๋๋ฌธ์ ํด๋น ์์น ๋ด์ฉ์ ๋ณธ๋ค๋ฉด FLAG๋ฅผ ํ์ธํ ์ ์์ ๊ฒ์ผ๋ก ์์๋๋ค.
: ๊ทธ๋ค์ *rm ๋ช ๋ น์ด๋ก ์ญ์ ๋์๊ธฐ ๋๋ฌธ์ docker run -it [image ID] /bin/bash๋ก bash-shell์ ์ด๊ณ flag ์์น์(/home/chall/...) flag๊ฐ ์๋ ๊ฒ์ด๋ค.
: ์ฌ๊ธฐ๊น์ง ํ์ผ์ ํด์ํ๊ณ ๋์ปค ํ์ผ์ ์ด๋ฏธ์ง๋ก ๋ด๋ ค๋ฐ์ IMAGE ID๋ฅผ ํ์ธํ๋ค.
#2
https://github.com/wagoodman/dive
: 'dive'๋ฅผ ํตํด ํ์ํ ์ด๋ฏธ์ง์ ๋ ์ด์ด๋ฅผ ํธ๋ฆฌํํ๋ก ๋ณด์ฌ์ฃผ์ด ํจ์ฌ ์์ธํ ๋ด์ฉ์ ํ์ธํ ์ ์๋ค.
: README.mdํ์ผ์์ ์ค์น ๊ณผ์ ํ์ธํ๋ค.
dive [image ID]
: ๋ค์๊ณผ ๊ฐ์ด ์์ธํ ๋ด์ฉ์ ํ์ธํ ์ ์๋ค.
๐Analysis and results for obtaining the Flag DH{…}
: *rm์ ์ ๋ช ๋ น์ด(touch ...)๋ ํด๋น ์์น์ ํ์ผ์ด ์์ง ์ญ์ ๋์ง ์์๊ธฐ ๋๋ฌธ์ FLAG๋ฅผ ํ์ธํ ์ ์๋ค.
[+] Additional Checks
docker pull [image address:TAG] - ์ด๋ฏธ์ง ๊ฐ์ ธ์ค๊ธฐ
docker images - ์ด๋ฏธ์ง ํ์ธ
docker rmi -f [image ID] - ์ด๋ฏธ์ง ์ญ์
docker run -it [image ID] /bin/bash - ์ด๋ฏธ์ง ์ปจํ
์ด๋ ์คํ
dive [image ID] - ์ด๋ฏธ์ง ๋ถ์ ๋๊ตฌ
...
-Dokerfile ๋ด์ฉ ๋ถ์-
FROM - ๋ฒ ์ด์ค ์ด๋ฏธ์ง
: ์ด๋ ์ด๋ฏธ์ง์์ ์์ํ ๊ฒ์ธ์ง๋ฅผ ์๋ฏธ
: [image address:TAG]
MAINTAINER - ์ด๋ฏธ์ง๋ฅผ ์์ฑํ ๊ฐ๋ฐ์์ ์ ๋ณด (1.13.0 ์ดํ ์ฌ์ฉ X)
ENV - ์ด๋ฏธ์ง์์ ์ฌ์ฉํ ํ๊ฒฝ ๋ณ์ ์ง์
: port
WORKDIR - ์์
๋๋ ํ ๋ฆฌ๋ฅผ ์ง์ . ํด๋น ๋๋ ํ ๋ฆฌ๊ฐ ์์ผ๋ฉด ์๋ก ์์ฑ
: ์์
๋๋ ํ ๋ฆฌ๋ฅผ ์ง์ ํ๋ฉด ๊ทธ ์ดํ ๋ช
๋ น์ด๋ ํด๋น ๋๋ ํ ๋ฆฌ๋ฅผ ๊ธฐ์ค์ผ๋ก ๋์
: cd ๋ช
๋ น์ด์ ๋์ผ
CMD/ENTRYPOINT - ์ปจํ
์ด๋๋ฅผ ์์ฑ ๋ฐ ์คํํ ๋ ์คํํ ๋ช
๋ น์ด
| CMD
: ์ปจํ
์ด๋๋ฅผ ์์ฑํ ๋๋ง ์คํ (doker run)
: ์ปจํ
์ด๋ ์์ฑ ์, ์ถ๊ฐ์ ์ธ ๋ช
๋ น์ด์ ๋ฐ๋ผ ์ค์ ํ ๋ช
๋ น์ด๋ฅผ ์์ ํ ์ ์์
| ENTRYPOINT
: ์ปจํ
์ด๋๋ฅผ ์์ํ ๋๋ง๋ค ์คํ (docker start)
: ์ปจํ
์ด๋ ์์ ์, ์ถ๊ฐ์ ์ธ ๋ช
๋ น์ด ์กด์ฌ ์ฌ๋ถ์ ์๊ด์์ด ๋ฌด์กฐ๊ฑด ์คํ๋จ
'[Dreamhack]WebHacking > Wargame&CTF' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Dreamhack] Level2: baby-sqlite (0) | 2024.02.23 |
---|---|
[Dreamhack] Level4: KeyCat (0) | 2024.02.23 |
[Dreamhack] Level2: Dream Gallery (0) | 2024.02.03 |
[Dreamhack] Level2: filestorage (0) | 2024.02.02 |
[Dreamhack] Level1: Type c-j (2) | 2024.02.02 |