
نصوص Nmap NSE التي تستعلم عن واجهة برمجة تطبيقات Vulners لتحديد الثغرات الأمنية المعروفة (CVEs) للخدمات الشبكية المكتشفة، مما يعزز مسح المنافذ القياسي بالبحث التلقائي عن CVEs وتقييم CVSS.
حوّل فحص خدمات nmap إلى قائمة مرتّبة من ثغرات CVE والاستغلالات وما يتم استهدافه في البرية.
نص برمجي واحد من NSE يأخذ البرنامج الذي حدّده nmap بالفعل، ويسأل قاعدة بيانات Vulners عمّا هو معروف عنه، ويطبع الإجابة داخل تقرير الفحص - الأسوأ أولاً، بحسب ما هو قابل للاستغلال فعلياً.
فحوصات حقيقية لمضيفات منشورة للفحص. بدون مفتاح، ثم بمفتاح، ثم منفذ ويب:
يُبلغ nmap's -sV عن لافتة Coyote ويسمّي المسح Tomcat وjQuery خلفها.
لكل منفذ مفتوح، يبحث عن البرنامج الذي حدّده nmap - عناصر CPE التي أنتجها
-sV - ويطبع ما تعرفه Vulners عنه: الأسوأ أولاً بحسب ما يتم استغلاله وليس
بحسب النتيجة فقط، وكل صف رابط إلى الصفحة خلفه.
على منفذ HTTP، يقوم أيضاً ببصمة مكدّس الويب نفسه، وهو ما يسمّي برامج لا
يستطيع -sV رؤيتها - إطار عمل تطبيقات، نظام إدارة محتوى CMS، إصدار PHP خلف
وكيل عكسي. 721 قاعدة تقرأ أجزاء الاستجابة التي تحمل إصداراً: ترويسة
Server، وX-Powered-By، وملفات تعريف الارتباط، وعنوان الصفحة، ووسوم <meta>،
وأسماء ملفات <script src> والنص الأساسي. يتم البحث عن تلك الهويات أيضاً،
ونشرها على المنفذ ليتمكن باقي الفحص من استخدامها.
أمران يقوم بهما يتجاوزان المسح:
-sV تسمية خدمة، تتم مطابقة
اللافتة الخام مع قواعد لـ FTP وSMTP وSSH وMySQL وDNS وNTP
وLDAP وغيرها. لا يكلف ذلك طلباً إضافياً، وهو الحالة التي لن يُبلغ فيها المنفذ
عن أي شيء على الإطلاق./CHANGELOG.txt لـ Drupal، و/administrator/manifests/files/joomla.xml
لـ Joomla. المضيف الذي لا يشغّل أيّاً من المنتجات الستة التي يتم فحصها لا يُرسل
إليه أي شيء إضافي.```sh
nmap -sV --script vulners هذه هي الواجهة بأكملها. تعمل بدون مفتاح API؛ ومع وجوده تمنحك
معلومات أكثر. لا يوجد تبديل للوضع.```
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.7 ((Ubuntu))
| vulners: cpe:/a:apache:http_server:2.4.7 272 findings, 56 exploitable
| SEVERITY CVSS AI FLAGS LINK
| ======== ==== ==== ======= ==============================================================
| CRITICAL 10.0 8.8 EXP https://vulners.com/gitee/3E6BA608-776F-5B1F-9BA5-589CD2A5A351
| CRITICAL 9.8 9.9 EXP https://vulners.com/zdt/1337DAY-ID-39214
| CRITICAL 9.8 9.6 EXP https://vulners.com/packetstorm/PACKETSTORM:171631
| CRITICAL 9.8 9.9 https://vulners.com/cve/CVE-2021-44790
| CRITICAL 9.8 9.8 https://vulners.com/cve/CVE-2023-25690
|_ 262 more not shown; -v shows all, -vv adds where each was found
باستخدام مفتاح، يعطي نفس الفحص لنفس المضيف إجابات مختلفة - KEV تعني
أن CISA سجّلت الثغرة الأمنية على أنها مستغلة في البرية، وEPSS هو
الاحتمال المنشور بأنها ستُستغل:```
| vulners: cpe:/a:apache:http_server:2.4.7 272 findings, 78 exploitable
| SEVERITY CVSS EPSS FLAGS LINK
| ======== ==== ==== ======= ==============================================================
| CRITICAL 9.1 >99% KEV EXP https://vulners.com/cve/CVE-2024-38475
| CRITICAL 9.0 >99% KEV EXP https://vulners.com/cve/CVE-2021-40438
| CRITICAL 9.1 >99% KEV https://vulners.com/cnvd/CNVD-2024-36387
| CRITICAL 10.0 71% EXP https://vulners.com/gitee/3E6BA608-776F-5B1F-9BA5-589CD2A5A351
| CRITICAL 9.8 97% EXP https://vulners.com/cve/CVE-2021-44790
|_ 262 more not shown; -v shows all, -vv adds where each was found
نفس النتائج الـ 272، بترتيب مختلف، وصف علوي مختلف - و22 منها إضافية
معروفة بأنها قابلة للاستغلال، لأن مفتاحاً يربط كل استغلال بثغرات CVE التي
يستغلها. كلاهما إجابتان حقيقيتان من vulners.com، تم التقاطهما ضد
خادم محلي يعرض ذلك البانر.
## الترتيب
الحقائق تتفوق على التوقعات. يتم ترتيب النتائج:
1. **CISA KEV** - مسجلة كأنها مستغلة في البرية
2. **SSVC `active`** - حكم منسّق بأن الاستغلال يحدث
3. **يوجد استغلال** - الكود منشور، لهذه الثغرة أو لثغرة CVE تسميها
4. **EPSS مرتفع** - نموذج يتوقع حدوث استغلال
5. كل شيء آخر
CVSS يكسر التعادلات داخل النطاق، وليس عبره: ثغرة 7.5 مستغلة هي مشكلة
أسوأ من ثغرة 9.8 غير مستغلة، وهذا هو الترتيب الذي يقول ذلك.
الأعمدة تتبع البيانات. الإشارة التي لم تحملها الإجابة تفقد عمودها
بدلاً من إظهار خلية فارغة، لأن EPSS فارغاً يُقرأ على أنه "هادئ"،
وهذا ادعاء لا يمكن لحقل غائب أن يدعمه.
## ما الذي يضيفه مفتاح API
| | |
|---|---|
| **بدون مفتاح** | يتم البحث عن كل CPE وجده nmap على نقطة النهاية المجانية. النتائج والدرجات وعلامات الاستغلال ودرجة Vulners الخاصة بالذكاء الاصطناعي. بدون أرصدة، بدون حساب |
| **مفتاح، بدون أرصدة** | كل نتيجة تكتسب ما تعرفه نقطة نهاية id: العناوين والتواريخ وصفحة الاستشارة أو الاستغلال العلوية وربط الاستغلال بـ CVE وCISA KEV و- حسب الترخيص - EPSS وSSVC |
| **مفتاح، رصيد واحد** | البرمجيات التي لم يستطع المسار المجاني تسميتها إطلاقاً يتم تحديدها من بانرها الخام. هذا هو الشيء الوحيد هنا الذي يكلف شيئاً، وفقط لخدمة بدون CPE |
المنفذ الذي يحمل CPE بالفعل لا يكلف رصيداً أبداً: عند قياسه عبر أربعة
منتجات، يعيد البحث المجاني **نفس CVEs** التي يعيدها المدفوع مقابل CPE.
ما يشتريه الرصيد هو التحديد، وليس المزيد من الثغرات.
المفاتيح المجانية متاحة على [vulners.com/userinfo](https://vulners.com/userinfo).
## التثبيت
**macOS، Linux، Kali، WSL** - سطر واحد، بدون وسائط:```sh
curl -fsSL https://raw.githubusercontent.com/vulnersCom/nmap-vulners/master/install.sh | sh
Windows - PowerShell بصلاحيات المسؤول:```powershell irm https://raw.githubusercontent.com/vulnersCom/nmap-vulners/master/install.ps1 | iex
يطلب المثبّت من nmap أين يحتفظ ببياناته، وينسخ السكربتات وملفات بياناتها إلى هناك، ويعيد بناء قاعدة بيانات السكربتات، ثم يتحقق من أن `--script vulners` يحلّ فعلاً إلى ما تم تثبيته للتو - حيث يأتي nmap مع `vulners.nse` خاص به، وهذا يستبدله.
<details>
<summary><b>بدون صلاحيات الجذر، وخيارات أخرى</b></summary>```sh
# into ~/.nmap, no sudo; the installer prints the NMAPDIR line to add to your profile
curl -fsSL https://raw.githubusercontent.com/vulnersCom/nmap-vulners/master/install.sh | sh -s -- --user
# a specific directory
./install.sh --prefix /usr/local/share/nmap
# a specific release
./install.sh --ref v2.0
# remove everything it installed
./install.sh --uninstall
PowerShell يأخذ نفس الخيارات: -User, -Prefix, -Ref, -Uninstall.