Docker Kali Linux 설치
MacOS 환경에 Kali Linux 테스트 환경이 필요하여 Docker에 Kali linux 구동을 목표로 한다. Docker의 경우 각 환경에 맞게 설치가 필요하며, MacOS의 경우 아래의 경로를 통해 설치하면 된다.
설치 경로: https://docs.docker.com/desktop/install/mac-install/
Docker 설치 후 Kali linux image를 Pull해서 갖고 온다.
1
docker pull kalilinux/kali-rolling
이후 shell에 접속하기 위해 아래 명령어를 실행하면 Kali Linux 컨테이너에 연결 된다.
1
docker run -it kalilinux/kali-rolling:/bin/sh
접속 후 필요한 도구 설치를 위해 아래와 같이 설치가 필요하다.
1
2
3
# apt update
# apt upgrade
# apt install kali-tools-top10
하지만 원격 연결이 끊어지거나 재시작 할 경우 컨테이너 특성 상 다시 필요한 패키지 설치가 필요하다.
추가 2024-02-22
아래 링크를 보니 docker 실행 후 변경된 사항을 commit하여 저장할 수 있는 듯 하다.
https://thenewstack.io/penetration-testing-with-kali-linux-as-a-docker-container/
해당 링크에서 추천하는 바는 아래와 같다.
1
2
3
# docker run -ti kalilinux/kali-rolling /bin/bash
# apt update
# apt install kali-linux-headless -y
이후 docker ps로 id 4글자를 확인하여 저장하는 방식이다.
1
2
docker ps
docker commit ID kalitools
저장된 이미지에 대해 확인 후 실행하면 된다.
1
2
docker images
docker run -it kalitools /bin/bash
아래는 kali linux 도커 이미지를 실행 후 1.txt란 파일을 만들어 commit한 내용이다.
1
2
3
4
5
6
7
8
# 1.txt 생성
┌──(root㉿docker-desktop)-[/]
└─# echo 1 >> 1.txt
┌──(root㉿docker-desktop)-[/]
└─# ls
1.txt bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
commit은 아래와 같이 진행한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# id 확인
user-mac ~ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f4d562115dbb kalilinux/kali-rolling "/bin/bash" 58 seconds ago Up 58 seconds optimistic_davinci
# commit
user-mac ~ docker commit f4d562115dbb kalitools
sha256:274608c3309f9039813cf9b619a010425bbca45650431ae6409aafb62f829240
# 생성 확인
user-mac ~ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
kalitools latest 274608c3309f 5 seconds ago 127MB
kalilinux/kali-rolling latest 20d1b14b7bb9 4 days ago 127MB
# 이미지 정보 확인
user-mac ~ docker image inspect kalitools
[
{
"Id": "sha256:274608c3309f9039813cf9b619a010425bbca45650431ae6409aafb62f829240",
"RepoTags": [
"kalitools:latest"
],
"RepoDigests": [],
"Parent": "sha256:20d1b14b7bb9e5bb871e22b989a3b49485071e7ba0b43161c238f3dd64555107",
"Comment": "",
"Created": "2024-02-22T06:40:26.326540151Z",
아래와 같이 새로 생성한 이미지에 접속하여도 1.txt가 유지되는 것을 확인할 수 있다.
1
2
3
4
5
user-mac ~ docker run -it kalitools /bin/bash
┌──(root㉿61266a28d727)-[/]
└─# ls
1.txt bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
This post is licensed under CC BY 4.0 by the author.