
مجموعة من تطبيقات بايثون ونصوص شل لإرسال بريد إلكتروني بجدول بيانات xlsx للثغرات الجديدة في قاعدة بيانات NIST CVE ومنتجاتها المرتبطة وفق جدول زمني يومي.
وصف المشروع
مجموعة من تطبيقات بايثون ونصوص شل لإرسال جدول بيانات xlsx للثغرات الجديدة في قاعدة بيانات NIST CVE والمنتجات المرتبطة بها، وذلك وفق جدول زمني يومي. يمكن بعد ذلك تفسير جدول البيانات يدويًا لتقييم المخاطر الخاصة بمؤسستك.
الملف: cve_manager.py
نص بايثون من إعداد أنطونيوس أطلسيس - [email protected]
https://github.com/aatlasis/cve_manager
تغييرات عن الأصل:
إضافة استيراد مكتبة معالجة البيانات pandas
sudo pip3 install pandas openpyxl
إضافة view في قاعدة البيانات تربط بيانات cve و cpe
تعديل استعلامات وتقارير cpe الافتراضية لتضمين سلسلة ناقل cvssv3 بدلاً من درجة cvssv2
تعديل استعلامات وتقارير cpe الافتراضية للفرز حسب تاريخ النشر تصاعديًا، ثم CVSS تنازليًا، ثم CPE تصاعديًا
تعديل دالة إخراج cpe إلى csv لحفظ نسخة تلقائيًا بصيغة xlsx لكل csv محفوظ
الملف: email_xlsx_attach.py
نص بايثون جديد، من إعداد شين لورنس
يرسل تقارير xlsx كمرفقات بريد إلكتروني عبر مرحل smtp محلي
الملف: daily.sh
نص باش شل، من إعداد شين لورنس
يجمع كل شيء معًا في شيء يمكن لـ cron تشغيله يوميًا
يقوم بأتمتة الاستخدامات التالية لـ cve_manager.py:
إعداد الخادم الجديد:
اقرأ ملف PDF الأصلي على:
https://github.com/aatlasis/cve_manager/blob/master/CVE%20Manager.pdf
إعداد بايثون:
يتطلب بايثون 3
قم بتثبيت pip3 أيضًا
pip3 install psycopg2, openpyxl, pandas
المكتبات المطلوبة تشمل:
psycopg2 - مكتبات علوم البيانات
pandas - مكتبات معالجة البيانات (تعتمد على openpyxl)
sys, argparse, os, zipfile, json, requests, re, io, csv, smtplib, base64, email, datetime
إعداد PostgreSQL:
قم بتثبيت أحدث إصدار من PostgreSQL لتوزيعتك.
كجذر، systemctl enable postgresql
systemctl start postgresql
ثم قم بتعيين كلمة مرور لمستخدم PostgreSQL عن طريق:
sudo -u postgres psql
\l يسرد قواعد البيانات
\du يسرد المستخدمين
CREATE USER username WITH PASSWORD 'password';
استخدام cve_manager لإنشاء قاعدة البيانات:
يجب أن يكون للمستخدم صلاحيات الإنشاء
./cve_manager.py -u postgres -ps $PASSWORD -server localhost -db $DB -ow $USER -cd
استخدام cve_manager.py لإنشاء المخطط
يجب أن يكون للمستخدم صلاحيات الإنشاء
./cve_manager.py -u postgres -ps $PASSWORD -server localhost -db $DB -ct
استخدام cve_manager لتنزيل بيانات CVE و CPE
./cve_manager.py -u $user -ps $pass -host $host -db $db -d -p -csv
تنزيل وفك ضغط بيانات CWE يدويًا
wget https://cwe.mitre.org/data/csv/1000.csv.zip
unzip 1000.csv.zip
استخدام cve_manager لاستيراد بيانات NIST CVE و CPE إلى قاعدة البيانات
./cve_manager.py -u $user -ps $pass -host $host -db $db -idb -p
استخدام cve_manager لاستيراد بيانات CWE إلى قاعدة البيانات
./cve_manager.py -u $user -ps $pass -host $host -db $db -icwe 1000.csv
تشغيل تقرير مثال.
هذا المثال ينشئ ملف csv و xlsx للثغرات والمنتجات التي تؤثر عليها،
فقط بتصنيف خطورة 7.0 أو أعلى، تم إنشاؤها أو تحديثها منذ 01 يوليو 2020
./cve_manager.py -u $user -ps $password -host $host -db $db -sc 7.0 -dt 2020-07-01 -cpe cpe -csv -o $reports
إرسال تقارير xlsx عبر البريد الإلكتروني
قم بتعديل email_xlsx_attach.py وفقًا لمرحل smtp الخاص بك، والمرسل، والمستلمين، ودليل التقارير.
قائمة المهام:
التكرار التالي هو معرفة كيفية دمج قائمة بجرد المنتجات الحرجة،
وإنشاء تقارير تنطبق فقط على CPEs الموجودة في جرد المنتجات.
شين لورنس
مستشار أول، أمن المنصة السحابية