
Offensive Docker est une image contenant les outils offensifs les plus utilisés pour créer un environnement facilement et rapidement afin de lancer des évaluations sur les cibles.
Offensive Docker est une image contenant les outils les plus utilisés pour créer un environnement de pentest facilement et rapidement.
➡️ Note : Consultez le dépôt suivant pour savoir comment lancer offensive docker sur un VPS dans Google Cloud Platform ou Digital Ocean (crédit gratuit inclus). Offensive Docker VPS
Consultez le wiki du projet pour la documentation.
Vous pouvez utiliser l'image docker via les deux options suivantes :
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
Utilisez l'image depuis docker hub : aaaguirrep/offensive-docker
docker pull aaaguirrep/offensive-docker
docker run --rm -it --name my-offensive-docker aaaguirrep/offensive-docker /bin/zsh
Il existe différents cas d'utilisation pour l'image et vous devez savoir comment lancer le conteneur correctement.
Utiliser le conteneur pour accéder aux machines HTB (Hack the Box) via le 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
Partager des informations de votre répertoire local vers le répertoire du conteneur et sauvegarder des informations sur votre répertoire local. Vous devez sauvegarder les informations sous le répertoire /offensive.
docker run --rm -it -v /path/to/local/directory:/offensive --name my-offensive-docker aaaguirrep/offensive-docker /bin/zsh
Exposer les services internes du conteneur (apache, squid) pour votre environnement local.
docker run --rm -it --name my-offensive-docker -p 80:80 -p 3128:3128 aaaguirrep/offensive-docker /bin/zsh
À l'intérieur du conteneur, démarrez les services apache2 et squid via les alias :
apacheUp
squidUp
Monter des répertoires avec la commande umount.
docker run --rm -it --privileged --name my-offensive-docker aaaguirrep/offensive-docker /bin/zsh
Les outils sont téléchargés dans le répertoire /tools.
Vous pouvez configurer l'image docker avec de bonnes configurations comme :
Pour utiliser des clés d'accès, des tokens ou des clés API dans le docker, consultez le dépôt Offensive Docker Custom
Pour utiliser les deux options, vous devez utiliser l'option -v pour mapper le répertoire local avec le répertoire /offensive du conteneur.
Ajoutez la ligne suivante dans l'étape "Créer des raccourcis" dans le Dockerfile, construisez une nouvelle image et lancez un nouveau conteneur avec l'option -v.
RUN echo "alias vpnhtb=\"openvpn /offensive/path/to/ovpn/file\"" >> /root/.zshrc
Créez un nouveau Dockerfile avec les étapes suivantes, construisez une nouvelle image et lancez un nouveau conteneur avec l'option -v.
FROM aaaguirrep/offensive-docker
# Créer un raccourci et charger le fichier ovpn depuis la station de travail
RUN echo "alias vpnhtb=\"openvpn /offensive/path/to/ovpn/file\"" >> /root/.zshrc
Lorsque vous supprimez un conteneur, toutes les informations sont supprimées, y compris l'historique des commandes. La configuration suivante vous offre une option pour sauvegarder l'historique des commandes dans votre environnement local et le charger lorsque vous lancez un nouveau conteneur. Ainsi, vous ne perdrez pas votre historique de commandes lors du lancement d'un nouveau conteneur.
Pour utiliser les deux options, vous devez utiliser l'option -v pour mapper le répertoire local avec le répertoire /offensive du conteneur.
Ajoutez la ligne suivante dans l'étape "Créer des raccourcis" dans le Dockerfile, construisez une nouvelle image et lancez un nouveau conteneur.
# Sauvegarder et charger l'historique des commandes dans votre environnement local
RUN sed -i '1i export HISTFILE="/history/.zsh_history"' /root/.zshrc
Créez un nouveau Dockerfile avec les étapes suivantes, construisez une nouvelle image et lancez un nouveau conteneur.
FROM aaaguirrep/offensive-docker
# Sauvegarder et charger l'historique des commandes dans votre environnement local
RUN sed -i '1i export HISTFILE="/history/.zsh_history"' /root/.zshrc
L'image a été testée dans les environnements suivants :
Service Docker pour Mac
Docker version 19.03.13, build 4484c46d9d
Service Docker pour une instance Linux sur Google Cloud Platform
Docker version 19.03.6, build 369ce74a3c
Service Docker pour un droplet Linux sur Digital Ocean
Docker version 19.03.6, build 369ce74a3c
Ne sauvegardez pas d'informations dans les répertoires du conteneur car elles seront perdues après la suppression du conteneur ; vous devez sauvegarder les informations dans votre environnement local en utilisant le paramètre -v lorsque vous lancez le conteneur. Par exemple :
docker run --rm -it -v /path/to/local/directory:/offensive --name my-offensive-docker aaaguirrep/offensive-docker /bin/zsh
La commande ci-dessus spécifie un chemin de répertoire local mappé avec le répertoire /offensive du conteneur. Vous devez sauvegarder toutes les informations sous le répertoire /offensive.
Utilisez hashcat et john the ripper dans des environnements contrôlés comme des CTF. Vous pouvez rencontrer des problèmes.
Merci pour vos dons, ils sont toujours appréciés.
Pendant que je bois mon café, je cherche d'autres outils à ajouter à l'image docker.
Merci à tous nos contributeurs !
Copyright (c) 2020, Arsenio Aguirre