العمليات والتقصيمتقدم60mL51
التقصي في قواعد بيانات الثغرات (CVE)
منهجية البحث في NVD و MITRE و KEV لتحديد الثغرات الهامة
#CVE#NVD#KEV#EPSS#OSV#GHSA
لماذا تتبع CVEs مهارة بحدّ ذاتها؟
كل يوم تُنشر ~100 ثغرة جديدة. الفرق بين فريق ناضج و فريق متأخر هو القدرة على معرفة أيها يهمّك خلال ساعات، لا أيام. المهاجم يقرأ نفس النشرة — السباق هو من يصل أولاً.
تشبيه — شرح مبسط
تخيل أنك حارس إطفاء. لا يكفي أن تعرف أن هناك حرائق — يجب أن تعرف أيها قريب من بيتك، أيها يستخدم وقوداً تخزّنه، و أيها ينتشر بسرعة. CVE feeds هي راديو الإطفاء عندك.
تحذير قانوني
البحث في قواعد CVE قانوني تماماً. لكن استغلال أي ثغرة على نظام لا تملك إذناً صريحاً به جريمة. هذا الدرس للتدريب الدفاعي و الاختبارات المصرّح بها فقط.
هرم المصادر — أيها تستخدم متى
NVD — National Vulnerability Database
قاعدة NIST الرسمية. تضيف CVSS و CPE و references. متأخرة 1–7 أيام عن MITRE. الأفضل للبحث و الإحصائيات.
nvd.nist.gov/vuln/search
nvd.nist.gov/vuln/search
CVE.org / MITRE
المصدر الأول لتسجيل CVE. أسرع وصولاً، لكن البيانات أحياناً ناقصة قبل أن يفهرسها NVD.
cve.org · cve.mitre.org
cve.org · cve.mitre.org
CISA KEV
Known Exploited Vulnerabilities — فقط الثغرات المُستغلة فعلياً في البريّة. أهم قائمة في العالم لتحديد الأولويات. حدّث يومياً.
cisa.gov/known-exploited-vulnerabilities-catalog
cisa.gov/known-exploited-vulnerabilities-catalog
EPSS
Exploit Prediction Scoring System — احتمال (0–1) أن تُستغل ثغرة خلال 30 يوماً. أدق من CVSS لتحديد الأولويات.
first.org/epss
first.org/epss
GitHub Advisory (GHSA)
ثغرات حِزم البرمجيات (npm, pypi, maven, go, rubygems...). أسرع مكان لاكتشاف ثغرات الـ supply chain.
github.com/advisories
github.com/advisories
OSV.dev
موحّد لكل قواعد بيانات الـ open-source. API مجاني سريع. الأفضل للأتمتة.
osv.dev
osv.dev
قاعدة عملية
للأولويات: ابدأ من KEV ثم EPSS > 0.7 ثم CVSS. لا تعتمد على CVSS وحده — كثير من ثغرات CVSS 9+ لا تُستغل أبداً.
رؤية الجديد — Recently Added CVEs
كيف ترى ما نُشر اليوم / هذا الأسبوع، و ليس قائمة أبدية؟
1) NVD — RSS و فلتر تاريخ
$ # آخر 8 أيام مرتبة بتاريخ النشر (واجهة RSS الرسمية):
$ curl -s 'https://nvd.nist.gov/feeds/xml/cve/misc/nvd-rss-analyzed.xml' | head -40
$ # أو عبر API بفلتر pubStartDate:
$ curl -s 'https://services.nvd.nist.gov/rest/json/cves/2.0?pubStartDate=2026-04-23T00:00:00.000&pubEndDate=2026-04-30T23:59:59.000' | jq '.vulnerabilities[].cve.id' | head
2) CISA KEV — feed يومي
$ # آخر 10 ثغرات أُضيفت لقائمة المُستغلّة فعلياً:
$ curl -s https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json \
| jq '.vulnerabilities | sort_by(.dateAdded) | reverse | .[0:10] | .[] | {cve: .cveID, product, dateAdded, ransomware: .knownRansomwareCampaignUse}'
{
"cve": "CVE-2026-2891",
"product": "Cisco IOS XE",
"dateAdded": "2026-04-29",
"ransomware": "Known"
}
3) GitHub Advisories — فلتر بالـ ecosystem
GraphQL / REST
# REST: آخر تحذيرات npm critical
curl -s 'https://api.github.com/advisories?severity=critical&ecosystem=npm&per_page=20' \
| jq '.[] | {ghsa: .ghsa_id, cve: .cve_id, summary, published_at}'
# واجهة الويب — أقوى فلاتر:
# https://github.com/advisories?query=ecosystem%3Apip+severity%3Acritical+published%3A%3E2026-04-014) Twitter/X و Mastodon — السباق الحقيقي
- حسابات لا غنى عنها: @CVEnew, @cisagov, @vxunderground, @gossithedog, @TrustedSec.
- infosec.exchange على Mastodon — مجتمع باحثي الأمان الفعلي.
- يكشف PoCs قبل أن يصل CVE إلى NVD بـ 24–72 ساعة.
البحث الصحيح — Search Like a Pro
NVD Advanced Search — أهم الفلاتر
- CPE Match — ابحث بالمنتج لا بالنص الحر: cpe:2.3:a:fortinet:fortios:7.4.0 يعطيك كل CVEs لإصدار محدد.
- CVSS v3 Range — مثلاً 9.0–10.0 فقط.
- Has Exploit / KEV — لتصفية ما يهمّ بالفعل.
- Modified vs Published — أحياناً CVE قديم يُعاد فتحه ببيانات جديدة.
OSV.dev — الأسرع للأتمتة
$ # هل حِزمة معيّنة في إصدار معيّن مصابة؟
$ curl -s -X POST https://api.osv.dev/v1/query -d '{
"package": {"name": "lodash", "ecosystem": "npm"},
"version": "4.17.20"
}' | jq '.vulns[] | {id, summary, severity}'
Google Dorks للـ PoCs و Write-ups
Google Dorks
# PoC على GitHub
site:github.com "CVE-2024-3400" PoC
# تحليل تقني من باحثين
"CVE-2024-3400" (writeup OR analysis OR "deep dive") -site:nvd.nist.gov
# Exploit-DB
site:exploit-db.com CVE-2024-3400
# Patch diff (جوهرة!) — أحياناً المطوّر ينشر الإصلاح قبل الإفصاح الكامل
site:github.com "CVE-2024-3400" path:CHANGELOGأدوات سطر الأوامر
$ # nvdlib — مكتبة Python للبحث في NVD
$ pip install nvdlib && python3 -c "import nvdlib; [print(c.id, c.score) for c in nvdlib.searchCVE(keywordSearch='ivanti', cvssV3Severity='CRITICAL')[:5]]"
$ # searchsploit — قاعدة Exploit-DB محلياً
$ searchsploit fortinet ssl-vpn
$ # vulners — متعدد المصادر، يحتاج API key مجاني
$ vulners --search 'CVE-2024-3400'
ربط CVE بالأصول — أهم خطوة فعلياً
قائمة CVEs بدون معرفة ما لديك = ضوضاء. الربط يتم عبر CPE (Common Platform Enumeration) أو SBOM.
- SBOM — أنشئ Software Bill of Materials لكل تطبيق (CycloneDX / SPDX) ثم مرّره عبر grype أو trivy.
- Asset Inventory — قاعدة بيانات لكل خدمة, إصدارها, و الـ CPE المقابل.
- Continuous Scanning — nuclei templates على البنية كل 6 ساعات.
$ # توليد SBOM ثم فحصه
$ syft packages dir:/opt/app -o cyclonedx-json > sbom.json
$ grype sbom:./sbom.json --fail-on high
NAME VERSION FIXED-IN VULNERABILITY SEVERITY
openssl 3.0.7 3.0.13 CVE-2024-0727 Medium
libxml2 2.9.13 2.9.14 CVE-2022-40303 High
أتمتة التتبع — Pipeline يومي
المحترفون لا يفتحون NVD يدوياً. خط أنابيب نموذجي:
- كل ساعة: اسحب KEV feed + NVD modified + GHSA.
- قارن مع Asset Inventory (CPE match).
- اضرب CVSS × EPSS × Asset criticality → أولوية.
- أرسل تنبيه Slack/Teams عند تطابق > عتبة محددة.
- افتح تذكرة Jira تلقائياً مع رابط NVD و SLA حسب الأولوية.
bash
#!/usr/bin/env bash
# مثال: تنبيه Slack لأي إضافة جديدة على KEV تطابق منتجات لديك
KEV=$(curl -s https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json)
INVENTORY=$(jq -r '.products[]' assets.json)
echo "$KEV" | jq -r --arg today "$(date -u -v-1d +%Y-%m-%d)" \
'.vulnerabilities[] | select(.dateAdded >= $today) | "\(.cveID)\t\(.product)"' \
| while IFS=$'\t' read -r cve product; do
if grep -qi "$product" <<< "$INVENTORY"; then
curl -X POST -H 'Content-type: application/json' \
--data "{\"text\": \"NEW KEV: $cve - $product (you run this)\"}" \
"$SLACK_WEBHOOK"
fi
doneفخاخ شائعة — لا تقع فيها
- تثق بـ CVSS وحده. ثغرة 9.8 على خدمة لا يصلها الإنترنت أقل خطراً من 6.5 على واجهة مكشوفة.
- تنسى CPE versions. "WordPress 6.2" مختلف عن "WordPress 6.2.1" — افحص النطاق بدقة.
- تعتمد على NVD فقط. 30% من CVEs ينقصها CPE → لن تظهر بالبحث المنتج.
- تتجاهل ثغرات المكتبات (transitive dependencies). معظم الاختراقات الحديثة تأتي من حزمة عمق 3 في node_modules.
- تطارد أحدث ضجة. Log4Shell كان عملاقاً، لكن مهاجمو الدولة يستخدمون CVE من 2017 لأن لا أحد رقّع.
الدفاع و الأولويات — كيف ترتّب التصحيح
منهجية ترتيب التصحيح (Patch Triage)
- P0 — خلال 24 ساعة: KEV + أصل مكشوف للإنترنت + لا workaround.
- P1 — خلال 7 أيام: EPSS > 0.5 أو CVSS ≥ 9 على أصل حسّاس.
- P2 — خلال 30 يوماً: CVSS 7–8.9 داخلي.
- P3 — الدورة الشهرية: الباقي.
- اشترك في vendor security advisories مباشرة (Microsoft MSRC, Cisco PSIRT, Fortinet PSIRT).
- راقب @CVEnew + KEV feed عبر RSS reader يصل سريعاً.
- اربط SBOM بـ CI/CD: ابنِ لا يمر إذا حزمة فيها CVE معروفة.
- درّب فريقك على قراءة CVE: السؤال الأول دائماً "هل لديّ هذا؟" لا "ما خطورته؟".
معلومة
MITRE ATT&CK تربط CVEs بتقنيات هجوم. مثال: CVE-2024-3400 → T1190 (Exploit Public-Facing Application). استخدم هذا في سيناريوهات Threat Hunting.