ابحث في Google Dorks مثل تشاد. استنادا إلى إيفان-سينيك/ناجووجلش.
تم اختباره على Kali Linux V2024.2 (64 بت).
صنع لأغراض تعليمية. آمل أن يساعد ذلك!
الخطط المستقبلية:
linkedin-user . pip3 install --upgrade playwright
playwright install chromiumتأكد في كل مرة تقوم فيها بترقية اعتماد الكاتب المسرحي الخاص بك لإعادة تثبيت الكروم ؛ خلاف ذلك ، قد تحصل على خطأ باستخدام المتصفح بدون رأس في مستخرج تشاد.
pip3 install --upgrade google-chadgit clone https://github.com/ivan-sincek/chad && cd chad
python3 -m pip install --upgrade build
python3 -m build
python3 -m pip install dist/google_chad-7.0-py3-none-any.whlchad -q ' intitle:"index of /" intext:"parent directory" ' هل قلت Metagoofil؟!
mkdir downloads
chad -q " ext:pdf OR ext:docx OR ext:xlsx OR ext:pptx " -s * .example.com -tr 200 -dir downloadsتعتمد ميزة تنزيل ملف تشاد على تبعية طلبات Python.
تعتبر Chad Extractor أداة قوية تستند إلى زاحف الويب الخاص بـ Scrapy ومتصفح Chromium Chromium الخاص بكاتب المسرحي ، المصمم لكشط محتوى الويب بكفاءة ؛ على عكس طلبات Python التبعية ، والتي لا يمكن أن تجعل JavaScript HTML المشفرة ويتم حظرها بسهولة بواسطة حلول مضادة للبوت.
في المقام الأول ، تم تصميم مستخرج تشاد لاستخراج البيانات والتحقق منها من ملفات نتائج تشاد. ومع ذلك ، يمكن استخدامه أيضًا لاستخراج البيانات والتحقق من صحة ملفات النص العادي باستخدام خيار -pt .
إذا تم استخدام خيار -pt ، فسيتم التعامل مع ملفات النص العادي مثل استجابات الخادم ، وسيتم تطبيق منطق الاستخراج ، متبوعًا بالتحقق من الصحة. يعد هذا أيضًا مفيدًا أيضًا إذا كنت ترغب في إعادة اختبار تقارير Chad Extractor السابقة ، على سبيل المثال ، باستخدام -res report.json -pt -o retest.json .
قم بإعداد ملف Google Dorks كملف Social_Media_Dorks.txt:
intext:"t.me/"
intext:"discord.com/invite/" OR intext:"discord.gg/invite/"
intext:"youtube.com/c/" OR intext:"youtube.com/channel/"
intext:"twitter.com/" OR intext:"x.com/"
intext:"facebook.com/"
intext:"instagram.com/"
intext:"tiktok.com/"
intext:"linkedin.com/in/" OR intext:"linkedin.com/company/"
قم بإعداد القالب كملف social_media_template.json:
{
"telegram" :{
"extract" : " t \ .me \ /(?:(?!(?:share)(?:(?: \ /| \ ?| \\ | " | \ <)*$|(?: \ /| \ ?| \\ | \" | \ <)[ \ s \ S]))[ \ w \ d \ . \ _ \ - \ + \ @]+)(?<! \ .) " ,
"extract_prepend" : " https:// " ,
"validate" : " <meta property= " og:title " content= " Telegram: Contact .+? " > "
},
"discord" :{
"extract" : " discord \ .(?:com|gg) \ /invite \ /[ \ w \ d \ . \ _ \ - \ + \ @]+(?<! \ .) " ,
"extract_prepend" : " https:// " ,
"validate" : " Invite Invalid " ,
"validate_browser" : true ,
"validate_browser_wait" : 6
},
"youtube" :{
"extract" : " youtube \ .com \ /(?:c|channel) \ /[ \ w \ d \ . \ _ \ - \ + \ @]+(?<! \ .) " ,
"extract_prepend" : " https://www. " ,
"validate" : " <iframe.+?src= "\ /error \ ?src=404.+? " > " ,
"validate_cookies" :{
"SOCS" : " CAESEwgDEgk2OTk3ODk2MzcaAmVuIAEaBgiAn5S6Bg "
}
},
"twitter" :{
"extract" : " (?<=(?<!pic \ .)twitter|(?<!pic \ .)x) \ .com \ /(?:(?!(?:[ \ w]{2} \ /)*(?:explore|hashtag|home|i|intent|library|media|personalization|privacy|search|share|tos|widgets \ .js)(?:(?: \ /| \ ?| \\ | " | \ <)*$|(?: \ /| \ ?| \\ | \" | \ <)[ \ s \ S]))[ \ w \ d \ . \ _ \ - \ + \ @]+)(?<! \ .) " ,
"extract_prepend" : " https://x " ,
"validate" : " This account doesn.?t exist " ,
"validate_browser" : true ,
"validate_cookies" :{
"night_mode" : " 2 "
}
},
"facebook" :{
"extract" : " facebook \ .com \ /(?:(?!(?:about|dialog|gaming|groups|public|sharer|share \ .php|terms \ .php)(?:(?: \ /| \ ?| \\ | " | \ <)*$|(?: \ /| \ ?| \\ | \" | \ <)[ \ s \ S]))[ \ w \ d \ . \ _ \ - \ + \ @]+)(?<! \ .) " ,
"extract_prepend" : " https://www. " ,
"validate" : " This (?:content|page) isn't available " ,
"validate_browser" : true
},
"instagram" :{
"extract" : " instagram \ .com \ /(?:(?!(?:about|accounts|ar|explore|p)(?:(?: \ /| \ ?| \\ | " | \ <)*$|(?: \ /| \ ?| \\ | \" | \ <)[ \ s \ S]))[ \ w \ d \ . \ _ \ - \ + \ @]+)(?<! \ .) " ,
"extract_prepend" : " https://www. " ,
"extract_append" : " / " ,
"validate" : " Sorry, this page isn't available \ . " ,
"validate_browser" : true
},
"tiktok" :{
"extract" : " (?<!vt \ .)tiktok \ .com \ / \ @[ \ w \ d \ . \ _ \ - \ + \ @]+(?<! \ .) " ,
"extract_prepend" : " https://www. " ,
"validate" : " Couldn't find this account "
},
"linkedin-company" :{
"extract" : " linkedin \ .com \ /company \ /[ \ w \ d \ . \ _ \ - \ + \ @ \ &]+(?<! \ .) " ,
"extract_prepend" : " https://www. " ,
"validate" : " Page not found " ,
"validate_cookies" :{
"bcookie" : " v=2 " ,
"lang" : " v=2&lang=en-us "
}
},
"linkedin-user" :{
"extract" : " linkedin \ .com \ /in \ /[ \ w \ d \ . \ _ \ - \ + \ @ \ &]+(?<! \ .) " ,
"extract_prepend" : " https://www. " ,
"validate" : " An exact match for .+ could not be found \ . "
}
} تأكد من أن تعبيراتك العادية تُرجع مجموعة واحدة فقط من التقاط ، على سبيل المثال ، [1, 2, 3, 4] ؛ وليس ملوحة ، على سبيل المثال ، [(1, 2), (3, 4)] .
تأكد من الهروب بشكل صحيح من الرموز المعتادة التعبير في ملف القالب الخاص بك ، على سبيل المثال ، تأكد من الهروب من DOT . مثل \. ، وإلى الأمام المائل / كـ \/ ، إلخ.
جميع عمليات البحث عن التعبير العادية غير حساسة.
سيتم مطابقة محتوى الويب الذي تم جلبه من عناوين URL في نتائج نتائج تشاد مع جميع التعبيرات العادية (المحددة بواسطة سمات extract ) في ملف القالب للعثور على أكبر قدر ممكن من البيانات ذات الصلة.
لاستخراج البيانات دون التحقق من الصحة ، ما عليك سوى حذف سمات validate من ملف القالب حسب الضرورة.
| نِطَاق | اسم | يكتب | مطلوب | وصف |
|---|---|---|---|---|
| اِستِخلاص | يستخرج | شارع | نعم | استعلام تعبير منتظم. |
| اِستِخلاص | extract_prepend | شارع | لا | سلسلة لإعدادها لجميع البيانات المستخرجة. |
| اِستِخلاص | extract_append | شارع | لا | سلسلة لإلحاق البيانات المستخرجة. |
| تصديق | التحقق | شارع | لا | استعلام تعبير منتظم. |
| تصديق | validate_browser | بول | لا | سواء كنت تستخدم المتصفح مقطوعة الرأس أم لا. |
| تصديق | validate_browser_wait | يطفو | لا | وقت الانتظار في ثوانٍ قبل جلب المحتوى من صفحة المتصفح بدون رأس. |
| تصديق | validate_headers | DICT [str ، str] | لا | HTTP طلب الرؤوس بتنسيق القيمة الرئيسية. يتم تجاهل رأس Cookie . |
| تصديق | validate_cookies | DICT [str ، str] | لا | تطلب HTTP ملفات تعريف الارتباط بتنسيق القيمة الرئيسية. |
الجدول 1 - سمات القالب
chad -q social_media_dorks.txt -s * .example.com -tr 200 -pr 100 -o results.json
chad-extractor -t social_media_template.json -res results.json -o report.json قم بإعداد المجالات / النطاقات الفرعية sites.txt site:
*.example.com
*.example.com -www
يجري:
mkdir chad_results
IFS= $' n ' ; count=0 ; for site in $( cat sites.txt ) ; do count= $(( count + 1 )) ; echo " # ${count} | ${site} " ; chad -q social_media_dorks.txt -s " ${site} " -tr 200 -pr 100 -o " chad_results/results_ ${count} .json " ; done
chad-extractor -t social_media_template.json -res chad_results -o report.json -v تحقق يدويًا ما إذا كانت عناوين URL للوسائط الاجتماعية المكسورة في results[summary][validated] عرضة للاستحواذ:
{
"started_at" : " 2023-12-23 03:30:10 " ,
"ended_at" : " 2023-12-23 04:20:00 " ,
"summary" :{
"validated" :[
" https://t.me/does_not_exist " // might be vulnerable to takeover
],
"extracted" :[
" https://discord.com/invite/exists " ,
" https://t.me/does_not_exist " ,
" https://t.me/exists "
]
},
"failed" :{
"validation" :[],
"extraction" :[]
},
"full" :[
{
"url" : " https://example.com/about " ,
"results" :{
"telegram" :[
" https://t.me/does_not_exist " ,
" https://t.me/exists "
],
"discord" :[
" https://discord.com/invite/exists "
]
}
}
]
}يمكن أن تتراوح فترة التبريد من Google من بضع ساعات إلى يوم كامل.
لتجنب ضرب حدود معدل Google مع تشاد ، زيادة الحد الأدنى والحد الأقصى للنوم بين استعلامات Google و/أو الصفحات ؛ أو استخدم الوكلاء المجانيين أو المدفوعين. ومع ذلك ، غالبًا ما يتم حظر الوكلاء المجانيين وغير مستقر.
لتنزيل قائمة بالوكلاء المجاني ، قم بتشغيل:
curl -s ' https://proxylist.geonode.com/api/proxy-list?limit=50&page=1&sort_by=lastChecked&sort_type=desc ' -H ' Referer: https://proxylist.geonode.com/ ' | jq -r ' .data[] | "(.protocols[])://(.ip):(.port)" ' > proxies.txtإذا كنت تستخدم الوكلاء ، فقد ترغب في زيادة مهلة الطلب ، حيث ستحتاج الردود إلى وقت أطول للوصول.
بالإضافة إلى ذلك ، لتجنب ضرب حدود معدل على منصات مثل Instagram's أثناء استخدام مستخرج تشاد ، فكر في تقليل عدد الطلبات المتزامنة لكل مجال وزيادة أوقات النوم والانتظار.
Chad v7.0 ( github.com/ivan-sincek/chad )
Usage: chad -q queries [-s site ] [-x proxies ] [-o out ]
Example: chad -q queries.txt [-s *.example.com] [-x proxies.txt] [-o results.json]
DESCRIPTION
Search Google Dorks like Chad
QUERIES
File containing Google Dorks or a single query to use
-q, --queries = queries.txt | intext:password | "ext:tar OR ext:zip" | etc.
SITE
Domain[s] to search
-s, --site = example.com | sub.example.com | *.example.com | "*.example.com -www" | etc.
TIME
Get results not older than the specified time in months
-t, --time = 6 | 12 | 24 | etc.
TOTAL RESULTS
Total number of unique results
Default: 100
-tr, --total-results = 200 | etc.
PAGE RESULTS
Number of results per page - capped at 100 by Google
Default: randint(70, 100)
-pr, --page-results = 50 | etc.
MINIMUM QUERIES
Minimum sleep time in seconds between Google queries
Default: 75
-min-q, --minimum-queries = 120 | etc.
MAXIMUM QUERIES
Maximum sleep time between Google queries
Default: minimum + 50
-max-q, --maximum-queries = 180 | etc.
MINIMUM PAGES
Minimum sleep time between Google pages
Default: 15
-min-p, --minimum-pages = 30 | etc.
MAXIMUM PAGES
Maximum sleep time between Google pages
Default: minimum + 10
-max-p, --maximum-pages = 60 | etc.
USER AGENTS
User agents to use
Default: random-all
-a, --user-agents = user_agents.txt | random(-all) | curl/3.30.1 | etc.
PROXIES
File containing web proxies or a single web proxy to use
-x, --proxies = proxies.txt | http://127.0.0.1:8080 | etc.
DIRECTORY
Downloads directory
All downloaded files will be saved in this directory
-dir, --directory = downloads | etc.
THREADS
Number of files to download in parallel
Default: 5
-th, --threads = 20 | etc.
OUT
Output file
-o, --out = results.json | etc.
NO SLEEP ON START
Disable the safety feature to prevent triggering rate limits by accident
-nsos, --no-sleep-on-start
DEBUG
Enable debug output
-dbg, --debug
Chad Extractor v7.0 ( github.com/ivan-sincek/chad )
Usage: chad-extractor -t template -res results -o out [-s sleep] [-rs random-sleep]
Example: chad-extractor -t template.json -res chad_results -o report.json [-s 1.5 ] [-rs ]
DESCRIPTION
Extract and validate data from Chad results or plaintext files
TEMPLATE
File containing extraction and validation details
-t, --template = template.json | etc.
RESULTS
Directory containing Chad results or plaintext files, or a single file
If a directory is specified, files ending with '.report.json' will be ignored
-res, --results = chad_results | results.json | urls.txt | etc.
PLAINTEXT
Treat all the results as plaintext files / server responses
-pt, --plaintext
EXCLUDES
File containing regular expressions or a single regular expression to exclude content from the page
Applies only for extraction
-e, --excludes = regexes.txt | "<div id="seo">.+?</div>" | etc.
PLAYWRIGHT
Use Playwright's headless browser
Applies only for extraction
-p, --playwright
PLAYWRIGHT WAIT
Wait time in seconds before fetching the page content
Applies only for extraction
-pw, --playwright-wait = 0.5 | 2 | 4 | etc.
CONCURRENT REQUESTS
Number of concurrent requests
Default: 15
-cr, --concurrent-requests = 30 | 45 | etc.
CONCURRENT REQUESTS PER DOMAIN
Number of concurrent requests per domain
Default: 5
-crd, --concurrent-requests-domain = 10 | 15 | etc.
SLEEP
Sleep time in seconds between two consecutive requests to the same domain
-s, --sleep = 1.5 | 3 | etc.
RANDOM SLEEP
Randomize the sleep time between requests to vary between '0.5 * sleep' and '1.5 * sleep'
-rs, --random-sleep
AUTO THROTTLE
Auto throttle concurrent requests based on the load and latency
Sleep time is still respected
-at, --auto-throttle = 0.5 | 10 | 15 | 45 | etc.
RETRIES
Number of retries per URL
Default: 2
-r, --retries = 0 | 4 | etc.
REQUEST TIMEOUT
Request timeout in seconds
Default: 60
-rt, --request-timeout = 30 | 90 | etc.
USER AGENTS
User agents to use
Default: random-all
-a, --user-agents = user_agents.txt | random(-all) | curl/3.30.1 | etc.
PROXY
Web proxy to use
-x, --proxy = http://127.0.0.1:8080 | etc.
OUT
Output file
-o, --out = report.json | etc.
VERBOSE
Create additional supporting output files that end with '.report.json'
-v, --verbose
DEBUG
Enable debug output
-dbg, --debug

الشكل 1 - (تشاد) تنزيل الملف - واحد Google Dork

الشكل 2 - (تشاد) مختطفين رابط مكسور - متعددة من Google Dorks

الشكل 3 - (مستخرج تشاد) استخراج

الشكل 4 - (مستخرج تشاد) التحقق من الصحة