Nihil fournit plusieurs images Docker spécialisées :
Image complète avec tous les outils :
- Système Arch Linux configuré
- zsh + oh-my-zsh
- Outils CLI de base (vim, tmux, fzf, etc.)
- Tous les modules red-team (AD, web, pwn, network, credential, c2, misc)
- Dépôts nihil et Chaotic-AUR configurés
Image GitHub Packages : ghcr.io/thenullpigeons/full:latest ou ghcr.io/thenullpigeons/full:flock
Image spécialisée pour le pentest Active Directory :
- Tout ce qui est dans l'image de base
- Outils AD : bloodhound, certipy, ldapdomaindump, adidnsdump, netexec, rusthound-ce, kerbrute, krbrelayx, PowerShell, etc.
- Outils credentials : hashcat, john, pypykatz, donpapi
- Outils réseau : responder, smbclient, openldap
- Historique zsh pré-configuré avec commandes d'exemple pour tous les outils
Image GitHub Packages : ghcr.io/thenullpigeons/ad:latest ou ghcr.io/thenullpigeons/ad:nest
Image orientée tests Web / HTTP :
- Base + outils web : sqlmap, gobuster, nuclei, ffuf, etc.
Image GitHub Packages : ghcr.io/thenullpigeons/web:latest ou ghcr.io/thenullpigeons/web:beak
cd nihil-images
docker build -f Dockerfile -t nihil:full .cd nihil-images
docker build -f Dockerfile.ad -t nihil:ad .cd nihil-images
docker build -f Dockerfile.web -t nihil:web .# Image full
docker pull ghcr.io/thenullpigeons/full:latest
# Image Active Directory
docker pull ghcr.io/thenullpigeons/ad:latest
# Image Web
docker pull ghcr.io/thenullpigeons/web:latestsudo pacman -S --needed $(cat packages.txt)docker run -it --rm nihil:localdocker run -it --rm nihil:local bashdocker run -it --rm nihil:local cmd ls -laOu directement :
docker run -it --rm nihil:local ls -ladocker run -it --rm -v $(pwd):/workspace nihil:localInstallez les dépendances nécessaires avec pacman :
sudo pacman -Syu --needed $(grep -vE '^\s*#' packages.txt | grep -vE '^\s*$')Contenu dans packages.txt (éditable selon vos besoins).
Tous les outils installés ont leurs commandes d'exemple automatiquement ajoutées dans l'historique zsh. Utilisez Ctrl+R dans zsh pour rechercher et réutiliser les commandes.
Les modules d'installation suivent un pattern standardisé :
install_pipx_tool: outils Python via pipxinstall_cargo_tool: outils Rust via cargoinstall_go_tool: outils Go via go installinstall_git_tool: outils depuis Gitinstall_git_tool_venv: outils Git avec venv Pythoninstall_tar_tool: outils depuis archives tar.gz (multi-arch)install_pacman_tool: paquets Arch Linuxinstall_aur_tool: paquets AUR
Toutes ces fonctions ajoutent automatiquement les aliases et l'historique si les fichiers existent dans build/config/aliases.d/ et build/config/history.d/.
nihil-images/
├── Dockerfile
├── Dockerfile.ad
├── Dockerfile.web
├── build/
│ ├── entrypoint.sh
│ ├── lib/
│ │ └── common.sh
│ ├── config/
│ │ ├── aliases.d/
│ │ └── history.d/
│ └── modules/
│ ├── base.sh
│ ├── core_tools.sh
│ ├── redteam_ad.sh
│ ├── redteam_cargo.sh
│ ├── redteam_credential.sh
│ ├── redteam_network.sh
│ ├── redteam_pacman.sh
│ ├── redteam_pipx.sh
│ ├── redteam_aur.sh
│ ├── redteam_curl.sh
│ ├── redteam_git.sh
│ ├── redteam_go.sh
│ └── redteam_web.sh
├── runtime/
│ └── entrypoint.sh
└── packages.txt