
يأخذ عنصرًا واحدًا من قائمة الكلمات ويختبره واحدًا تلو الآخر عبر مجموعة كبيرة من المواقع قبل الانتقال إلى العنصر التالي. قم بإنشاء توقيعات للتحقق المتبادل من الثغرات عبر مضيفين متعددين.
تخمين عناوين وأدلة المواقع وملفاتها على نطاق واسع جداً.
يأخذ CritHit عنصرًا واحدًا من قائمة الكلمات ويختبره واحدًا تلو الآخر على مجموعة كبيرة من المضيفين قبل الانتقال إلى العنصر التالي في القائمة. الهدف من التخمين بهذه الطريقة هو تجنب حظر جدار الحماية للتطبيقات الويب (WAF) الذي يفرض حدًا منخفضًا، والسماح للتخمين بالعمل بشكل أسرع مما لو تم التعامل مع مضيف واحد بعدة طلبات متزامنة.
يمكن لـ CritHit إجراء عمليات تحقق متعددة من النتائج باستخدام قوائم الوكيل (proxy lists)، بالإضافة إلى تصفية الضوضاء من خلال توحيد خط الأساس للمواقع. أيضًا، إذا كنت تبحث عن عنصر معين عبر عدد كبير من المواقع (لمقارنة ثغرة عبر المزيد من المضيفين)، يمكنك بناء واستخدام --signatures لكتابة المضيفين الذين يحتويون على نقاط بيانات محددة فقط إلى ملف الإخراج.
يمكن الحصول على أفضل النتائج من CritHit باستخدامه كـ "تمرير أولي" سريع مع قائمة كلمات أصغر (100 عنصر حرج)، وقائمة أهداف كبيرة جدًا، ثم القيام بفحص أعمق بشكل أكثر مباشرة باستخدام مشروع مثل ffuf عند العثور على نتائج.
مستوحى من مشاريع EdOverflows Megplus و TomNomNom's meg التي اتبعت نفس الفكرة.
أيضًا شكرًا لـ Hakluke و sml555_ على تحسين الفكرة الأساسية، والتشجيع، والاختبار.
يعمل هذا بسرعة هائلة باستخدام الإعدادات الافتراضية. إذا كنت تعمل على هدف يحتوي على WAF مشترك عبر النطاقات، فستواجه حظرًا سريعًا. قم بتعديل -n (المهلة) و -c (الخيوط) حسب الحاجة.
تثبيت التبعيات:
/dep/ من هذا المستودع، ويجب استبداله للبناء في بيئات أخرى.BOOST_ROOT إلى جذر المكتبة المستخرجة.libcrypto.so.1.1 و libssl.so.1.1 في مجلد /usr/lib الخاص بك، وهو موجود في مجلد dep/ في هذا المستودع.ثم:
sudo apt-get install libssl-dev
إنشاء ملفات CMake (اختياري إذا كنت في /codingo/opt)
cmake -G "Unix Makefiles"
إنشاء الحل
make
بدلاً من ذلك، قم بتعديل ما يلي لبيئتك المستهدفة:
wget "https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.tar.gz"
tar -xvzf boost_1_70_0.tar.gz
export BOOST_ROOT="/home/boost_1_70_0"
cd crithit/crithit
cmake -G "Unix Makefiles"
make
./crithit -w _wordlist_ -t _hostnames_
cd crithit/crithit
docker build -t crithit .
docker run -v $(pwd):/input -t crithit -w /input/_wordlist_ -t /input/_hostnames_
يوصى بمراجعة معلمات الإدخال حتى تتم إضافة الوثائق المناسبة إلى هذا المستودع.
USAGE:
./crithit [--os <filename>] [--signatures <filename>] [-e <filename>]
[-n <integer>] [--read-for <integer>] [-p <filename>]
[--max-sockets <integer>] [-V <integer>] [-r] [-b <string>]
[-s <string>] [-c <integer>] [-t <filename>] [-T <domain
name>] [--verbose] -w <filename> [-o <filename>] [--]
[--version] [-h]
Where:
--os <filename>
if --signatures is specified, this specifies the output file to write
result to
--signatures <filename>
file containing list of signatures to look out for in top-level
domains
-e <filename>, --exceptions <filename>
filename containing words...
-n <integer>, --wait-for <integer>
wait N seconds to connect/send data to server(default: 5secs)
--read-for <integer>
wait N seconds to receive data from server(default: 10secs)
-p <filename>, --proxy <filename>
a filename containing list of proxy names and port(IP:port)
--max-sockets <integer>
Number of sockets to use
-V <integer>, --verify <integer>
verify successful results with different proxies
-r, --randomize-agent
use random user agents for requests
-b <string>, --statuscodesblacklist <string>
Negative status codes (will override statuscodes if set)
-s <string>, --statuscodes <string>
Positive status codes (will be overwritten with statuscodesblacklist
if set)(default 200,204,301,302,307,401,403,408)
-c <integer>, --threads <integer>
Number of threads to use(default: 12)
-t <filename>, --target-list <filename>
a filename containing the list of targets
-T <domain name>, --target <domain name>
the target
--verbose
be verbose with output
-w <filename>, --word-list <filename>
(required) a filename containing list of words to use
-o <filename>, --output <filename>
output result to (default: stdout)
--, --ignore_rest
Ignores the rest of the labeled arguments following this flag.
--version
Displays version information and exits.
-h, --help
Displays usage information and exits.