
Outil automatisé de reconnaissance de domaines web et d'évaluation de sécurité, intégrant l'énumération de sous-domaines, le scan de ports, le scan de vulnérabilités et la découverte assistée par IA pour les workflows de tests d'intrusion.
Introduction • Installation • Utilisation • Exécuter HaxUnit • Fonctions
HaxUnit.com
Rejoignez le Discord !
HaxUnit est un outil complet de reconnaissance et d'évaluation de sécurité pour les domaines web, basé sur Python. Il intègre divers outils pour l'énumération de sous-domaines, le scan de ports, le scan de vulnérabilités, et plus encore.
HaxUnit se concentre sur la simplicité et vise à être la solution la meilleure et la plus complète pour les évaluations de sécurité web.
Pour une installation fiable, il est recommandé d'utiliser HaxUnit avec Docker Compose.
Cette configuration initiale peut prendre quelques minutes :
git clone https://github.com/Bandit-HaxUnit/haxunit && cd haxunit
.env.example en .env et remplir les clés API.ACUNETIX_THRESHOLD=30
ACUNETIX_API_KEY=
NUCLEI_API_KEY=
WPSCAN_API_KEY=
PDCP_API_KEY=
chmod +x rebuild-compose.sh open-bash.sh
./rebuild-compose.sh
Une fois l'installation terminée avec succès, vous serez à l'intérieur du conteneur Docker, prêt à exécuter HaxUnit :
🎉 Installation terminée ! 🎉
HaxUnit est maintenant prêt à l'action !
Il est temps de trouver ces vulnérabilités et de les corriger comme un pro ! 🕵️♂️🔍
🚀 Pour lancer l'analyse, exécutez la commande suivante :
haxunit -d <domaine>
C'est tout, vous êtes prêt à analyser des domaines avec HaxUnit !
Pour ouvrir un shell bash à l'intérieur du conteneur HaxUnit, exécutez la commande suivante :
./open-bash.sh
Assurez-vous d'avoir les logiciels suivants installés sur votre système :
python3 (>=3.10)go (>=1.22)docker.io (>=20.10.7)Cloner le dépôt :
Ouvrez un terminal et exécutez la commande suivante pour cloner le dépôt et naviguer dans le répertoire du projet :
git clone https://github.com/Bandit-HaxUnit/haxunit && cd haxunit
Installer python3.11-venv (si nécessaire) :
Si vous n'avez pas le module venv installé, vous devrez peut-être l'installer. Exécutez l'une des commandes suivantes en fonction de votre version de Python :
sudo apt update
sudo apt install python3.11-venv
Ou pour Python 3.10 :
sudo apt update
sudo apt install python3.10-venv
Créer un environnement virtuel :
Créez un environnement virtuel nommé haxunit-venv :
python3 -m venv haxunit-venv
Activer l'environnement virtuel :
Activez l'environnement virtuel à l'aide de la commande suivante :
source haxunit-venv/bin/activate
Remarque : Pour désactiver l'environnement virtuel plus tard, exécutez simplement deactivate.
Si tout est installé correctement, vous devriez voir la sortie suivante :
[HaxUnit] [Init] All tools are successfully installed - good luck!
Le processus d'installation utilise désormais pdtm (ProjectDiscovery Tool Manager) pour une gestion efficace des outils et inclut des vérifications intelligentes pour éviter de réinstaller des outils déjà présents.
haxunit -h
Ceci affichera l'aide pour l'outil. Voici tous les commutateurs qu'il supporte.
usage: main.py [-h] [-d DOMAIN] [-m {quick,extensive}] [-v] [-b BIN] [-is ISERVER] [-it ITOKEN] [-acu] [-y] [-u] [-i] [--wpscan-api-token WPSCAN_API_TOKEN]
[--use-notify] [--cloud-upload] [--htb] [--fuzz] [--use-gpt] [--skip-installers]
HaxUnit - Web Domain Reconnaissance Tool
optional arguments:
-h, --help show this help message and exit
-d DOMAIN, --domain DOMAIN
the website to recon: example.com
-m {quick,extensive}, --mode {quick,extensive}
set scan mode
-v, --verbose print more information
-b BIN, --bin BIN set which python bin to use
-is ISERVER, --iserver ISERVER
interactsh server URL for self-hosted instance
-it ITOKEN, --itoken ITOKEN
authentication token for self-hosted interactsh server
-acu, --use-acunetix Enable Acunetix integration
-y, --yes yes to all prompts
-u, --update update all tools
-i, --install install all tools
--wpscan-api-token WPSCAN_API_TOKEN
The WPScan API Token to display vulnerability data
--use-notify Run notify on completion
--cloud-upload Upload results to ProjectDiscovery cloud
--htb HackTheBox mode
--fuzz Enable ffuf fuzzing
--use-gpt Enable GPT suggestions
--skip-installers Skip tool installation checks
Lancer une analyse rapide sur example.com :
haxunit -d example.com
Lancer une analyse rapide sur example.com en répondant oui par défaut à l'ajout de domaines :
haxunit -d example.com -y
Lancer une analyse approfondie sur example.com en utilisant Acunetix et en téléchargeant les résultats vers le cloud ProjectDiscovery :
haxunit -d example.com -m extensive --use-acunetix --cloud-upload
Ignorer les vérifications d'installation pour un démarrage plus rapide (lorsque vous savez que les outils sont installés) :
haxunit -d example.com --skip-installers
Les résultats de l'analyse seront enregistrés dans la structure de répertoire suivante :
scans/
└── example.com/
└── timestamp/
Remplacez example.com par votre domaine cible et timestamp par la date et l'heure de l'analyse.
Cette structure organise les résultats d'analyse chronologiquement dans le dossier du domaine correspondant sous le répertoire scans.
Ce dépôt inclut un exemple de DAG Apache Airflow qui automatise le processus d'analyse HaxUnit.
dags de votre installation Apache Airflow. git clone https://github.com/Bandit-HaxUnit/haxunit && cd haxunit
.env.example en .env et remplir les clés API.ACUNETIX_THRESHOLD=30
ACUNETIX_API_KEY=
NUCLEI_API_KEY=
WPSCAN_API_KEY=
PDCP_API_KEY=
notify-config.yaml.example en notify-config.yaml.Exemple de configuration pour les notifications Slack :
slack:
- id: "slack"
slack_channel: "automated-pentest"
slack_username: "HackerBot"
slack_format: "{{data}}"
slack_webhook_url: "https://hooks.slack.com/services/XXXXX"
Configurer le DAG :
Renommez dags.py.example en dags.py et configurez-le selon vos besoins.
N'oubliez pas d'utiliser --use-notify pour activer les notifications.
Construire et exécuter HaxUnit :
Après avoir configuré les paramètres de notification, construisez et exécutez HaxUnit avec la commande suivante :
chmod +x rebuild-compose.sh && ./rebuild-compose.sh
En suivant ces étapes, vous pouvez désormais automatiser vos tests d'intrusion avec Apache Airflow. Profitez du processus rationalisé !
HaxUnit utilise l'API REST d'Acunetix pour automatiser la création de groupes et lancer des analyses.
Pour générer une clé API, visitez la page de profil.
Insérez la clé API dans le fichier .env.
ACUNETIX_API_KEY=
Reconstruisez docker compose pour appliquer les modifications :
./rebuild-compose.sh
Pour exécuter HaxUnit avec Acunetix, utilisez la commande suivante :
haxunit -d example.com --use-acunetix
Pour installer Acunetix, exécutez la commande suivante :
bash <(wget -qO- https://raw.githubusercontent.com/Bandit-HaxUnit/acu/main/install.sh)
Ceci téléchargera et installera le conteneur Acunetix.
Une fois l'installation terminée, vous pouvez commencer à utiliser Acunetix avec HaxUnit.
Acunetix est accessible à l'adresse https://localhost:3443.
Nom d'utilisateur : [email protected]
Mot de passe : [email protected]
Installer les packages requis :
Avec l'environnement virtuel activé, installez les packages nécessaires :
python3 -m pip install -r requirements.txt
Exécuter le script d'installation :
Enfin, exécutez le script principal avec l'option --install :
python3 main.py --install
| Fonction | Type | Description |
|---|
| dnsx_subdomains | Découverte de sous-domaines | Utilise dnsx pour trouver des sous-domaines et bruteforcer des sous-domaines |
| subfinder | Découverte de sous-domaines | Utilise subfinder pour trouver des sous-domaines |
| chaos | Découverte de sous-domaines | Interroge la base de données Chaos de ProjectDiscovery pour l'énumération passive de sous-domaines |
| subwiz | Découverte de sous-domaines | Prédiction de sous-domaines par IA utilisant le machine learning |
| katana | Crawling | Rassemble toutes les URL de la liste des sous-domaines et analyse le domaine avec unfurl |
| alterx | Permutation de sous-domaines | Génère et teste des permutations de sous-domaines |
| dnsx_ips | Récupération d'adresses IP | Utilise dnsx pour récupérer les enregistrements A |
| naabu | Découverte de ports | Exécute naabu sur la liste des sous-domaines en utilisant une liste de ports courants pour découvrir les services HTTP |
| httpx | Validation de sous-domaines | Vérifie si tous les sous-domaines trouvés sont actifs |
| wpscan | Scanner de vulnérabilités | Scanner de sécurité WordPress |
| acunetix | Scanner de vulnérabilités | Crée automatiquement un groupe pour le site et lance des analyses des sous-domaines pour trouver des vulnérabilités |
| nuclei | Scanner de vulnérabilités | Utilise tous les sous-domaines actifs trouvés pour rechercher des vulnérabilités |