
Escáner de descubrimiento de contenido web consciente de la tecnología: detecta huellas digitales de Wappalyzer, adapta wordlists/extensiones y realiza fuerza bruta rápida de directorios para pentesting y bug bounty.
Chameleon proporciona un mejor descubrimiento de contenido mediante el uso del conjunto de huellas de tecnologías de wappalyzer junto con listas de palabras personalizadas adaptadas a cada tecnología detectada.
La herramienta es altamente personalizable y permite a los usuarios añadir sus propias listas de palabras, extensiones o huellas.
La documentación completa está disponible en: https://youst.in/posts/context-aware-conent-discovery-with-chameleon/
curl -sL https://raw.githubusercontent.com/iustin24/chameleon/master/install.sh | bash
Al ejecutar el script se creará el directorio ~/.config/chameleon/ y se descargarán el archivo de configuración y las listas de palabras personalizadas.
> 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 utiliza el archivo de configuración ubicado en ~/.config/chameleon/config.yaml.
Si no se proporciona una lista de palabras, chameleon utilizará la lista especificada en main_wordlist del archivo de configuración. ( Por defecto: ~/.config/chameleon/wordlists/raft-medium-words.txt )
Al detectar tecnologías con extensiones características, chameleon generará una lista de palabras de la siguiente manera ( FUZZ.%ext ). Chameleon utilizará la lista especificada en small_wordlist del archivo de configuración. ( Por defecto: ~/.config/chameleon/wordlists/raft-medium-words.txt )
Ejemplo de config.yaml con listas de palabras específicas por tecnología:
# Technology Specific Wordlists:
Flask="~/.config/chameleon/wordlists/Flask.txt"
Java="~/.config/chameleon/wordlists/Java.txt"
Go="~/.config/chameleon/wordlists/GO.txt"
...
Chameleon utiliza huellas de https://github.com/iustin24/wappalyzer/blob/master/apps.json.
Puedes añadir nuevas listas de palabras de tecnologías tomando el nombre de una tecnología de apps.json y añadiéndolo al archivo de configuración de la siguiente manera:
# Technology Specific Wordlists:
1C-Bitrix="~/.config/chameleon/wordlists/new_tech_wordlist.txt"
...
Chameleon genera listas de palabras utilizando extensiones características que coinciden con la tecnología detectada. Puedes añadir / modificar las extensiones en el archivo de configuración de la siguiente manera:
# Technology specific Extensions
Microsoft_ASP_NET_ext="aspx,ashx,asmx,asp"
Java_ext="jsp"
CFML_ext="cfm"
Python_ext="py"
PHP_ext="php"
Actualizar el crate de wappalyzer para que también admita la función "implies" para una mejor detección de tecnologías.
Añadir calibración automática para el filtrado
Añadir opción para agregar cabeceras personalizadas.
epi052 - https://github.com/epi052/feroxfuzz/