Vulscan هي وحدة تعمل على تحسين nmap لفحص الثغرات الأمنية. يتيح خيار nmap -sV اكتشاف الإصدار لكل خدمة والذي يتم استخدامه لتحديد العيوب المحتملة وفقًا للمنتج المحدد. يتم البحث عن البيانات في إصدار غير متصل بالإنترنت من VulDB.
الرجاء تثبيت الملفات في المجلد التالي الخاص بتثبيت Nmap:
Nmapscriptsvulscan*
استنساخ مستودع GitHub مثل هذا:
git clone https://github.com/scipag/vulscan scipag_vulscan
ln -s `pwd`/scipag_vulscan /usr/share/nmap/scripts/vulscan
يجب عليك تشغيل الأمر البسيط التالي لبدء فحص بسيط للثغرات الأمنية:
nmap -sV --script=vulscan/vulscan.nse www.example.com
تتوفر في الوقت الحالي قواعد البيانات المثبتة مسبقًا التالية:
يمكنك تنفيذ vulscan باستخدام الوسيطة التالية لاستخدام قاعدة بيانات واحدة:
--script-args vulscandb=your_own_database
من الممكن أيضًا إنشاء قواعد البيانات الخاصة بك والإشارة إليها. يتطلب ذلك إنشاء ملف قاعدة بيانات، والذي يحتوي على البنية التالية:
<id>;<title>
ما عليك سوى تنفيذ برنامج vulscan كما تفعل من خلال الرجوع إلى إحدى قواعد البيانات التي تم تسليمها مسبقًا. لا تتردد في مشاركة قاعدة البيانات الخاصة بك واتصال الثغرات الأمنية معي، لإضافتها إلى المستودع الرسمي.
يتم تحديث قواعد بيانات الثغرات الأمنية وتجميعها بشكل منتظم. لدعم أحدث الثغرات الأمنية التي تم الكشف عنها، حافظ على تحديث قواعد بيانات الثغرات المحلية لديك.
لتحديث قواعد البيانات تلقائيًا، ما عليك سوى تعيين أذونات التنفيذ لملف update.sh
وتشغيله:
chmod 744 update.sh
./update.sh
إذا كنت تريد تحديث قواعد البيانات الخاصة بك يدويًا، فانتقل إلى موقع الويب التالي وقم بتنزيل هذه الملفات:
انسخ الملفات إلى مجلد vulscan الخاص بك:
/vulscan/
إذا كان اكتشاف الإصدار قادرًا على تحديد إصدار البرنامج وكانت قاعدة بيانات الثغرات الأمنية توفر مثل هذه التفاصيل، فستتم أيضًا مطابقة هذه البيانات.
قد يؤدي تعطيل هذه الميزة إلى ظهور نتائج إيجابية كاذبة، ولكنه قد يؤدي أيضًا إلى إزالة النتائج السلبية الكاذبة وزيادة الأداء قليلاً. إذا كنت تريد تعطيل مطابقة الإصدار الإضافية، استخدم الوسيطة التالية:
--script-args vulscanversiondetection=0
يعد اكتشاف إصدار vulscan جيدًا مثل اكتشاف إصدار Nmap وإدخالات قاعدة بيانات الثغرات الأمنية. لا توفر بعض قواعد البيانات معلومات نهائية عن الإصدار، مما قد يؤدي إلى الكثير من النتائج الإيجابية الخاطئة (كما يمكن رؤيته في خوادم Apache).
يحاول البرنامج النصي تحديد أفضل التطابقات فقط. إذا لم يتم العثور على تطابق إيجابي، فسيتم عرض أفضل تطابق ممكن (قد يكون إيجابيًا كاذبًا).
إذا كنت تريد إظهار جميع التطابقات، الأمر الذي قد يقدم الكثير من النتائج الإيجابية الخاطئة ولكنه قد يكون مفيدًا لمزيد من التحقيق، فاستخدم الوسيطة التالية:
--script-args vulscanshowall=1
يساعدك الوضع التفاعلي على تجاوز نتائج الكشف عن الإصدار لكل منفذ. استخدم الوسيطة التالية لتمكين الوضع التفاعلي:
--script-args vulscaninteractive=1
تتم طباعة جميع النتائج المطابقة واحدًا تلو الآخر. التخطيط الافتراضي لهذا هو:
[{id}] {title}n
من الممكن استخدام بنية تقرير أخرى محددة مسبقًا مع الوسيطة التالية:
--script-args vulscanoutput=details
--script-args vulscanoutput=listid
--script-args vulscanoutput=listlink
--script-args vulscanoutput=listtitle
يمكنك فرض بنية التقرير الخاصة بك باستخدام الوسيطة التالية (بعض الأمثلة):
--script-args vulscanoutput='{link}n{title}nn'
--script-args vulscanoutput='ID: {id} - Title: {title} ({matches})n'
--script-args vulscanoutput='{id} | {product} | {version}n'
العناصر المدعومة هي العناصر التالية لقالب التقرير الديناميكي:
تأتي كل قاعدة بيانات افتراضية مع عنوان URL ورابط، يتم استخدامهما أثناء الفحص ويمكن الوصول إليهما كـ {link} ضمن قالب التقرير المخصص. لاستخدام روابط قاعدة البيانات المخصصة، استخدم الوسيطة التالية:
--script-args "vulscandblink=http://example.org/{id}"
ضع في اعتبارك أن هذا النوع من فحص الثغرات الأمنية المشتقة يعتمد بشكل كبير على ثقة اكتشاف إصدار nmap، وكمية الثغرات الأمنية الموثقة ودقة مطابقة الأنماط. لا يتم التحقق من وجود العيوب المحتملة من خلال تقنيات المسح الإضافية أو الاستغلال.