
ماسح اكتشاف محتوى ويب واعٍ بالتقنيات: يكتشف بصمات Wappalyzer، ويُكيِّف قوائم الكلمات/الامتدادات، وينفّذ فحصاً سريعاً للدلائل بالقوة الغاشمة لاختبار الاختراق وبرامج مكافآت الثغرات.
Chameleon يوفر اكتشاف محتوى أفضل باستخدام مجموعة بصمات التقنيات من wappalyzer إلى جانب قوائم كلمات مخصصة مصممة لكل تقنية يتم اكتشافها.
الأداة قابلة للتخصيص بدرجة كبيرة وتتيح للمستخدمين إضافة قوائم الكلمات أو الامتدادات أو البصمات المخصصة الخاصة بهم.
التوثيق الكامل متاح على: https://youst.in/posts/context-aware-conent-discovery-with-chameleon/
curl -sL https://raw.githubusercontent.com/iustin24/chameleon/master/install.sh | bash
سيُنشئ تشغيل السكربت الدليل ~/.config/chameleon/ ويقوم بتنزيل ملف الإعداد وقوائم الكلمات المخصصة.
> 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 ملف الإعداد الموجود في ~/.config/chameleon/config.yaml.
إذا لم يتم توفير قائمة كلمات، سيستخدم Chameleon قائمة الكلمات المحددة في main_wordlist من ملف الإعداد. (الافتراضي: ~/.config/chameleon/wordlists/raft-medium-words.txt)
عند اكتشاف تقنيات ذات امتدادات مميزة، سيولّد Chameleon قائمة كلمات على النحو التالي ( FUZZ.%ext ). سيستخدم Chameleon قائمة الكلمات المحددة في small_wordlist من ملف الإعداد. (الافتراضي: ~/.config/chameleon/wordlists/raft-medium-words.txt)
مثال على ملف config.yaml مع قوائم كلمات خاصة بالتقنيات:
# Technology Specific Wordlists:
Flask="~/.config/chameleon/wordlists/Flask.txt"
Java="~/.config/chameleon/wordlists/Java.txt"
Go="~/.config/chameleon/wordlists/GO.txt"
...
يستخدم Chameleon بصمات من https://github.com/iustin24/wappalyzer/blob/master/apps.json.
يمكنك إضافة قوائم كلمات تقنيات جديدة عن طريق أخذ اسم تقنية من apps.json وإضافته إلى ملف الإعداد كما يلي:
# Technology Specific Wordlists:
1C-Bitrix="~/.config/chameleon/wordlists/new_tech_wordlist.txt"
...
يولّد Chameleon قوائم الكلمات باستخدام الامتدادات المميزة المطابقة للتقنية المكتشفة. يمكنك إضافة / تعديل الامتدادات في ملف الإعداد كما يلي:
# Technology specific Extensions
Microsoft_ASP_NET_ext="aspx,ashx,asmx,asp"
Java_ext="jsp"
CFML_ext="cfm"
Python_ext="py"
PHP_ext="php"
تحديث مكتبة wappalyzer لدعم ميزة "implies" لتحسين اكتشاف التقنيات.
إضافة معايرة تلقائية للتصفية
إضافة خيار لإضافة رؤوس مخصصة.
epi052 - https://github.com/epi052/feroxfuzz/