CTF 용 우분투 Docker 이미지 파일 만들기

6567 단어 CTF도커우분투

개요



바이너리(실행 파일) 해석용 Python 패키지 Angr를 중심으로 한, CTF용의 커맨드류를 정리해 인스톨 한 컨테이너를 만들어, Image 파일로 해 두면 무언가와 편리할까 생각했기 때문에, 만드는 방법을 기록해 둔다 .

절차



이하의 작업은 Windows10상의 VirtualBox로 가동하는 Ubuntu로 검증.

우분투에서 우분투 컨테이너 만들기



[터미널]을 기동해, 이하의 커멘드를 실행.
docker run -it --name ubuntu_base ubuntu


apt update




Ubuntu 컨테이너에 다양한 install



python3


apt install python3


y를 입력하고 [Enter]

apt install python3-pip



y를 입력하고 [Enter]


Angr


pip3 install angr




이미지 생성



컨테이너를 중지하고 상태를 확인. Docker 이미지 만들기
exit
docker ps
docker ps -a
docker commit ubuntu_base ubuntu4ctf1



작성 결과를 확인한 후 이미지를 파일로 출력.
출력 파일을 압축하여 최종 확인.
docker images
docker save ubuntu4ctf1 -o ubuntu4ctf1.tar
zip ubuntu4ctf1.zip ubuntu4ctf1.tar
ls -la ubuntu4ctf1*



명령 추가



우선, 할 수 있었던 것 같기 때문에, 커멘드를 추가해 본다.
컨테이너 상태를 확인한 후 컨테이너를 다시 시작합니다.
docker images
docker ps
docker ps -a
docker run -it --name ubuntu4ctf1_base ubuntu4ctf1



gdb 추가


apt install gdb


y를 입력하고 [Enter] 키를 누릅니다.

6을 입력하고 [Enter] 키를 누릅니다.

[Enter] 키를 누르십시오.

79를 입력하고 [Enter] 키를 누릅니다.


기타



같은 요령으로 다음 명령을 설치
apt install strace
apt install ltrace
apt install netcat
apt install curl
apt install nmap

이미지 생성


exit
docker ps
docker ps -a
docker commit ubuntu4ctf1_base ubuntu4ctf2



작성 결과를 확인한 후 이미지를 파일로 출력
docker images
docker save ubuntu4ctf2 -o ubuntu4ctf2.tar
zip ubuntu4ctf2.zip ubuntu4ctf2.tar
ls -la ubuntu4ctf2*



이미지에서 컨테이너 만들기


mkdir d_share
docker run -it --mount type=bind,src=$PWD/d_share,dst=/tmp/share --name ctf2 ubuntu4ctf2



다른 컴퓨터의 다른 OS에서 실행



CentOS8을 설치한 환경에는 Docker와 호환되는 podman이 설치되어 있다.
만든 컨테이너가 올바르게 작동하는지 확인합니다.

이하의 작업은 Windows10상의 VirtualBox로 가동하는 CentOS에서 검증.
cp /tmp/ubuntu4ctf2.zip .
unzip ubuntu4ctf2.zip
podman images
podman ps -a


기존 컨테이너가 존재하지 않는지 확인.
podman load -i ubuntu4ctf2.tar
podman images
podman ps -a
podman run -it ubuntu4ctf2
python3
import angr
exit()


제대로 작동했습니다.

참고 URL

좋은 웹페이지 즐겨찾기