kali-linux-docker
Esta imagem Docker do Kali Linux fornece uma instalação base mínima da versão mais recente da Distribuição Rolling do Kali Linux. Não há ferramentas adicionadas a esta imagem, então você precisará instalá-las você mesmo. Para detalhes sobre os metapacotes do Kali Linux, verifique https://www.kali.org/news/kali-linux-metapackages/
Docker Hub: https://hub.docker.com/r/nu11secur1ty/kali-linux-docker
Devido a --squash ser passado para o daemon do docker, se os recursos experimentais não estiverem ativados no seu daemon, o script build.sh falhará.
No Kali, isso é feito através do /etc/docker/daemon.json com o seguinte conteúdo:
{
"experimental": true
}
Nota: Isso é apenas um requisito para nós na Offensive Security para reduzir o tamanho da imagem quando enviamos uma nova imagem para o Docker Hub.
Se você estiver compilando para uso pessoal, pode remover a opção --squash no build.sh
Tue May 21 13:59:06 EDT 2019
Obviamente, para executar isso, você precisa instalar o Docker. Para Docker no OSX você pode usar o brew, enquanto para a maioria das outras distribuições, você pode instalá-lo usando seu gerenciador de pacotes local. Uma vez instalado e configurado, é só puxar nossa imagem do repositório 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
. uso link:sqliv2
. Obter:
git clone https://github.com/nu11secur1ty/nu11secur1ty.git
link:nu11secur1ty
Se você quiser construir suas próprias imagens Kali em vez de usar as pré-fabricadas, facilitamos com o seguinte script hospedado no Kali Linux Docker no Github. Essas imagens são melhor construídas em um sistema Linux ou qualquer outro SO que possa fazer 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!"


Há um comando docker exec que pode ser usado para conectar a um contêiner que já está em execução.
docker exec -it <nome do contêiner> /bin/bash para obter um shell bash no contêinerdocker exec -it <nome do contêiner> <comando> para executar qualquer comando que você especificar no contêiner.A maneira correta de executar um comando em um contêiner é: docker-compose run <nome do contêiner> <comando>. Por exemplo, para obter um shell no seu contêiner web, você pode executar docker-compose run web /bin/bash
Para executar uma série de comandos, você deve agrupá-los em um único comando usando um shell. Por exemplo: docker-compose run <nome no yml> sh -c '<comando 1> && <comando 2> && <comando 3>'
Em alguns casos, você pode querer executar um contêiner que não está definido por um arquivo docker-compose.yml, por exemplo, para testar uma nova configuração de contêiner. Use docker run para iniciar um novo contêiner com uma determinada imagem: docker run -it <nome da imagem> <comando>
O comando docker run aceita opções de linha de comando para especificar montagens de volume, variáveis de ambiente, o diretório de trabalho e mais.
Obter um shell em um contêiner de construção para executar qualquer operação é a abordagem mais simples. Você simplesmente deseja acessar o contêiner cli que definimos no arquivo compose. O comando docker-compose -f build.yml run cli iniciará uma instância da imagem phase2/devtools-build e executará um shell bash para você. A partir daí, você está livre para usar drush, grunt ou o que seu coração desejar.
Outro conceito no mundo Docker é iniciar um contêiner para executar um único comando e permitir que o contêiner pare quando o comando for concluído. Isso é ótimo se você executar comandos com pouca frequência, ou não quiser ter outro contêiner constantemente em execução. Executar seus comandos em contêineres dessa maneira também é adequado para comandos que não geram nenhum arquivo no sistema de arquivos ou, se gerarem, eles escrevem esses arquivos em volumes montados no contêiner.
O contêiner drush definido no arquivo de exemplo build.yml é um contêiner projetado especificamente para executar drush em um único diretório de trabalho, aceitando apenas os comandos como argumentos. Essa abordagem nos permite fornecer um mecanismo rápido e fácil para executar qualquer comando drush, como sqlc, cache-rebuild e outros, no seu site Drupal de forma rápida e fácil.
Há também outros exemplos de um contêiner de comando grunt semelhante ao drush e um contêiner de comando ainda mais específico em torno da execução de um único comando, drush make para construir o site a partir de um arquivo make/dependência.
A pasta webapp no host será montada na raiz do apache do contêiner
docker system prune
docker system prune -a