Cria imagens ISO oficiais do instalador do Kali Linux com simple-cdd e debian-cd, com suporte a múltiplas arquiteturas, variantes, espelhos e builds em contêiner.
Gerador de ISO do instalador do Kali Linux, via simple-cdd (com debian-cd).
Estes são os mesmos build-scripts que a equipe do Kali utiliza para gerar as imagens oficiais base do Kali Linux, disponíveis em kali.org/get-kali/.
Estas imagens podem ser usadas para instalar o Kali com várias personalizações durante a configuração, a partir de CD/DVD/Blu-ray/USB/sdCard. Para poder fazer live boot (por exemplo, experimentar o Kali sem alterar qualquer sistema operacional existente), consulte kali-live:
Construa o seu Kali, hoje!
Recomendamos construir num host baseado em Linux, que corresponda à arquitetura desejada.
Existem várias formas de preparar o build-script kali-installer para uso. Pode:
build.sh - Construir diretamente a partir da sua máquinabuild-in-container.sh - Construir a partir de um container (como Docker ou Podman) Para que o build.sh funcione, será necessário acesso de superutilizador (por exemplo, sudo ou um container com root). No entanto, o KVM não é necessário.
Primeiro instale o git e certifique-se de que o repositório está clonado localmente:
$ sudo apt-get install --no-install-recommends \
git ca-certificates
$ git clone https://gitlab.com/kalilinux/build-scripts/kali-installer.git
$ cd ./kali-installer/
Para compilar diretamente no seu host, com build.sh, instale as dependências de compilação:
$ sudo apt-get install --no-install-recommends \
simple-cdd debian-cd \
cpio \
mtools \
dosfstools \
xorriso
Agora você pode usar ./build.sh, que criará uma ISO do instalador do Kali diretamente na sua máquina.
Se você NÃO estiver usando o Kali como sistema operacional base, precisará instalar o kali-archive-keyring do Kali para que o simple-cdd possa buscar os pacotes do Kali.
$ 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
$ wget https://http.kali.org/pool/main/d/debian-cd/debian-cd_*_all.deb
$ sudo apt-get install ./debian-cd_*_all.deb
NOTA: Substitua 20YY.X pelos valores mostrados aqui, em kali-archive-keyring.
Dependendo de quando você executar isso, também poderá precisar de uma determinada versão do simple-cdd (Package Tracker: Debian/Kali) e/ou do debian-cd (Package Tracker: Debian/Kali).
Agora você pode seguir Build From The Host (Kali) para instalar as dependências de build.
Vamos pular a configuração de qualquer software de container.
Se você preferir fazer o build de dentro de um container, precisará instalar e configurar docker ou podman na sua máquina.
docker exige que o usuário seja adicionado ao grupo Docker, ou o uso da conta root (por exemplo, $ sudo ./build-in-container.sh).podman foi testado com rootful (por exemplo, $ sudo ./build-in-container.sh), porém rootless não é suportado no momento.build-in-container.sh é um wrapper sobre o build.sh. Ele detecta qual engine de container compatível com OCI usar, cuida da criação da imagem do container caso esteja ausente, e então inicia o container para realizar o build de dentro dele.
Você tem três maneiras de fornecer a imagem do container:
$ # 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-installer .
$ # ...OR...
$ podman build -t kali-build/kali-installer .
$
$
$
$ # Option #3 - Use the pre-generated
$ docker pull registry.gitlab.com/kalilinux/build-scripts/kali-installer:latest
$ docker tag registry.gitlab.com/kalilinux/build-scripts/kali-installer:latest kali-build/kali-installer
$ # ...OR...
$ podman pull registry.gitlab.com/kalilinux/build-scripts/kali-installer:latest
$ podman tag registry.gitlab.com/kalilinux/build-scripts/kali-installer:latest kali-build/kali-installer
$
$ # ...then point the build at it:
$ ./build-in-container.sh # Locally built (automated or manual)
$ IMAGE=registry.gitlab.com/kalilinux/build-scripts/kali-installer:latest ./build-in-container.sh # Pre-generated
Se você tiver tanto docker quanto podman instalados, build-in-container.sh usará podman por padrão. Para alterar isso, prefixe CONTAINER=docker antes de ./build-in-container.sh:
$ CONTAINER=docker ./build-in-container.sh [...]
Agora você pode usar ./build-in-container.sh (em vez de ./build.sh), para construir uma imagem.
$ ./build.sh --help
Usage: build.sh [OPTIONS]
Build a Kali Linux Installer image.
Build options:
-a, --arch ARCH Build an image for this architecture (default: amd64)
Supported: amd64 arm64 armhf
-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-installer/output)
-v, --variant VARIANT Variant of image to build (default: default)
Supported: default everything netinst purple
-x, --version VERSION What to name the image release as (default: rolling)
-h, --help Show this help and exit
Installer options:
-H, --hostname HOSTNAME Set system host name (default: kali)
-P, --packages PKGS Install extra packages (comma/space separated list)
Apt caching proxy:
Auto-detected: localhost:3142 (apt-cacher-ng), localhost:8000 (squid-deb-proxy).
If detected and http_proxy is not set, http_proxy is exported automatically.
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
build.sh -b kali-dev -v netinst -a arm64