
Scanner de découverte de contenu web tenant compte des technologies : détecte les empreintes Wappalyzer, adapte les wordlists/extensions et effectue un bruteforce rapide de répertoires pour le pentesting et le bug bounty.
Chameleon offre une meilleure découverte de contenu en utilisant l'ensemble d'empreintes technologiques de wappalyzer ainsi que des listes de mots personnalisées adaptées à chaque technologie détectée.
L'outil est hautement personnalisable et permet aux utilisateurs d'ajouter leurs propres listes de mots, extensions ou empreintes personnalisées.
La documentation complète est disponible sur : https://youst.in/posts/context-aware-conent-discovery-with-chameleon/
curl -sL https://raw.githubusercontent.com/iustin24/chameleon/master/install.sh | bash
L'exécution du script créera le répertoire ~/.config/chameleon/ et téléchargera le fichier de configuration et les listes de mots personnalisées.
> chameleon --url https://example.com -a
OPTIONS:
-a, --tech-detect
Détecter automatiquement les technologies avec wappalyzer et adapter la liste de mots
-A, --auto-calibrate
Calibrer automatiquement les options de filtrage (défaut : false)
-c, --mc <MATCHCODE>...
Faire correspondre les codes de statut HTTP de la réponse - Liste séparée par des virgules [défaut :
200,204,301,302,307,401,403,405]
-C, --fc <FILTERCODE>...
Filtrer les codes de statut HTTP de la réponse - Liste séparée par des virgules
-h, --help
Afficher les informations d'aide
-i, --include tech <TECHS>
Technologie à inclure, même si elle n'est pas détectée par wappalyzer. ( -i PHP,IIS )
-J, --json
Enregistrer la sortie au format json
-k, --config <CONFIG>
Fichier de configuration à utiliser [défaut : ~/.config/chameleon/config.toml]
-L, --hosts-file <HOSTS_FILE>
Liste des hôtes à scanner
-o, --output <OUTPUT>
Enregistrer la sortie dans un fichier
-s, --ms <MATCHSIZE>...
Faire correspondre la taille de la réponse HTTP. Liste séparée par des virgules de tailles
-S, --fs <FILTERSIZE>...
Filtrer la taille de la réponse HTTP. Liste séparée par des virgules de tailles
-t, --concurrency <CONCURRENCY>
Nombre de threads concurrents (défaut : 200) [défaut : 40]
-T, --tech url <TECH_URL>
URL qui sera scannée pour détecter les technologies. Par défaut, il s'agit de la même que '-u',
mais elle peut être modifiée en utilisant '-T'
-u, --url <URL>
URL à scanner
-U, --user-agent <USERAGENT>
Modifier la valeur de l'en-tête user-agent [défaut : "Chameleon /
https://github.com/iustin24/chameleon"]
-V, --version
Afficher les informations de version
-w, --wordlist <WORDLIST>
Liste de mots principale à utiliser pour le bruteforce
-W, --small-wordlist <SMALL_WORDLIST>
Liste de mots utilisée pour générer des fichiers en ajoutant des extensions ( FUZZ.%ext )
-X, --methods <METHODS>...
Méthodes HTTP à utiliser. Liste séparée par des virgules de tailles [défaut : GET]
Chameleon utilise le fichier de configuration situé dans ~/.config/chameleon/config.yaml.
Si aucune liste de mots n'est fournie, chameleon utilisera la liste de mots spécifiée dans main_wordlist du fichier de configuration. ( Défaut : ~/.config/chameleon/wordlists/raft-medium-words.txt )
Lors de la détection de technologies avec des extensions caractéristiques, chameleon générera une liste de mots de la manière suivante ( FUZZ.%ext ). Chameleon utilisera la liste de mots spécifiée dans small_wordlist du fichier de configuration. ( Défaut : ~/.config/chameleon/wordlists/raft-medium-words.txt )
Exemple de config.yaml avec des listes de mots spécifiques aux technologies :
# Technology Specific Wordlists:
Flask="~/.config/chameleon/wordlists/Flask.txt"
Java="~/.config/chameleon/wordlists/Java.txt"
Go="~/.config/chameleon/wordlists/GO.txt"
...
Chameleon utilise les empreintes provenant de https://github.com/iustin24/wappalyzer/blob/master/apps.json.
Vous pouvez ajouter de nouvelles listes de mots technologiques en prenant le nom d'une technologie depuis apps.json et en l'ajoutant au fichier de configuration comme ceci :
# Technology Specific Wordlists:
1C-Bitrix="~/.config/chameleon/wordlists/new_tech_wordlist.txt"
...
Chameleon génère des listes de mots en utilisant des extensions caractéristiques correspondant à la technologie détectée. Vous pouvez ajouter / modifier les extensions dans le fichier de configuration comme ceci :
# Technology specific Extensions
Microsoft_ASP_NET_ext="aspx,ashx,asmx,asp"
Java_ext="jsp"
CFML_ext="cfm"
Python_ext="py"
PHP_ext="php"
Mettre à jour la crate wappalyzer pour également prendre en charge la fonctionnalité « implies » pour une meilleure détection des technologies.
Ajouter l'auto-calibration pour le filtrage
Ajouter une option pour ajouter des en-têtes personnalisés.
epi052 - https://github.com/epi052/feroxfuzz/