ODIN
راقب، اكتشف، وحقق في الشبكات


الإصدار الحالي: v2.0.0 "Huginn"
ODIN هي أداة Python لأتمتة جمع المعلومات الاستخباراتية واكتشاف الأصول وإعداد التقارير. تذكر، تحقق من الفرع التطويري للحصول على أحدث الميزات، وملاحظاتك مرحب بها!
راجع GitHub wiki للحصول على التفاصيل وتعليمات التثبيت والإعداد.
ماذا يمكن أن تفعل ODIN؟
تهدف ODIN إلى أتمتة مهام الاستطلاع الأساسية التي تستخدمها الفرق الحمراء لاكتشاف وجمع البيانات حول أصول الشبكة، بما في ذلك النطاقات وعناوين IP والأنظمة المتصلة بالإنترنت. الميزة الرئيسية لـ ODIN هي إدارة البيانات وإعداد التقارير. يتم تنظيم البيانات في قاعدة بيانات، ويمكن بعد ذلك تحويل قاعدة البيانات اختياريًا إلى تقرير HTML أو قاعدة بيانات رسومية Neo4j لتصور البيانات.
تقوم ODIN بذلك عبر مراحل متعددة:
المرحلة 1 - اكتشاف الأصول
- جمع معلومات أساسية عن المنظمة من مصادر مثل قاعدة بيانات Full Contact التسويقية.
- فحص DNS Dumpster وNetcraft وشهادات TLS لاكتشاف النطاقات الفرعية للنطاقات المقدمة.
- حل النطاقات والنطاقات الفرعية إلى عناوين IP عبر اتصالات المقابس وسجلات DNS.
- جمع معلومات لجميع عناوين IP، مثل بيانات الملكية والمنظمة، من RDAP وwhois ومصادر بيانات أخرى.
- البحث عن النطاقات وعناوين IP على Shodan لجمع بيانات إضافية، مثل أنظمة التشغيل ولافتات الخدمات والمنافذ المفتوحة.
- التحقق من إمكانية عمليات الاستيلاء والواجهة الأمامية للنطاق مع النطاقات والنطاقات الفرعية.
المرحلة 2 - اكتشاف الموظفين
- جمع عناوين البريد الإلكتروني وأسماء الموظفين للمنظمة المستهدفة.
- ربط الموظفين بملفات تعريف وسائل التواصل الاجتماعي عبر محركات البحث وواجهة برمجة تطبيقات Twitter.
- التحقق المتبادل من عناوين البريد الإلكتروني المكتشفة مع خدمة Have I Been Pwned الخاصة بـ Troy Hunt.
المرحلة 3 - الخدمات السحابية والويب
- البحث عن ملفات Office وPDF ضمن النطاق المستهدف، وتنزيلها، واستخراج البيانات الوصفية.
- البحث عن دلاء AWS S3 ومساحات Digital Ocean باستخدام كلمات مفتاحية متعلقة بالمنظمة.
- التقاط لقطات شاشة لخدمات الويب المكتشفة لمراجعة سريعة ومبكرة للخدمات.
المرحلة 4 - إعداد التقارير
- حفظ جميع البيانات في قاعدة بيانات SQLite3 للسماح بالاستعلام عن البيانات بسهولة.
- إنشاء تقرير HTML باستخدام استعلامات SQL الافتراضية لتسهيل تصفح البيانات في متصفح ويب.
- إنشاء قاعدة بيانات رسومية Neo4j تربط جميع الكيانات المكتشفة (عناوين IP، النطاقات، النطاقات الفرعية، المنافذ، والشهادات) مع العلاقات (مثل RESOLVES_TO، HAS_PORT).
في نهاية كل هذا، سيكون لديك طرق متعددة لتصفح البيانات وتصورها. حتى استعلام Neo4j بسيط مثل MATCH (n) RETURN n (عرض كل شيء) يمكنه إنشاء رسم بياني مثير لمحيط المنظمة الخارجي ويسهل رؤية كيفية ارتباط الأصول. تحتوي صفحات ويكي Neo4j على أمثلة أفضل للاستعلامات.