칼리리눅스에 도커 컨테이너 환경을 설치하기 위해,
$sudo apt update
$sudo apt install docker.io를 하여 환경을 구성한다.
설치가 완료된 후, sudo docker 명령어를 입력하면
다음과 같은 출력화면을 볼 수 있고, 정상적으로 설치된 것을 확인할 수 있다.
정상적으로 설치가 되면, docker image를 먼저 설치한다.
$sudo docker pull nginx
그 후, 받아온 nginx docker image를 활용하여
$sudo docker run --name web01 -d -p 8001:80 nginx 명령어를 수행하여 컨테이너를 생성 및 실행한다.
그러면 다음과 같이 8001포트를 통해 nginx 페이지가 정상적으로 열리는 것을 확인할 수 있다.
명령어의 옵션 중 --name: 컨테이너 이름, -d : 백그라운드 형식 -p : 포트포워딩
$ifconfig 명령어를 통해서 확인해보면 정상적으로 실행된 컨테이너 환경의 ipv6 주소를 확인할 수 있다.
또한, 생성한 컨테이너를 삭제하기 위해서는 sudo docker ps 명령어를 수행해서 컨테이너 ID의 명칭을 입력해줘야 정상적인 삭제가 가능하다.
컨테이너의 자세한 정보를 확인하기 위해서는 $sudo docker inspect (containerID)를 입력하면 확인할 수 있다.
또한, 컨테이너에 대한 로그 정보를 확인하기 위해서는 /var/lib/docker/containers/containerIDfh 이동해서 ls 명령어를 수행하면 log 파일이 있는 것을 확인할 수 있는데,
inspect 명령어를 수행하면 다음과 같은 경로를 확인할 수 있다.
또, sudo docker network ls명령어를 수행하면 기본적으로 bridge,host,none이 생성되고, 기본적으로 host와 none은 bridge에 연결되어있다는 것을 인지하여야 한다.
이를 이용해서, BWAPP 이미지를 이용해 환경을 구축하는 실습을 진행하였다.
먼저 다운로드 받을 bwapp 버전과 버전 명을 확인한 후, 명령어를 수행한다.
이미지를 다운받지 않고 뒤에 다운로드 받을 이미지로 명령어를 수행하게 되면, 다음과 같이 Pull을 통해 이미지를 가져오고 컨테이너 생성 및 실행을 수행한다.
설치 및 실행이 완료가 되면 다음과 같은 도메인에 접속이 가능하다.
unrestricted file upload 창으로 가서 파일을 업로드하면 업로드가 되지않기에 chmod를 통해 권한을 부여하고 수행하면 파일업로드가 가능하다.
위의 권한을 부여하면 다음과 같이 악성 쉘을 업로드할 수 있다.
'애플리케이션 보안' 카테고리의 다른 글
칼리리눅스를 통한 도커실습2( 로드밸런싱 ) (0) | 2024.06.01 |
---|---|
Docker, Hypervisor, Virutalization 개념 (0) | 2024.05.31 |
DIRB, NIKTO, Burp suite란? (0) | 2024.04.04 |