본문 바로가기
해킹/CTF

CTF 문제에 제공되는 도커파일로 로컬에 문제 풀이 환경 구축하기

by yenua 2022. 4. 3.
반응형

칼리 리눅스(데비안)를 기준으로 작성하였다.

 

코드게이트 예선으로부터 한달이 지난 시점에서야 문제들에 대한 Write up을 작성해보고자 도커를 공부하게 되었다. 환경이 다시 구성되어야 문제를 제대로 볼 수 있으니 말이다..

이 참에 못 풀었던 문제들도 직접 풀어보고!

 

우선 도커는 Golang을 기반으로 하는 가상화 환경 구축에 이용되는 오픈소스 프로젝트이다. 기존의 다른 가상화 기술들에 비해 성능 손실이 거의 없기 때문에 많은 인프라 솔루션들에 이용된다고 한다. 기존의 가상화 기술은 VM을 이용하여 사용자의 OS위에 가상의 OS를 올려 사용하는 느낌이라면 도커는 컨테이너의 개념이 사용되 도커 엔진을 이용하여 

 

sudo apt-get update

sudo apt-get install docker

sudo apt-get install docker-compose

위의 명령어들로 도커와 도커 컴포즈를 설치할 수 있다.

 

도커 컴포즈는 도커 프로젝트 중 하나이고, 이 외에도 Private Registry, Docker Machine, Kinematic 등의 다양한 프로젝트 들이 있다고 한다.

 

sudo docker-compose up -d --build --remove-orphans --quiet-pull

docker-compose.yml이 있는 디렉토리에서 위의 명령어를 입력하면 도커가 환경을 구축하기 시작한다.

이 과정에서 시간이 꽤 오래 걸리니 인내심을 가지고 기다려 주자

 

구축이 완료되면 위와 같이 done이 뜬다.

 

인터넷 창에서 내 칼리리눅스 IP주소로 접속해보면 CTF 문제인 웹 사이트가 열리는 것을 확인할 수 있다!

 

도커를 닫을때는 아래의 명령어를 입력하면 된다.

sudo docker-compose down

 

 

도커에 대한 자세한 내용은 따로 정리하기 보다는 설명이 잘 되어 있던 사이트들을 공유하도록 하겠다.

위 글의 내용은 'How to run docker for CTF'를 많이 참고하였다.

 

1. 도커의 개념

[Docker] 도커 엔진을 구성하는 도커 이미지와 도커 컨테이너. 그리고 Nginx를 도커 컨테이너로 띄워보자.

https://wonit.tistory.com/337 

"컨테이너 혁명을 주도하는" 도커의 의미와 장단점

https://www.itworld.co.kr/news/203644

 

2. 도커 설명 및 실습

Docker(Docker, Image, Container, Volume, Network, Storage Driver, Dockerfile)

https://bigpel66.oopy.io/library/docker/docker

도커 컨테이너 입문과 활용

https://www.youtube.com/playlist?list=PL1jdJcP6uQtvfNf19anO9YJqe-B4nGuAu 

 

3. 도커 명령어

Docker Compose 커맨드 사용법

https://www.daleseo.com/docker-compose/

Docker docs (reference로 들어가면 도커, 도커컴포즈, 데몬의 명령어에 대한 설명을 볼 수 있다)

https://docs.docker.com/

 

4. CTF 운영을 위한 도커 사용법

How to run docker for CTF

https://www.n1net4il.kr/posts/how-to-run-docker-for-ctf

 

 

반응형