
نص Bash للاستطلاع السلبي الذي يقوم بالاستعلام عن سجلات الإنترنت الإقليمية (RIRs) وخوادم توجيه BGP لاكتشاف نطاقات الشبكة (netblocks) للمؤسسة المستهدفة، وأرقام الأنظمة الذاتية (ASNs)، ونطاقات CIDR أثناء جمع المعلومات الاستخباراتية في اختبار الاختراق.
نص برمجي بلغة Bash لنظام لينكس لاكتشاف نطاقات العناوين (بصيغة CIDR) المملوكة للمنظمة المستهدفة خلال مرحلة جمع المعلومات في اختبار الاختراق. يتم الاحتفاظ بهذه المعلومات من قبل السجلات الإقليمية الخمسة للإنترنت (RIRs):
ARIN (أمريكا الشمالية)
RIPE (أوروبا/آسيا/الشرق الأوسط)
APNIC (آسيا/المحيط الهادئ)
LACNIC (أمريكا اللاتينية)
AfriNIC (أفريقيا)
بالإضافة إلى نطاقات العناوين وعناوين IP، فإن أرقام الأنظمة الذاتية (ASNs) تعتبر أيضًا ذات أهمية. تُستخدم أرقام ASNs كجزء من بروتوكول البوابة الحدودية (BGP) لتحديد كل شبكة على الإنترنت بشكل فريد. قد يكون لدى المنظمات المستهدفة أرقام ASNs خاصة بها بسبب حجم شبكتها أو نتيجة لمسارات خدمة زائدة من مزودي الخدمة المتصلين. ستكشف أرقام ASNs هذه عن نطاقات عناوين إضافية تمتلكها المنظمة.
ipcalc (لاستعلامات RIPE، APNIC، LACNIC، AfriNIC)
ملاحظة حول LACNIC قبل الخوض في الاستخدام. يسمح LACNIC فقط بالاستعلام عن نطاق الشبكة، أو رقم ASN، أو معرف المنظمة (Org Handle)، أو معرف نقطة الاتصال (PoC Handle). هذا لا يساعدنا في تحديد هذه القيم بناءً على اسم المنظمة. ومع ذلك، فإنهم ينشرون قائمة بجميع النطاقات المخصصة على خادم FTP عام، إلى جانب حدود معدل الطلب. لذلك، هناك ملف بيانات مصاحب، يتحقق منه البرنامج النصي، يُستخدم لإجراء استعلامات LACNIC محليًا. يتضمن البرنامج النصي خيار التحديث -r، الذي يمكن استخدامه لتحديث هذه البيانات على فاصل زمني من اختيارك. وقت التشغيل التقريبي أقل بقليل من 28 ساعة.
البرنامج النصي بدون خيارات محددة سوف يستعلم عن ARIN ومجموعة من خوادم توجيه BGP. يتم اختيار خادم التوجيه عشوائيًا أثناء التشغيل. خيار -h يعرض المساعدة:

يمكن استخدام الخيارات بأي تركيبة، جميعها، أو لا شيء. لسوء الحظ، لا يشير أي من السجلات الإقليمية "الأخرى" إلى تدوين CIDR الفعلي للنطاق، لذلك يتم استخدام ipcalc لأداء هذه الوظيفة. إذا لم يكن مثبتًا على نظامك، فسيقوم البرنامج النصي بتثبيته لك.
عند المطالبات، أدخل اسم المنظمة، ونطاق البريد الإلكتروني، وما إذا كانت رموز البلد تُستخدم كجزء من البريد الإلكتروني. إذا أجبت بـ Y لرموز البلد، فسيُطلب منك ما إذا كانت تسبق اسم النطاق أم تُلحق بـ TLD. سيتم إنشاء مجلد لملفات الإخراج في /tmp/. إذا وُجد أن المجلد موجود، فسيُطلب منك ما إذا كنت تريد استبداله. إذا أجبت بـ N، فسيتم إلحاق طابع زمني باسم المجلد.

يستعلم البرنامج النصي عن كل سجل إقليمي، بالإضافة إلى خادم توجيه BGP، مع طلب التأكيد على طول الطريق حول ما إذا تم العثور على سجلات. عند الانتهاء، سيتم إنشاء ثلاثة ملفات: ملف CSV يعتمد على معرف المنظمة (Org Handle)، وملف CSV يعتمد على معرف نقطة الاتصال (PoC Handle)، وملف مفصول بأسطر يحتوي على جميع النطاقات الموجودة بصيغة CIDR.

إلغاء البرنامج النصي في أي وقت سيزيل أي ملفات عمل مؤقتة والمجلد الذي تم إنشاؤه لملفات الإخراج الناتجة.

تجدر الإشارة إلى أنه، بسبب التشابه في بعض أسماء المنظمات، قد تحصل على نتائج غير مرتبطة بالهدف. ستوفر ملفات CSV المعرفات وعناوين URL المرتبطة لمزيد من التحقق عند الضرورة. من الممكن أيضًا أن يستخدم موظفو المنظمة المستهدفة عنوان بريدهم الإلكتروني المؤسسي لتسجيل نطاقاتهم الخاصة. سيتم العثور على هذه النطاقات ضمن النتائج أيضًا.
docker build -t hardcidr .
بناء صورة hardcidr
docker run -v $(pwd):/tmp -it hardcidr
تشغيل الحاوية. سيتم حفظ الإخراج في الدليل الحالي
لمزيد من المعلومات، راجع مقال المدونة على موقع TrustedSec: Classy Inter-Domain Routing Enumeration