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

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

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

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

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

Категории

Все категории
Loading categories
kali-linux-docker — kali-linux-docker | Kitploit
Инструменты/GitHubGitHub/nu11secur1ty/kali-linux-docker
Сканеры уязвимостейБезопасность контейнеровФреймворки для эксплойтовСкриптинг и автоматизацияСбор информацииВиртуализация для безопасностиВеб-безопасностьТестирование на ПроникновениеБезопасность облачных средDevSecOpsОбучение и Образование
1186 лет назадЕщё не проверено
GitHub
nu11secur1ty/kali-linux-docker

kali-linux-docker

kali-linux-docker

РепозиторийСайт

Популярное

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

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

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

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

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

Официальный Kali Linux Docker

Этот Docker-образ Kali Linux предоставляет минимальную базовую установку последней версии Kali Linux Rolling Distribution. В этот образ не добавлено никаких инструментов, поэтому вам придётся устанавливать их самостоятельно. Подробнее о метапакетах Kali Linux см. https://www.kali.org/news/kali-linux-metapackages/


Docker Hub: https://hub.docker.com/r/nu11secur1ty/kali-linux-docker

ТРЕБУЕТСЯ ВКЛЮЧИТЬ ЭКСПЕРИМЕНТАЛЬНЫЙ РЕЖИМ

Из-за передачи параметра --squash демону Docker, если в вашем демоне не включены экспериментальные функции, сценарий build.sh завершится ошибкой.

В Kali это делается с помощью файла /etc/docker/daemon.json со следующим содержимым:

root@kitploit:~
{
    "experimental": true
}

Примечание: это требование необходимо только нам в Offensive Security, чтобы уменьшить размер образа при публикации нового образа в Docker Hub. Если вы собираете образ для личного использования, вы можете убрать параметр --squash в build.sh

Tue May 21 13:59:06 EDT 2019

Настройка Docker-образа Kali Linux

Разумеется, чтобы запустить это, вам нужно установить Docker. Для Docker на OSX можно использовать brew, а в большинстве других дистрибутивов установить его можно с помощью локального менеджера пакетов. После установки и настройки останется лишь загрузить наш образ из репозитория Docker:

  • Пример запуска docker и Metasploit + vim + git
root@kitploit:~
Скачать инструмент
nu11secur1ty:~ # docker pull nu11secur1ty/kali-linux-docker nu11secur1ty:~ # docker run -t -i nu11secur1ty/kali-linux-docker /bin/bash root@7e2a35940eff:/# apt update root@7e2a35940eff:/# apt dist-update root@7e2a35940eff:/# apt update && apt install metasploit-framework root@7e2a35940eff:/# apt update && apt install git root@7e2a35940eff:/# apt update && apt install vim root@7e2a35940eff:/# service postgresql start root@7e2a35940eff:/# ss -ant root@7e2a35940eff:/# msfdb init root@7e2a35940eff:/# msfconsole

Другое программное обеспечение:

  • sqliv2
root@kitploit:~
git clone https://github.com/nu11secur1ty/sqliv2.git
cd sqliv2

. использование ссылка:sqliv2


  • пакет nu11secur1ty

. Получить:

root@kitploit:~
git clone https://github.com/nu11secur1ty/nu11secur1ty.git

ссылка:nu11secur1ty

######################################################

Создание собственного Docker-образа Kali Linux

Если вы хотите собирать собственные образы Kali, а не использовать наши готовые, мы упростили эту задачу с помощью следующего сценария, размещённого в репозитории Kali Linux Docker на Github. Такие образы лучше всего собирать в Linux или в любой другой ОС, поддерживающей debootstrap.

root@kitploit:~
#!/bin/bash
# Install dependencies (debootstrap)
sudo apt-get install debootstrap
# Fetch the latest Kali debootstrap script from git
curl "https://gitlab.com/kalilinux/packages/debootstrap.git;a=blob_plain;f=scripts/kali;hb=HEAD" > kali-debootstrap &&\
sudo debootstrap kali ./kali-root http://http.kali.org/kali ./kali-debootstrap &&\
# Import the Kali image into Docker
sudo tar -C kali-root -c . | sudo docker import - kalilinux/kali &&\
sudo rm -rf ./kali-root &&\
# Test the Kali Docker Image
docker run -t -i kalilinux/kali cat /etc/debian_version &&\
echo "Build OK" || echo "Build failed!"

      • Последний выпуск:

ДОКУМЕНТАЦИЯ ПО ДРУГОМУ ПРОГРАММНОМУ ОБЕСПЕЧЕНИЮ, УСТАНОВКА И УДАЛЕНИЕ DOCKER-ОБРАЗОВ


Как подключиться по SSH к запущенному контейнеру

Существует команда docker exec, которую можно использовать для подключения к уже запущенному контейнеру.

  • Используйте docker ps, чтобы получить имя существующего контейнера
  • Используйте команду docker exec -it <container name> /bin/bash, чтобы получить bash-оболочку в контейнере
  • В общем случае используйте docker exec -it <container name> <command>, чтобы выполнить в контейнере любую указанную вами команду.

Как выполнить команду в моём контейнере?

Правильный способ выполнить команду в контейнере: docker-compose run <container name> <command>. Например, чтобы получить оболочку в вашем веб-контейнере, вы можете выполнить docker-compose run web /bin/bash

Чтобы выполнить серию команд, необходимо объединить их в одну команду с помощью оболочки. Например: docker-compose run <name in yml> sh -c '<command 1> && <command 2> && <command 3>'

В некоторых случаях может потребоваться запустить контейнер, который не определён в файле docker-compose.yml, например, для тестирования новой конфигурации контейнера. Используйте docker run, чтобы запустить новый контейнер из указанного образа: docker run -it <image name> <command>

Команда docker run принимает параметры командной строки для указания подключаемых томов, переменных окружения, рабочей директории и многого другого.

Получение оболочки для операций сборки/инструментария

Получение оболочки внутри сборочного контейнера для выполнения любых операций — самый простой подход. Вам просто нужно получить доступ к контейнеру cli, который мы определили в compose-файле. Команда docker-compose -f build.yml run cli запустит экземпляр образа phase2/devtools-build и откроет для вас bash-оболочку. После этого вы можете свободно использовать drush, grunt или всё, что вашей душе угодно.

Выполнение команд, но не из выделенной оболочки

Ещё одна концепция в мире Docker — запуск контейнера для выполнения одной команды и остановка контейнера по завершении команды. Это отлично подходит, если вы выполняете команды нечасто или не хотите постоянно держать ещё один запущенный контейнер. Такой способ выполнения команд в контейнерах также хорошо подходит для команд, которые не создают файлов в файловой системе, а если создают, то записывают их в тома, подключённые к контейнеру.

Контейнер drush, определённый в примере файла build.yml, предназначен специально для запуска drush в одной рабочей директории, принимая только команды в качестве аргументов. Такой подход позволяет предоставить быстрый и простой механизм запуска любой команды drush, например sqlc, cache-rebuild и других, на вашем сайте Drupal быстро и легко.

Есть также другие примеры контейнера для команды grunt, аналогичного drush, и ещё более специализированного контейнера для выполнения одной команды — drush make, чтобы собрать сайт из make/файла зависимостей.


Папка webapp на хосте будет смонтирована в корневой каталог Apache контейнера

Вклад в проект

  • Сообщайте о проблемах
  • Открывайте Pull Request

Docker предоставляет одну команду, которая очистит все висячие ресурсы — образы, контейнеры, тома и сети, то есть не связанные ни с одним контейнером:

root@kitploit:~
docker system prune

Чтобы дополнительно удалить все остановленные контейнеры и все неиспользуемые образы (не только висячие), добавьте к команде флаг -a:

root@kitploit:~
docker system prune -a

Удаление одного или нескольких конкретных образов

Используйте команду docker images с флагом -a, чтобы найти ID образов, которые вы хотите удалить. Она покажет вам все образы, включая промежуточные слои. Когда вы найдёте образы, которые хотите удалить, вы можете передать их ID или тег команде docker rmi:

  • Список:
root@kitploit:~
docker images -a
  • Удаление:
root@kitploit:~
docker rmi Image Image

Удаление висячих образов

Docker-образы состоят из нескольких слоёв. Висячие образы — это слои, не связанные ни с одним тегированным образом. Они больше не выполняют никакой функции и занимают место на диске. Их можно найти, добавив флаг фильтрации -f со значением dangling=true к команде docker images. Когда вы убедитесь, что хотите их удалить, вы можете использовать команду docker images purge:

ПРИМЕЧАНИЕ

root@kitploit:~
Если вы собираете образ без присвоения тега, он появится в списке висячих образов, поскольку не связан ни с одним тегированным образом. Вы можете избежать этой ситуации, указав тег при сборке; также можно присвоить тег образу задним числом с помощью команды docker tag.
  • Список:
root@kitploit:~
docker images -f dangling=true
  • Удаление:
root@kitploit:~
docker images purge

Удаление образов по шаблону

Вы можете найти все образы, соответствующие шаблону, с помощью комбинации docker images и grep. Когда список вас устроит, вы можете удалить их, используя awk для передачи ID команде docker rmi. Обратите внимание, что эти утилиты не поставляются с Docker и могут быть доступны не во всех системах:

  • Список:
root@kitploit:~
docker images -a |  grep "pattern"
  • Удаление:
root@kitploit:~
docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi

Удаление всех образов

Все Docker-образы в системе можно перечислить, добавив -a к команде docker images. Когда вы будете уверены, что хотите удалить их все, вы можете добавить флаг -q, чтобы передать ID образов команде docker rmi:

  • Список:
root@kitploit:~
docker images -a
  • Удаление:
root@kitploit:~
docker rmi $(docker images -a -q)

Удаление контейнера после завершения работы

Если вы уже при создании контейнера знаете, что не захотите сохранять его после завершения работы, вы можете запустить docker run --rm, чтобы он автоматически удалялся при выходе.

  • Запуск и удаление:
root@kitploit:~
 docker run --rm image_name

Удаление всех завершивших работу контейнеров

Вы можете найти контейнеры с помощью docker ps -a и отфильтровать их по статусу: created (создан), restarting (перезапускается), running (запущен), paused (приостановлен) или exited (завершён). Чтобы просмотреть список завершивших работу контейнеров, используйте флаг -f для фильтрации по статусу. Когда вы убедитесь, что хотите удалить эти контейнеры, используйте -q для передачи ID команде docker rm.

  • Список:
root@kitploit:~
docker ps -a -f status=exited
  • Удаление:
root@kitploit:~
docker rm $(docker ps -a -f status=exited -q)

Удаление контейнеров с использованием нескольких фильтров

Фильтры Docker можно комбинировать, повторяя флаг фильтра с дополнительным значением. В результате получается список контейнеров, соответствующих любому из условий. Например, если вы хотите удалить все контейнеры со статусом Created (создан — состояние, которое может возникнуть при запуске контейнера с недопустимой командой) или Exited (завершён), вы можете использовать два фильтра:

  • Список:
root@kitploit:~
docker ps -a -f status=exited -f status=created
  • Удаление:
root@kitploit:~
docker rm $(docker ps -a -f status=exited -f status=created -q)

Удаление контейнеров по шаблону

Вы можете найти все контейнеры, соответствующие шаблону, с помощью комбинации docker ps и grep. Когда вы убедитесь, что список для удаления верен, вы можете использовать awk и xargs для передачи ID команде docker rmi. Обратите внимание, что эти утилиты не поставляются с Docker и могут быть доступны не во всех системах:

  • Список:
root@kitploit:~
docker ps -a |  grep "pattern”
  • Удаление:
root@kitploit:~
docker ps -a | grep "pattern" | awk '{print $3}' | xargs docker rmi

Остановка и удаление всех контейнеров

Вы можете просмотреть контейнеры в вашей системе с помощью docker ps. Добавление флага -a покажет все контейнеры. Когда вы будете уверены, что хотите удалить их, вы можете добавить флаг -q, чтобы передать ID командам docker stop и docker rm:

  • Список:
root@kitploit:~
docker ps -a
  • Удаление:
root@kitploit:~
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)

Удаление томов

Удаление одного или нескольких конкретных томов — Docker 1.9 и новее

Используйте команду docker volume ls, чтобы найти имя или имена томов, которые вы хотите удалить. Затем вы можете удалить один или несколько томов с помощью команды docker volume rm:

  • Список:
root@kitploit:~
docker volume ls
  • Удаление:
root@kitploit:~
docker volume rm volume_name volume_name

Удаление висячих томов — Docker 1.9 и новее

Поскольку смысл томов в том, чтобы существовать независимо от контейнеров, при удалении контейнера том не удаляется автоматически. Когда том существует, но больше не связан ни с одним контейнером, он называется висячим (dangling). Чтобы найти такие тома и убедиться, что вы хотите их удалить, используйте команду docker volume ls с фильтром, ограничивающим результаты висячими томами. Когда список вас устроит, вы можете удалить их все с помощью docker volume prune:

  • Список:
root@kitploit:~
docker volume ls -f dangling=true
  • Удаление:
root@kitploit:~
docker volume prune

Удаление контейнера вместе с его томом

Если вы создали безымянный том, его можно удалить одновременно с контейнером с помощью флага -v. Обратите внимание, что это работает только с безымянными томами. При успешном удалении контейнера отображается его ID. Обратите внимание, что об удалении тома при этом не сообщается. Если том безымянный, он молча удаляется из системы. Если он именованный, он молча остаётся на месте.

  • Удаление:
root@kitploit:~
docker rm -v container_name

Заключение

В этом руководстве рассмотрены некоторые распространённые команды для удаления образов, контейнеров и томов в Docker. Существует множество других комбинаций и флагов, которые можно использовать с каждой из них. Полное руководство по доступным возможностям см. в документации Docker для docker system prune, docker rmi, docker rm и docker volume rm. Если вы хотите видеть в руководстве другие типовые задачи по очистке, пожалуйста, задайте вопрос или оставьте предложение в комментариях.


Уязвимости

Предоставляемые пакеты

Удачи всем! ;)

Приятного использования вашего Docker-образа Kali! :)