
Offensive Docker è un'immagine con gli strumenti offensivi più utilizzati per creare un ambiente facilmente e rapidamente per lanciare valutazioni verso i target.
Offensive Docker è un'immagine con gli strumenti più usati per creare un ambiente di pentest in modo facile e veloce.
➡️ Nota: Dai un'occhiata al prossimo repo per sapere come lanciare offensive docker in un VPS su Google Cloud Platform o Digital Ocean (credito gratuito incluso). Offensive Docker VPS
Consulta il wiki del progetto per la documentazione.
Puoi usare l'immagine docker con le seguenti due opzioni:
git clone --depth 1 https://github.com/aaaguirrep/offensive-docker.git
cd offensive-docker
docker build -t offensive-docker .
docker run --rm -it --name my-offensive-docker offensive-docker /bin/zsh
Usa l'immagine da docker hub: aaaguirrep/offensive-docker
docker pull aaaguirrep/offensive-docker
docker run --rm -it --name my-offensive-docker aaaguirrep/offensive-docker /bin/zsh
Ci sono diversi casi d'uso per l'immagine e dovresti sapere come eseguire correttamente il container.
Usare il container per accedere alle macchine HTB (Hack the Box) tramite VPN HTB.
docker run --rm -it --cap-add=NET_ADMIN --device=/dev/net/tun --sysctl net.ipv6.conf.all.disable_ipv6=0 --name my-offensive-docker aaaguirrep/offensive-docker /bin/zsh
Condividere informazioni dalla directory locale alla directory del container e salvare informazioni nella directory locale. Dovresti salvare le informazioni sotto la directory /offensive.
docker run --rm -it -v /path/to/local/directory:/offensive --name my-offensive-docker aaaguirrep/offensive-docker /bin/zsh
Esporre i servizi interni del container (apache, squid) per il tuo ambiente locale.
docker run --rm -it --name my-offensive-docker -p 80:80 -p 3128:3128 aaaguirrep/offensive-docker /bin/zsh
All'interno del container avvia i servizi apache2 e squid tramite gli alias.
apacheUp
squidUp
Montare directory tramite il comando umount.
docker run --rm -it --privileged --name my-offensive-docker aaaguirrep/offensive-docker /bin/zsh
Gli strumenti vengono scaricati nella directory /tools.
Puoi configurare l'immagine docker con configurazioni utili come ad esempio:
Per usare chiavi di accesso, token o API Keys nel docker, consulta il prossimo repo Offensive Docker Custom
Per usare entrambe le opzioni devi usare l'opzione -v per mappare la directory locale con la directory /offensive del container.
Aggiungi la riga seguente nel passaggio "Crea scorciatoie" (Create shorcuts) nel Dockerfile, costruisci una nuova immagine ed esegui un nuovo container con l'opzione -v.
RUN echo "alias vpnhtb=\"openvpn /offensive/path/to/ovpn/file\"" >> /root/.zshrc
Crea un nuovo Dockerfile con i seguenti passaggi, costruisci una nuova immagine ed esegui un nuovo container con l'opzione -v.
FROM aaaguirrep/offensive-docker
# Crea una scorciatoia e carica il file ovpn dalla workstation
RUN echo "alias vpnhtb=\"openvpn /offensive/path/to/ovpn/file\"" >> /root/.zshrc
Quando elimini un container, tutte le informazioni vengono cancellate, inclusa la cronologia dei comandi. La seguente configurazione ti offre un'opzione per salvare la cronologia dei comandi nel tuo ambiente locale e caricarla quando esegui un nuovo container. Così non perderai la cronologia dei comandi quando esegui un nuovo container.
Per usare entrambe le opzioni devi usare l'opzione -v per mappare la directory locale con la directory /offensive del container.
Aggiungi la riga seguente nel passaggio "Crea scorciatoie" nel Dockerfile, costruisci una nuova immagine ed esegui un nuovo container.
RUN sed -i '1i export HISTFILE="/history/.zsh_history"' /root/.zshrc
Crea un nuovo Dockerfile con i seguenti passaggi, costruisci una nuova immagine ed esegui un nuovo container.
FROM aaaguirrep/offensive-docker
# Salva e carica la cronologia dei comandi nel tuo ambiente locale
RUN sed -i '1i export HISTFILE="/history/.zsh_history"' /root/.zshrc
L'immagine è stata testata nei seguenti ambienti:
Servizio Docker per Mac
Docker version 19.03.13, build 4484c46d9d
Servizio Docker per istanza Linux su Google Cloud Platform
Docker version 19.03.6, build 369ce74a3c
Servizio Docker per droplet Linux su Digital Ocean
Docker version 19.03.6, build 369ce74a3c
Non salvare informazioni nelle directory del container perché andranno perse dopo aver eliminato il container. Dovresti salvare le informazioni nel tuo ambiente locale usando il parametro -v quando esegui il container. Per esempio:
docker run --rm -it -v /path/to/local/directory:/offensive --name my-offensive-docker aaaguirrep/offensive-docker /bin/zsh
Il comando precedente specifica un percorso di directory locale mappato con la directory /offensive del container. Dovresti salvare tutte le informazioni sotto la directory /offensive.
Usa hashcat e john the ripper in ambienti controllati come CTF. Potresti riscontrare problemi.
Grazie per le tue donazioni, sono sempre apprezzate.
Mentre bevo il caffè, controllo altri strumenti da aggiungere all'immagine docker.
Grazie a tutti i nostri contributori!
Copyright (c) 2020, Arsenio Aguirre