Docker container manager for pentesting - Inspired by Exegol but simplified.
📚 Documentation complète disponible dans le dossier
docs/
- 🐳 Gestion de conteneurs Docker - Création, démarrage, arrêt automatiques
- 🎨 Image Arch Linux customisée - zsh, oh-my-zsh, yay, Chaotic-AUR
- ⌨️ Auto-complétion - Support bash et zsh
- 📜 Historique des commandes - Fichier texte simple, facile à copier/coller
- 📦 Dépôt Arch Linux - Installation automatique des paquets nihil
- 🚀 Interface CLI intuitive - Commandes simples et puissantes
cd nihil-images
docker build -t nihil:local .cd ..
pipx install -e .nihil start my-pentestThe container will be created automatically if it doesn't exist, then started and a shell will be opened.
Privileged mode (for network tools):
nihil start my-container --privilegedMount a workspace:
nihil start my-container --workspace ~/path/to/folderHost network mode:
nihil start my-container --network hostStart without opening a shell:
nihil start my-container --no-shellnihil stop my-container# Remove a single container
nihil remove my-container
# Remove multiple containers at once
nihil remove container1 container2 container3 --forcenihil infoDisplays:
- Available nihil images
- Existing containers with their status
nihil exec my-container
nihil exec my-container ls -la
nihil exec my-container python3 script.py# Bash
nihil completion bash | sudo tee /etc/bash_completion.d/nihil
# Zsh
nihil completion zsh > ~/.zfunc/_nihilVoir Auto-complétion pour plus de détails.
Toutes les commandes sont automatiquement enregistrées dans ~/.config/nihil/history.log.
# Consulter l'historique
cat ~/.config/nihil/history.log
# Copier-coller une commande directementVoir Historique pour plus de détails.
nihil start pentest-web --workspace ~/projects/pentest-web
# Work in the container...
# Your files in ~/projects/pentest-web are accessible in /workspacenihil start ctf --privileged --network hostnihil start scripts --workspace ~/scripts --no-shell
nihil exec scripts python3 my-script.pynihil/
├── nihil.py # Entry point
├── pyproject.toml # Project configuration
├── requirements.txt # Dependencies
├── README.md # This file
├── docs/ # Documentation complète
│ ├── README.md # Index de la documentation
│ ├── installation.md # Guide d'installation
│ ├── usage.md # Guide d'utilisation
│ ├── docker-image.md # Documentation de l'image
│ ├── autocompletion.md # Auto-complétion
│ ├── history.md # Historique des commandes
│ ├── arch-repo.md # Dépôt Arch Linux
│ ├── development.md # Guide de développement
│ └── faq.md # Questions fréquentes
└── nihil/
├── __init__.py # Version and metadata
├── nihilController.py # Main controller with CLI
├── nihilManager.py # Docker management
├── nihilHelp.py # CLI parser
├── nihilFormatter.py # Output formatting
├── nihilError.py # Error handling
├── nihilDoctor.py # Diagnostics
└── nihilHistory.py # Command history
Start a container (creates it automatically if it doesn't exist)
nihil start <name> [options]
--privileged Privileged mode (full network access)
--network <mode> Network mode (e.g., host)
--workspace <path> Mount a working directory
--no-shell Don't open shell after startingStop a running container
nihil stop <name>Execute a command in a container
nihil exec <name> [command]
# Default: zshGenerate shell completion script
nihil completion <bash|zsh>Run diagnostics checks
nihil doctorRemove nihil images
nihil uninstall [image1 image2 ...] [--force]Remove one or more containers
nihil remove <name> [name2 name3 ...] [--force]Display available images and containers
nihil infoDOCKER_HOST: Docker host (default: local Unix socket)
Modify nihil-images/build/modules/ to add custom installation modules.
nihil remove test1 test2 test3 --force# Your files in ~/my-project are preserved even after container removal
nihil start project --workspace ~/my-projectLe dépôt nihil fournit plusieurs outils de pentest :
- netpath - Découverte intelligente de chemins d'attaque réseau avec interface TUI
- netexec - The Network Execution tool (successor to CrackMapExec)
- Autres outils disponibles via
pacman -Sl nihil
Installation dans un conteneur :
nihil start my-pentest
# Dans le conteneur :
pacman -S netpath netexecPour plus de détails, consultez la documentation complète :
- Installation - Guide d'installation détaillé
- Utilisation - Toutes les commandes et options
- Image Docker - Personnalisation de l'image
- Auto-complétion - Configuration bash/zsh
- Historique - Utilisation de l'historique
- Dépôt Arch - Utilisation du dépôt nihil et outils disponibles
- Développement - Guide pour développeurs
- FAQ - Questions fréquentes
- 0xbbuddha
- Goultarde
MIT License - Voir le fichier LICENSE pour plus de détails.