
برنامج تجاوز جدار الحماية يعتمد على سجلات تاريخ DNS. سيبحث هذا البرنامج عن سجلات تاريخ A من DNS ويتحقق مما إذا كان الخادم يرد على ذلك النطاق. مفيد لصيادي الثغرات الأمنية.

سيعثر هذا البرنامج النصي على:
يستخدم هذا البرنامج النصي (يسيء استخدام) سجلات تاريخ DNS. سيبحث هذا البرنامج النصي عن سجلات A DNS قديمة و سيتحقق مما إذا كان الخادم يستجيب لهذا النطاق. كما أنه يخرج مستوى ثقة، بناءً على التشابه في استجابة HTML بين خادم المنشأ المحتمل وجدار الحماية.
يقوم البرنامج النصي أيضًا بجلب عناوين IP للنطاقات الفرعية لأن تجربتي الخاصة علمتني أن عناوين IP للنطاقات الفرعية تشير أحيانًا إلى أصل النطاق الرئيسي.
استخدم البرنامج النصي بهذه الطريقة:
bash bypass-firewalls-by-DNS-history.sh -d example.com
-d --domain: النطاق المراد تجاوزه-o --outputfile: ملف الإخراج مع عناوين IP-l --listsubdomains: قائمة النطاقات الفرعية لتغطية إضافية-a --checkall: فحص جميع النطاقات الفرعية لتجاوز WAFيحتاج jq لتحليل الإخراج لجمع النطاقات الفرعية تلقائيًا.
قم بالتثبيت باستخدام apt install jq.
لتوضيح ما نعنيه بتجاوز WAF، انظر إلى المخطط أدناه.

يتصل زائر عادي بموقع ويب. الطلب الأولي هو طلب DNS لمعرفة عنوان IP للموقع، حتى يعرف متصفح العميل أين يرسل طلب HTTP. بالنسبة للمواقع خلف Cloudflare أو أي WAF عام آخر، تحتوي الاستجابة على عنوان IP لـ WAF نفسه. يتدفق حركة مرور HTTP الخاصة بك بشكل أساسي عبر WAF إلى خادم الويب الأصلي. يمنع WAF الطلبات الضارة ويحمي من هجمات (D)DoS. ومع ذلك، إذا عرف المهاجم عنوان IP لخادم الويب الأصلي و قبل خادم الويب الأصلي حركة مرور HTTP من الإنترنت بأكمله، يمكن للمهاجم تنفيذ تجاوز WAF: السماح لحركة مرور HTTP بالانتقال مباشرة إلى خادم الويب الأصلي بدلاً من المرور عبر WAF.
يحاول هذا البرنامج النصي العثور على عنوان IP الأصلي، حتى تتمكن من الاتصال مباشرة بخادم الويب الأصلي. الهجمات مثل حقن SQL أو SSRF لا يتم تصفيتها ويمكن أن تنجح، على عكس وجود WAF بينهما والذي يوقف هذا النوع من الهجمات.
عندما تجد تجاوزًا، لديك خياران:
/etc/hosts (لينكس/ماك) أو c:\Windows\System32\Drivers\etc\hosts (ويندوز). أضف إدخالاً مثل هذا: 80.40.10.22 vincentcox.com.
من هذه اللحظة، تذهب حركة مرور HTTP الخاصة بك مباشرة إلى خادم الويب الأصلي. يمكنك إجراء اختبار اختراق كالمعتاد، دون حظر طلباتك بواسطة WAF.
هذا البرنامج النصي مفيد لـ:
الخدمات التالية مستخدمة:
لماذا بلغة Bash وليس بلغة Python؟
بدأ الأمر ببضعة أوامر CURL ذات سطر واحد، ثم أصبح برنامجًا نصيًا بلغة bash، وتم توسيع الكود أكثر فأكثر، وزاد الندم على عدم استخدام Python وفقًا لذلك.
أجد نطاقات فرعية أكثر باستخدام أدواتي؟
أعلم. لا يمكنني أن أتوقع من الجميع تثبيت كل أدوات القوة الغاشمة والتعداد DNS هذه. بالإضافة إلى ذلك، لا أعرف مسبقًا في أي مجلد يتم وضع هذه الأدوات أو تحت أي اسم مستعار يتم استدعاؤها. لا يزال بإمكانك تقديم قائمتك الخاصة باستخدام -l حتى تتمكن من إدخال مخرجات أدوات النطاقات الفرعية هذه في هذه الأداة. الإدخال المتوقع هو نطاق فرعي كامل في كل سطر.
تجاوز WAF
تجاوز جدار حماية تطبيقات الويب
تاريخ DNS
العثور على عنوان IP المباشر/الأصلي للموقع
| منشئ المشروع |
|---|
|
|