w12scan
w12scan هو محرك اكتشاف أصول الشبكة، يقوم بإرسال المهام عبر واجهة WEB، ويقوم تلقائيًا بتجميع الأصول ذات الصلة معًا لتسهيل التحليل والاستخدام. w12scan هو أيضًا مشروع تخرجي.
ينقسم w12scan إلى جزء WEB (لعرض البيانات) وجزء Client (للبحث عن بيانات الأصول ذات الصلة).
هنا الكود المفتوح لجانب WEB، وجانب Client موجود في https://github.com/boy-hack/w12scan-client
فيديو للتعرف على W12SCAN

فكرة التصميم
يعتمد على python3 + django + elasticsearch + redis (لإزالة التكرار + وسيط الاتصال بين WEB و Client)، ويتم استخدام واجهة WEB API لإضافة أهداف المسح، وبعد اكتمال المسح يتم عرضها في جانب WEB.

المميزات
جانب WEB
- بناء جملة بحث قوي
- من خلال بناء جملة البحث يمكن البحث عن CMS، أسماء الخدمات، العناوين، الدول والمناطق، وغيرها، مما يتيح العثور بسرعة على الأهداف ذات الصلة.
- title=“abc” # البحث من العنوان
- header=“abc” # البحث من رأس HTTP
- body=“123” # البحث من نص الصفحة
- url = “*.baidu.com” # البحث عن النطاقات الفرعية لـ baidu.com،
* هو حرف بدل
- ip = ‘1.1.1.1’ # البحث عن IP، يدعم CIDR
'192.168.1.0/24' والبحث بالحرف البدل'192.168.1.*'
- port = ‘80’ # البحث عن المنفذ
- app = ’nginx’ # البحث عن المكونات
- country = ‘cn’ # البحث عن الدولة
- service = ‘mysql’ # البحث عن الخدمة
- bug = 'xx' # البحث عن ثغرة معينة موجودة
- تخصيص تكوين الأصول
- من خلال تخصيص النطاقات أو أصول IP المرتبطة بشركة معينة، سيقوم w12scan تلقائيًا بالعثور على أهداف الأصول المقابلة، وعند تصفح الهدف، ستظهر علامة واضحة تشير إلى انتماء الهدف.
- الربط التلقائي
- عند الدخول إلى تفاصيل الهدف، إذا كان الهدف هو IP، فسيتم ربط جميع النطاقات على هذا IP وجميع النطاقات على قطاع C الخاص به تلقائيًا. إذا كان الهدف هو نطاق، فسيتم ربط المواقع المجاورة، وقطاع C، والنطاقات الفرعية تلقائيًا.
- إدارة متعددة العقد
- يقوم جانب WEB بالتحقق من حالة تشغيل العقد كل بضع دقائق، ويمكنك رؤية عدد المسوحات التي تمت بواسطة العقد وسجلات مسح العقد.
- مهام RESTful
- يوفر واجهة لإضافة المهام، يمكنك إضافتها من جانب WEB أو دمج هذه الواجهة في أي برنامج.
جانب المسح (Client)
- التحقق الفوري من الثغرات
- من خلال الاتصال بواجهة API الخاصة بـ airbug، يتم استدعاء أحدث نصوص التحقق من الثغرات عبر الإنترنت. يضمن airbug تحديث الثغرات في الوقت المناسب، كما يمكنك fork مشروع airbug وإضافة قواعد الثغرات الخاصة بك.
- الهجوم التحقق
- يحتوي جانب المسح على خدمات التحقق من الثغرات الشائعة المدمجة، ويتم تشغيل هذه الخدمات في كل مرة يتم فيها مسح موقع، ويتم إرسال النتائج في النهاية إلى جانب WEB في w12scan لعرضها.
- المسح والتحديد
- يستخدم مسح المنافذ masscan، وتحديد المنافذ يستخدم nmap، وتحديد تطبيقات WEB يستخدم wappalyzer ونسخة مبسطة من w11scan (التعرف على البصمات).
- سهولة التوزيع
- تم أخذ ذلك في الاعتبار في تصميم بنية البرنامج، حيث يقبل جانب المسح المهام فقط، وتتفاعل النتائج النهائية فقط مع جانب WEB، مما يجعل التوزيع سهلاً للغاية،只需 تشغيل جانب المسح على جهاز آخر. يمكن توزيعه باستخدام Docker، كما يمكن دمجه بسهولة مع خدمة Celery.
التثبيت
النشر بنقرة واحدة باستخدام Docker
mkdir ~/w12scan-data/db # 该目录保存w12scan存储结果
mkdir ~/w12scan-data/data # 该目录保存es存储的结果
git clone https://github.com/boy-hack/w12scan
cd w12scan
docker-compose up -d
بعد الانتظار لبعض الوقت، قم بزيارة http://127.0.0.1:8000
اسم المستخدم وكلمة المرور الافتراضيان boyhack:boyhack
تخزين البيانات
- يمكن تعديل ملف
docker-compose.yml، والبحث عن ~/w12scan-data/db أو ~/w12scan-data/data لتغيير موقع التخزين
الأسئلة ذات الصلة
- للحفاظ على التوفر العالي، يرجى توفير خادم بذاكرة 8G و 4 نوى على الأقل للاختبار (ES يستهلك الذاكرة). إذا كان الخادم لا يفي بهذه المتطلبات، يجب إضافة
- "ES_JAVA_OPTS=-Xms2048m -Xmx2048m" يدويًا إلى قاعدة بيانات ES في Dockerfile لتحديد الذاكرة، لكن هذا لا يضمن التوفر العالي.
- عند التثبيت على Windows، انتبه إلى مشكلة تنسيق ملفات
.sh https://github.com/boy-hack/w12scan/issues/12 (شكرًا @Hotsunrize).
- س: كيف يتم النشر الموزع؟ ج: خطة النشر
- س: عدد عمليات البحث بعد التشغيل يساوي 0؟ ج: يلزم إضافة أهداف للمسح.
- لا تقم بالبحث أثناء المسح، حيث يقوم Elasticsearch بتحليل البيانات وتقسيمها أثناء الإدراج (وهذا غير فعال)، وقد يؤدي البحث في هذا الوقت إلى إرجاع خطأ 503. يُوصى بالبحث بعد اكتمال المسح. (سيتم حل هذه المشكلة لاحقًا باستخدام ترحيل البيانات)
روابط ذات صلة
القانون
يستخدم هذا البرنامج بشكل أساسي لجمع بيانات الشبكة للتحليل والبحث. يُرجى الالتزام بالقوانين المحلية ذات الصلة قبل استخدام هذا البرنامج.