Skip to content
KitploitKITPLOIT
도구블로그
Log in
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
kali-cloud — # Kali 클라우드 이미지 빌드 스크립트 (https://salsa.debian.org/cloud-team/debian-cloud-images의 포크) | Kitploit
도구/GitLabGitLab/kalilinux/build-scripts/kali-cloud
Cloud Infrastructure SecurityScripting & AutomationSecurity VirtualizationCloud SecurityUtilities & Frameworks
GitLabkalilinux/build-scripts/kali-cloud

kali-cloud

# Kali 클라우드 이미지 빌드 스크립트 (https://salsa.debian.org/cloud-team/debian-cloud-images의 포크)

저장소 보기

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
32532110일 전Kitploit 검토 완료

Kali-Cloud 빌드 스크립트

FAI(Fully Automatic Installation)를 통한 Kali Linux 클라우드 이미지 빌더로, Debian Cloud Images에서 포크되었습니다.

이들은 Kali 팀이 kali.org/get-kali/에서 제공되는 공식 Kali Linux 클라우드 이미지를 생성하는 데 사용하는 것과 동일한 빌드 스크립트입니다.

자세한 내용은 kali.org/docs/cloud/ 및 kali.org/docs/troubleshooting/common-cloud-setup/를 참조하세요.

지금 바로 나만의 Kali를 빌드하세요!

사전 요구 사항

원하는 아키텍처와 일치하는 Linux 기반 호스트에서 빌드하는 것을 권장합니다.

kali-cloud 빌드 스크립트를 사용할 준비를 하는 방법은 여러 가지가 있습니다. 다음 중 하나를 선택할 수 있습니다:

  • build.sh - 머신에서 직접 빌드
  • build-in-container.sh - 컨테이너 내에서 빌드 (예: Docker 또는 Podman)

build.sh가 작동하려면 슈퍼 유저 권한(예: sudo 또는 rootful 컨테이너)이 필요합니다. 하지만 KVM은 필요하지 않습니다.


먼저 git을 설치하고, 저장소가 로컬에 복제되었는지 확인하세요:

$ sudo apt-get install --no-install-recommends \
    git ca-certificates
$ git clone https://gitlab.com/kalilinux/build-scripts/kali-cloud.git
$ cd ./kali-cloud/

호스트에서 빌드 (Kali)

build.sh를 사용하여 호스트에서 직접 빌드하려면 빌드 종속성을 설치하세요:

$ sudo apt-get install --no-install-recommends \
    python3-minimal libpython3-stdlib python3-yaml python3-libcloud python3-marshmallow python3-httpx python3-pytest \
    fai-server fai-setup-storage \
    sudo \
    qemu-utils qemu-user-binfmt \
    fdisk \
    udev \
    dosfstools \
    apt-utils \
    debsums

참고: OS 버전의 연식에 따라 qemu-user-binfmt(최신/현재/최신 버전) 대신 qemu-user-static(레거시)을 사용해야 할 수도 있습니다.

참고: qemu-user-static/qemu-user-binfmt는 크로스 아키텍처로 빌드하는 경우(예: amd64 호스트에서 arm64 이미지 빌드)에만 필요합니다.


이제 ./build.sh를 사용할 수 있으며, 이는 머신에서 직접 Kali 클라우드 이미지를 빌드합니다.

호스트에서 빌드 (Debian 기반, 비 Kali)

Kali를 기본 OS로 사용하지 않는 경우, fai가 Kali의 패키지를 가져올 수 있도록 Kali의 kali-archive-keyring을 설치해야 합니다.

$ sudo apt-get install --no-install-recommends \
    wget ca-certificates
$ wget https://http.kali.org/pool/main/k/kali-archive-keyring/kali-archive-keyring_20YY.X_all.deb
$ sudo apt-get install ./kali-archive-keyring_*_all.deb

참고: 20YY.X를 kali-archive-keyring의 여기에 표시된 값으로 바꾸세요.


이제 호스트에서 빌드 (Kali)를 따라 빌드 종속성을 설치할 수 있습니다.

컨테이너 내에서 빌드

컨테이너 소프트웨어 설정은 건너뛰겠습니다.

컨테이너 내에서 빌드하는 것을 선호하는 경우, 머신에 docker 또는 podman을 설치하고 구성해야 합니다.

  • docker는 사용자를 Docker 그룹에 추가하거나 root 계정을 사용해야 합니다(예: $ sudo ./build-in-container.sh).
  • podman은 rootful로 테스트되었습니다(예: $ sudo ./build-in-container.sh). rootless로 실행하면 build-in-container.sh는 sudo를 통해 자체적으로 권한을 상승시키려고 시도하거나, podman machine을 rootful로 재구성하는 것으로 대체됩니다. 알려진 제한 사항을 참조하세요.

build-in-container.sh는 build.sh 위에 있는 래퍼입니다. 사용할 OCI 호환 컨테이너 엔진을 감지하고, 컨테이너 이미지가 없으면 생성한 다음, 컨테이너를 시작하여 내부에서 빌드를 수행합니다.

컨테이너 이미지를 제공하는 세 가지 방법이 있습니다:

$ # Option #1 - Automated build (recommended)
$ ./build-in-container.sh
$ ./build-in-container.sh --force   # If you need to rebuild the image from scratch
$
$
$
$ # Option #2 - Manual build
$ docker build -t kali-build/kali-cloud .
$ # ...OR...
$ podman build -t kali-build/kali-cloud .
$
$
$
$ # Option #3 - Use the pre-generated
$ docker pull registry.gitlab.com/kalilinux/build-scripts/kali-cloud:latest
$ docker tag registry.gitlab.com/kalilinux/build-scripts/kali-cloud:latest kali-build/kali-cloud
$ # ...OR...
$ podman pull registry.gitlab.com/kalilinux/build-scripts/kali-cloud:latest
$ podman tag registry.gitlab.com/kalilinux/build-scripts/kali-cloud:latest kali-build/kali-cloud
$
$ # ...then point the build at it:
$ ./build-in-container.sh                                                                       # Locally built (automated or manual)
$ IMAGE=registry.gitlab.com/kalilinux/build-scripts/kali-cloud:latest ./build-in-container.sh   # Pre-generated

docker와 podman이 모두 설치되어 있으면 build-in-container.sh는 기본적으로 podman을 사용합니다. 이를 변경하려면 ./build-in-container.sh 앞에 CONTAINER=docker를 붙이세요:

$ CONTAINER=docker ./build-in-container.sh [...]

이제 이미지를 빌드하려면 ./build.sh 대신 ./build-in-container.sh를 사용할 수 있습니다.

도움말

$ ./build.sh --help
Usage: build.sh [OPTIONS]

Build a Kali Linux Cloud image.

Build options:
  -a, --arch ARCH              Build an image for this architecture (default: amd64)
                               Supported: amd64 arm64
  -b, --branch BRANCH          Kali branch used to build the image (default: kali-rolling)
                               Supported: kali-rolling kali-dev kali-last-snapshot
  -k, --keep                   Keep intermediary build artifacts
  -m, --mirror URL             Mirror used to build the image (default: http://http.kali.org/kali)
  -o, --output DIR             Output directory (default: /home/kali/kali-cloud/output)
  -v, --variant VARIANT        Cloud platform/target image to build (default: genericcloud)
                               Supported: genericcloud azure ec2 gce generic nocloud
  -x, --version VERSION        What to name the image release as (default: rolling)
  -z, --zip                    Compress image after the build
  -h, --help                   Show this help and exit

Cloud options:
  -H, --hostname HOSTNAME      Set system host name (default: kali)
  -P, --packages PKGS          Install extra packages (comma/space separated list)
  -s, --size SIZE              Size of the disk image in GB (default: ...depends on --variant)
  -T, --toolset TOOLSET        The selection of tools to include in the image (default: default)
                               Supported: default minimal

Apt caching proxy:
  Auto-detected: localhost:3142 (apt-cacher-ng), localhost:8000 (squid-deb-proxy).
  If detected and --mirror is not set, the mirror is routed via the proxy.

Supported environment variables:
  http_proxy  HTTP proxy URL, see README.md for details
  DEBUG       Print extra debug output
  Any --flag value can be pre-set via its env var (e.g. ARCH, BUILD_MIRROR, OUT_DIR)

Examples:
  build.sh
  build.sh --branch kali-rolling --variant generic --arch amd64
  build.sh -b kali-dev -T minimal -v generic -a amd64

참고: 세 개의 플래그는 변수 이름을 공유하지 않습니다: --mirror는 BUILD_MIRROR, --hostname은 KALI_HOSTNAME(bash가 이미 HOSTNAME을 설정함), --output은 OUT_DIR입니다. 다른 모든 플래그는 대문자로 된 자신의 이름입니다(예: --branch는 BRANCH).

더 많은 정보 및/또는 예시는 다음을 참조하세요:

  • kali.org/docs/cloud/
  • kali.org/docs/troubleshooting/common-cloud-setup/

빌드 + 사용자 정의 값

도구 다운로드