
Technologiebewusster Scanner zur Entdeckung von Webinhalten: erkennt Wappalyzer-Fingerprints, passt Wortlisten/Erweiterungen an und führt schnelles Directory-Bruteforcing für Pentesting und Bug Bounty durch.
Chameleon bietet eine bessere Inhaltserkennung, indem es die Technologie-Fingerprints von wappalyzer zusammen mit benutzerdefinierten Wortlisten verwendet, die auf jede erkannte Technologie zugeschnitten sind.
Das Tool ist hochgradig anpassbar und ermöglicht es Benutzern, eigene benutzerdefinierte Wortlisten, Erweiterungen oder Fingerprints hinzuzufügen.
Die vollständige Dokumentation ist verfügbar unter: https://youst.in/posts/context-aware-conent-discovery-with-chameleon/
curl -sL https://raw.githubusercontent.com/iustin24/chameleon/master/install.sh | bash
Durch Ausführen des Skripts wird das Verzeichnis ~/.config/chameleon/ erstellt und die Konfigurationsdatei sowie benutzerdefinierte Wortlisten heruntergeladen.
> chameleon --url https://example.com -a
OPTIONS:
-a, --tech-detect
Automatically detect technologies with wappalyzer and adapt wordlist
-A, --auto-calibrate
Automatically calibrate filtering options (default: false)
-c, --mc <MATCHCODE>...
Match HTTP status codes from response - Comma separated list [default:
200,204,301,302,307,401,403,405]
-C, --fc <FILTERCODE>...
Filter HTTP status codes from response - Comma separated list
-h, --help
Print help information
-i, --include tech <TECHS>
Technology to be included, even if its not detected by wappalyzer. ( -i PHP,IIS )
-J, --json
Save the output as json
-k, --config <CONFIG>
Config file to use [default: ~/.config/chameleon/config.toml]
-L, --hosts-file <HOSTS_FILE>
List of hosts to scan
-o, --output <OUTPUT>
Save the output into a file
-s, --ms <MATCHSIZE>...
Match HTTP response size. Comma separated list of sizes
-S, --fs <FILTERSIZE>...
Filter HTTP response size. Comma separated list of sizes
-t, --concurrency <CONCURRENCY>
Number of concurrent threads ( default: 200 ) [default: 40]
-T, --tech url <TECH_URL>
URL which will be scanned for technologies. By default, this is the same as '-u',
however it can be changed using '-T'
-u, --url <URL>
url to scan
-U, --user-agent <USERAGENT>
Change the value for the user-agent header [default: "Chameleon /
https://github.com/iustin24/chameleon"]
-V, --version
Print version information
-w, --wordlist <WORDLIST>
Main wordlist to use for bruteforcing
-W, --small-wordlist <SMALL_WORDLIST>
Wordlist used to generate files by adding extensions ( FUZZ.%ext )
-X, --methods <METHODS>...
HTTP Methods to use. Comma separated list of sizes [default: GET]
Chameleon verwendet die Konfigurationsdatei unter ~/.config/chameleon/config.yaml.
Wenn keine Wortliste angegeben wird, verwendet chameleon die unter main_wordlist in der Konfigurationsdatei angegebene Wortliste. (Standard: ~/.config/chameleon/wordlists/raft-medium-words.txt )
Wenn chameleon Technologien mit charakteristischen Erweiterungen erkennt, generiert es eine Wortliste wie folgt ( FUZZ.%ext ). Chameleon verwendet die unter small_wordlist in der Konfigurationsdatei angegebene Wortliste. (Standard: ~/.config/chameleon/wordlists/raft-medium-words.txt )
Beispiel config.yaml mit technologiespezifischen Wortlisten:
# Technology Specific Wordlists:
Flask="~/.config/chameleon/wordlists/Flask.txt"
Java="~/.config/chameleon/wordlists/Java.txt"
Go="~/.config/chameleon/wordlists/GO.txt"
...
Chameleon verwendet Fingerprints von https://github.com/iustin24/wappalyzer/blob/master/apps.json.
Sie können neue Technologie-Wortlisten hinzufügen, indem Sie den Namen einer Technologie aus apps.json nehmen und ihn wie folgt zur Konfigurationsdatei hinzufügen:
# Technology Specific Wordlists:
1C-Bitrix="~/.config/chameleon/wordlists/new_tech_wordlist.txt"
...
Chameleon generiert Wortlisten mithilfe charakteristischer Erweiterungen, die zur erkannten Technologie passen. Sie können die Erweiterungen wie folgt in der Konfigurationsdatei hinzufügen/ändern:
# Technology specific Extensions
Microsoft_ASP_NET_ext="aspx,ashx,asmx,asp"
Java_ext="jsp"
CFML_ext="cfm"
Python_ext="py"
PHP_ext="php"
Die wappalyzer-Crate aktualisieren, um auch die "implies"-Funktion für eine bessere Technologieerkennung zu unterstützen.
Automatische Kalibrierung für die Filterung hinzufügen
Option hinzufügen, um benutzerdefinierte Header hinzuzufügen.
epi052 - https://github.com/epi052/feroxfuzz/