Scanner de vulnérabilités web avancé pour le Red et Blue Teaming
Project description
HakBoardCrawler
Un crawler web avancé conçu pour les équipes Red et Blue Teams, permettant d'analyser des sites web et détecter des vulnérabilités potentielles.
Caractéristiques
- Scan de vulnérabilités : Détection automatique des failles de sécurité courantes
- Analyse des en-têtes : Vérification des en-têtes HTTP de sécurité
- Détection de fichiers sensibles : Identification des fichiers sensibles exposés
- Extraction de métadonnées : Analyse des métadonnées des ressources statiques et des documents
- Détection d'endpoints API : Découverte des points d'entrée d'API, avec support spécifique pour les frameworks populaires (Next.js, Django, Vue.js, Laravel, etc.)
- Cartographie du site : Génération d'une carte du site complète avec extraction des ressources statiques
- Mode furtif : Rotation des user-agents et délais aléatoires pour éviter la détection
- Reconnaissance de frameworks : Détection automatique des frameworks web utilisés par la cible
- Export de rapports : Exportation des résultats en JSON, HTML, CSV ou PDF
- Analyse multi-sites : Possibilité de scanner plusieurs domaines en une seule commande
- Hautement configurable : Nombreuses options pour adapter le comportement selon vos besoins
Installation
# Cloner le dépôt
git clone https://github.com/votre-username/hakboardcrawler.git
cd hakboardcrawler
# Créer un environnement virtuel
python -m venv venv
source venv/bin/activate # Sur Windows : venv\Scripts\activate
# Installer les dépendances
pip install -r requirements.txt
Utilisation
Via la ligne de commande
# Scan simple
python -m hakboardcrawler example.com
# Scan agressif avec export en HTML
python -m hakboardcrawler example.com --mode aggressive --format html
# Scan en mode verbeux avec sortie personnalisée
python -m hakboardcrawler example.com -v --output scan_example
# Scan de plusieurs sites à partir d'un fichier
python -m hakboardcrawler targets.txt --format html --output multi_scan
# Scan avec options personnalisées
python -m hakboardcrawler example.com --depth 5 --threads 10 --delay 0.5 --timeout 15
Mode Furtif vs Agressif
-
Mode Furtif (par défaut) : Conçu pour minimiser la détection. Utilise une rotation des user-agents, des délais plus longs entre les requêtes, et limite la profondeur d'exploration.
python -m hakboardcrawler example.com --mode stealth
-
Mode Agressif : Scan plus rapide et approfondi. Utilise plus de threads, une exploration plus profonde, et des délais plus courts.
python -m hakboardcrawler example.com --mode aggressive
Utilisation programmatique
from hakboardcrawler.crawler import Crawler
# Initialiser le crawler avec une cible
crawler = Crawler(target="example.com", mode="stealth")
# Exécuter le scan
results = crawler.scan()
# Exporter les résultats en HTML
report_path = crawler.export(results, format="html", output="rapport_example")
print(f"Rapport généré: {report_path}")
# Scan de plusieurs cibles
targets = ["example1.com", "example2.com", "example3.com"]
all_results = crawler.scan_target_list(targets, format="html", output="multi_rapport")
Options Avancées
Fichier de Configuration
Vous pouvez utiliser un fichier de configuration JSON pour personnaliser le comportement du crawler :
{
"scan_depth": 5,
"threads": 10,
"timeout": 15,
"delay": 0.5,
"respect_robots": false,
"user_agent_rotate": true,
"verify_ssl": false,
"exclude_patterns": ["\\.pdf$", "/admin/", "/login/"],
"sitemap_options": {
"extract_scripts": true,
"extract_forms": true
},
"scanner_options": {
"check_headers": true,
"check_csp": true
}
}
Utilisation :
python -m hakboardcrawler example.com --config config.json
Options pour les modules spécifiques
# Désactiver l'extraction de métadonnées
python -m hakboardcrawler example.com --no-metadata
# Désactiver la génération de carte du site
python -m hakboardcrawler example.com --no-sitemap
# Désactiver la détection d'API
python -m hakboardcrawler example.com --no-api
Détection des frameworks et API
HakBoardCrawler détecte automatiquement les frameworks web populaires et recherche les endpoints API spécifiques à ces frameworks :
- Next.js : Détection des routes API et des données statiques
- Django : Détection des endpoints admin et API
- WordPress : Détection des API REST et admin-ajax
- Laravel, Vue.js, React, Angular, etc.
Améliorations récentes
- Amélioration de la détection des APIs pour divers frameworks
- Cartographie complète du site avec extraction de toutes les ressources
- Extraction améliorée des métadonnées des images et ressources statiques
- Support pour l'analyse de plusieurs cibles en une commande
- Génération de rapports récapitulatifs pour les analyses multi-sites
Contribution
Les contributions sont les bienvenues ! N'hésitez pas à soumettre des pull requests ou à signaler des problèmes.
Note Légale
Cet outil est destiné à être utilisé pour des fins légitimes uniquement, comme les tests de pénétration autorisés, la recherche en sécurité, ou l'analyse de sites web dont vous êtes propriétaire. L'utilisation de cet outil pour des activités non autorisées est illégale et contraire à l'éthique.
Licence
Ce projet est sous licence MIT.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hakboardcrawler-1.0.0.tar.gz.
File metadata
- Download URL: hakboardcrawler-1.0.0.tar.gz
- Upload date:
- Size: 40.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e6c84e795de5fc3157ab3cc381267394118039c86622575646a9030c769ecc6
|
|
| MD5 |
cd58e0e72442affe56b9e22bfe64a10c
|
|
| BLAKE2b-256 |
6b4a4e5e0cd7334462017b1b32bf81fed16cfb965ae7a5d7e48cf1c2ff312f0b
|
File details
Details for the file hakboardcrawler-1.0.0-py3-none-any.whl.
File metadata
- Download URL: hakboardcrawler-1.0.0-py3-none-any.whl
- Upload date:
- Size: 44.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa9fc7eaf73626f8ce4d81397598ee2135ffbc419d895552cf94642961b6aa12
|
|
| MD5 |
c56561287dc23daf17efb3c75ab2f3a7
|
|
| BLAKE2b-256 |
03d90470e6bc3790299111796f000c58c16182f9fada2b0be57066c4755f82d1
|