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 со следующим содержимым:
{
"experimental": true
}
Примечание: это требование необходимо только нам в Offensive Security, чтобы уменьшить размер образа при публикации нового образа в Docker Hub.
Если вы собираете образ для личного использования, вы можете убрать параметр --squash в build.sh
Tue May 21 13:59:06 EDT 2019
Разумеется, чтобы запустить это, вам нужно установить Docker. Для Docker на OSX можно использовать brew, а в большинстве других дистрибутивов установить его можно с помощью локального менеджера пакетов. После установки и настройки останется лишь загрузить наш образ из репозитория Docker:
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
git clone https://github.com/nu11secur1ty/sqliv2.git
cd sqliv2
. использование ссылка:sqliv2
. Получить:
git clone https://github.com/nu11secur1ty/nu11secur1ty.git
ссылка:nu11secur1ty
Если вы хотите собирать собственные образы Kali, а не использовать наши готовые, мы упростили эту задачу с помощью следующего сценария, размещённого в репозитории Kali Linux Docker на Github. Такие образы лучше всего собирать в Linux или в любой другой ОС, поддерживающей debootstrap.
#!/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 exec, которую можно использовать для подключения к уже запущенному контейнеру.
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 контейнера
docker system prune
docker system prune -a