Skip to content
KitploitKITPLOIT
ИнструментыБлог
Log in
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
kali-vm — # Скрипт сборки образов виртуальных машин Kali Linux | Kitploit
Инструменты/GitLabGitLab/kalilinux/build-scripts/kali-vm
Скриптинг и автоматизацияВиртуализация для безопасностиТестирование на Проникновение
GitLabkalilinux/build-scripts/kali-vm

kali-vm

# Скрипт сборки образов виртуальных машин Kali Linux

Репозиторий
93149149 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Kali-VM Build-Script

Сборщик образов виртуальных машин (VM) Kali Linux, с помощью debos (с fakemachine и KVM).

Это те же самые build-scripts, которые команда Kali использует для генерации официальных образов виртуальных машин Kali Linux, доступных на kali.org/get-kali/.

Для получения дополнительной информации см.: kali.org/docs/virtualization/.

Соберите свой Kali уже сегодня!

Предварительные требования

Мы рекомендуем собирать на хосте под управлением Linux, который соответствует желаемой архитектуре.

Существуют различные способы подготовиться к использованию build-script kali-vm. Вы можете либо:

  • build.sh - Сборка прямо с вашей машины
  • build-in-container.sh - Сборка изнутри контейнера (например, Docker или Podman)

Для работы этого скрипта потребуется KVM. Однако доступ суперпользователя не требуется. Мы пропустим включение KVM в BIOS/UEFI.

Причина, по которой требуется KVM, заключается в том, что сборка фактически происходит изнутри виртуальной машины (VM), которая создаётся на лету инструментом сборки debos. Debos использует fakemachine под капотом, которая, в свою очередь, полагается на QEMU+KVM.


Сначала установите git и убедитесь, что репозиторий клонирован локально:```console $ sudo apt-get install --no-install-recommends
git ca-certificates $ git clone https://gitlab.com/kalilinux/build-scripts/kali-vm.git $ cd ./kali-vm/

Из-за требований QEMU/KVM вы должны входить в группу `kvm`.
Проверить это можно так:```console
$ # Not a part of the group
$ grep kvm /etc/group
kvm:x:104:
$
$ # In the group
$ grep kvm /etc/group
kvm:x:104:kali
$

Если ваше имя пользователя не отображается в возвращённой строке (например, kali), это означает, что вы не входите в группу, и вам нужно добавить себя в группу kvm. Это можно сделать так:```console $ sudo adduser $USER kvm

Затем **выйдите из системы и войдите снова**, чтобы изменения вступили в силу. <!-- That's not closing down the terminal app and re-opening it, but rather logging out of Xfce! -->
...или```console
$ newgrp kvm

Сборка на хосте (Kali)

Чтобы собрать непосредственно на хосте с помощью build.sh, установите зависимости для сборки:```console $ sudo apt-get install --no-install-recommends
debos
linux-image-amd64
parted
dosfstools e2fsprogs
zerofree
7zip bmap-tools qemu-utils xz-utils
xkb-data

<!-- This should match what is in: [Dockerfile](https://gitlab.com/kalilinux/build-scripts/kali-vm/-/blob/main/Dockerfile) & [kali.org/docs/virtualization/](https://www.kali.org/docs/virtualization/)
     Alt: $ sudo apt-get install 7zip debos dosfstools qemu-utils zerofree

     xkb-data is optional, just helps to validate settings - doesn't take up that much space
-->

- - -

Теперь вы можете использовать `./build.sh`, который соберёт образ Kali VM прямо на вашей машине.

### Сборка из контейнера

_Мы пропустим настройку любого контейнерного ПО._

Если вы предпочитаете собирать из контейнера, вам потребуется установить и настроить `docker` или `podman` на вашей машине.

- `docker` требует добавления пользователя в группу Docker или использования учётной записи root (например, `$ sudo ./build-in-container.sh`).
- `podman` был протестирован как в rootful-режиме (например, `$ sudo ./build-in-container.sh`), так и в rootless-режиме (например, `$ ./build-in-container.sh`). Для rootless дополнительно требуется `crun` (например, `$ sudo apt install crun`), так как `runc` не может получить доступ к `/dev/kvm` из пользовательского пространства имён.

- - -

`build-in-container.sh` — это обёртка поверх `build.sh`. Она определяет, какой OCI-совместимый контейнерный движок использовать, заботится о создании [образа контейнера](https://gitlab.com/kalilinux/build-scripts/kali-vm/-/blob/main/Dockerfile), если он отсутствует, а затем запускает контейнер для выполнения сборки изнутри.

У вас есть три способа предоставить образ контейнера:```console
$ # 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-vm .
$ # ...OR...
$ podman build -t kali-build/kali-vm .
$
$
$
$ # Option #3 - Use the pre-generated
$ docker pull registry.gitlab.com/kalilinux/build-scripts/kali-vm:latest
$ docker tag registry.gitlab.com/kalilinux/build-scripts/kali-vm:latest kali-build/kali-vm
$ # ...OR...
$ podman pull registry.gitlab.com/kalilinux/build-scripts/kali-vm:latest
$ podman tag registry.gitlab.com/kalilinux/build-scripts/kali-vm:latest kali-build/kali-vm
$
$ # ...then point the build at it:
$ ./build-in-container.sh                                                                    # Locally built (automated or manual)
$ IMAGE=registry.gitlab.com/kalilinux/build-scripts/kali-vm:latest ./build-in-container.sh   # Pre-generated

Если у вас установлены и docker, и podman, build-in-container.sh по умолчанию будет использовать podman. Чтобы изменить это, добавьте префикс CONTAINER=docker перед ./build-in-container.sh:```console $ CONTAINER=docker ./build-in-container.sh [...]

- - -

Теперь вы можете использовать `./build-in-container.sh` (вместо `./build.sh`) для сборки образа.

## Справка```console
$ ./build.sh --help
Usage: build.sh [OPTIONS] [-- <debos options>]

Build a Kali Linux VM image.

Build options:
  -a, --arch ARCH              Build an image for this architecture (default: amd64)
                               Supported: amd64
  -b, --branch BRANCH          Kali branch used to build the image (default: kali-rolling)
                               Supported: kali-rolling kali-dev kali-last-snapshot
  -f, --format FORMAT          Format to export the image to (default: ...depends on --variant)
                               Supported: hyperv ova ovf qemu raw vagrant virtualbox vmware
  -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-vm/output)
  -r, --rootfs ROOTFS          Rootfs to use to build the image (default: none)
  -v, --variant VARIANT        Variant of image to build, see below for details (default: generic)
                               Supported: generic hyperv qemu rootfs virtualbox vmware
  -x, --version VERSION        What to name the image release as (default: rolling)
  -z, --zip                    Compress image and metadata files after the build
  -h, --help                   Show this help and exit
Скачать инструмент