kali-linux-docker
Questa immagine Docker di Kali Linux fornisce un'installazione di base minima dell'ultima versione della distribuzione rolling di Kali Linux. Non ci sono strumenti aggiunti a questa immagine, quindi dovrai installarli tu stesso. Per i dettagli sui metapacchetti di Kali Linux, consulta https://www.kali.org/news/kali-linux-metapackages/
Docker Hub: https://hub.docker.com/r/nu11secur1ty/kali-linux-docker
Poiché --squash viene passato al daemon Docker, se le funzionalità sperimentali non sono attive nel tuo daemon, lo script build.sh fallirà.
Su Kali, questa operazione si esegue tramite /etc/docker/daemon.json con il seguente contenuto:
{
"experimental": true
}
Nota: questo è un requisito solo per noi di Offensive Security per ridurre le dimensioni dell'immagine quando pubblichiamo una nuova immagine su Docker Hub.
Se stai creando l'immagine per uso personale, puoi rimuovere l'opzione --squash in build.sh
Tue May 21 13:59:06 EDT 2019
Ovviamente, per farlo funzionare, devi installare Docker. Per Docker su OSX puoi usare brew, mentre per la maggior parte delle altre distribuzioni puoi installarlo tramite il tuo gestore di pacchetti locale. Una volta installato e configurato, basta scaricare la nostra immagine dal repository 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
. Ottieni:
git clone https://github.com/nu11secur1ty/nu11secur1ty.git
link:nu11secur1ty
Se vuoi creare le tue immagini Kali invece di usare le nostre preconfigurate, abbiamo semplificato il tutto con il seguente script ospitato su Kali Linux Docker su Github. Queste immagini sono costruite al meglio su un sistema Linux o su qualsiasi altro sistema operativo che supporti 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!"


Esiste un comando docker exec che può essere usato per connettersi a un container già in esecuzione.
docker exec -it <container name> /bin/bash per ottenere una shell bash nel containerdocker exec -it <container name> <command> per eseguire qualsiasi comando tu specifici nel container.Il modo corretto per eseguire un comando in un container è: docker-compose run <container name> <command>. Ad esempio, per ottenere una shell nel tuo container web potresti eseguire docker-compose run web /bin/bash
Per eseguire una serie di comandi, devi racchiuderli in un unico comando usando una shell. Ad esempio: docker-compose run <name in yml> sh -c '<command 1> && <command 2> && <command 3>'
In alcuni casi potresti voler eseguire un container non definito da un file docker-compose.yml, ad esempio per testare una nuova configurazione del container. Usa docker run per avviare un nuovo container con un'immagine specifica: docker run -it <image name> <command>
Il comando docker run accetta opzioni da riga di comando per specificare montaggi di volumi, variabili d'ambiente, la directory di lavoro e altro.
Ottenere una shell in un container di build per eseguire qualsiasi operazione è l'approccio più semplice. Devi semplicemente ottenere l'accesso al container cli che abbiamo definito nel file compose. Il comando docker-compose -f build.yml run cli avvierà un'istanza dell'immagine phase2/devtools-build e aprirà una shell bash per te. Da lì sei libero di usare drush, grunt o qualunque cosa il tuo cuore desideri.
Un altro concetto nel mondo Docker è avviare un container per eseguire un singolo comando e consentire al container di fermarsi quando il comando è completato. È ottimo se esegui comandi di rado o se non vuoi avere un altro container costantemente in esecuzione. Eseguire i comandi sui container in questo modo è anche adatto a comandi che non generano file sul filesystem o che, se li generano, scrivono tali file su volumi montati nel container.
Il container drush definito nel file build.yml di esempio è un container progettato specificamente per eseguire drush in una singola directory di lavoro accettando solo i comandi come argomenti. Questo approccio ci consente di fornire un meccanismo rapido e semplice per eseguire qualsiasi comando drush, come sqlc, cache-rebuild e altri, nel tuo sito Drupal in modo rapido e semplice.
Ci sono anche altri esempi di un container per il comando grunt simile a drush e un container di comando ancora più specifico per eseguire un singolo comando, drush make, per costruire il sito da un file make/dependency.
La cartella webapp sull'host verrà montata nella root apache del container
docker system prune
docker system prune -a