Exploit-DB و searchsploit
إزاي تدوّر على exploits في Exploit-DB وبـ searchsploit من غير إنترنت، وتنسخ الـ exploit وتقراه قبل ما تشغّله، وتفلتر النتايج بـ Python.
نص شرح المعلم والكود الذي كتبه ونتيجة تشغيله، بنفس ترتيب الدرس.
الـ NVD بيقولّك الثَغْرة موجودة. بس علشان تثبتها، محتاج exploit، يعني code بيستغلها. وأشهر مكان للـ exploits العامة: Exploit DB.
الـ Exploit DB موقع من OffSec، فيه آلاف الـ exploits. كل exploit ليه رقم اسمه EDB dash ID. وفيه أداة في الـ terminal اسمها searchsploit، فيها نسخة من الموقع كلها على جهازك، شغّالة من غير إنترنت.
إزاي تستخدم searchsploit؟ تكتب searchsploit وبعده اسم المنتج والإصدار. dash m وبعده الرقم، بينسخلك الـ exploit في المكان بتاعك. و dash x بيفتحه للقراءة.
وأهم نصيحة في الدرس ده: اقرا الـ exploit قبل ما تشغّله. افهم بيعمل إيه خطوة بخطوة. exploits من ناس مجهولة ممكن تكون فيها backdoor تأذيك إنت. وعدّل الـ IP والـ port للهدف بتاعك. ما تشغّلش code مش فاهمه على جهاز العميل. هنا نتيجة searchsploit محفوظة في list، كل item فيه العنوان والـ path. نطلّع رقم الـ EDB من آخر الـ path، قبل الـ dot. نشغّل… تلات exploits، كل واحد برقمه.
# Saved output of: searchsploit apache 2.4.49
results = [
("Apache HTTP Server 2.4.49 - Path Traversal and RCE", "multiple/webapps/50383.sh"),
("Apache HTTP Server 2.4.50 - Remote Code Execution (2)", "multiple/webapps/50406.sh"),
("Apache 2.4.x - Denial of Service", "linux/dos/40961.py"),
]
for title, path in results:
edb_id = path.split("/")[-1].split(".")[0]
print(f"EDB-{edb_id:6} {title}")المخرجات
EDB-50383 Apache HTTP Server 2.4.49 - Path Traversal and RCE EDB-50406 Apache HTTP Server 2.4.50 - Remote Code Execution (2) EDB-40961 Apache 2.4.x - Denial of Service
دورك: إحنا مش عايزين هجمات Denial of Service، لأنها بتوقّع الخدمة. فلتر أي عنوان فيه Denial of Service، وما تطبعهوش.
جُوّه الـ loop: if "Denial of Service" in title: continue
الحل: نشغّل… اتنين بس، والـ DoS اختفى.
# Saved output of: searchsploit apache 2.4.49
results = [
("Apache HTTP Server 2.4.49 - Path Traversal and RCE", "multiple/webapps/50383.sh"),
("Apache HTTP Server 2.4.50 - Remote Code Execution (2)", "multiple/webapps/50406.sh"),
("Apache 2.4.x - Denial of Service", "linux/dos/40961.py"),
]
for title, path in results:
if "Denial of Service" in title:
continue
edb_id = path.split("/")[-1].split(".")[0]
print(f"EDB-{edb_id:6} {title}")المخرجات
EDB-50383 Apache HTTP Server 2.4.49 - Path Traversal and RCE EDB-50406 Apache HTTP Server 2.4.50 - Remote Code Execution (2)
الدرس الجاي: مصادر تانية للـ exploits، وبالذات GitHub و Metasploit. يلا بينا.
03 / دروس المسار (16)
- 01يعني إيه ثغرة؟ ومن الـ Recon للـ Vulnerabilities
- 02CVE و CWE: أسماء الثغرات
- 03الخطورة: CVSS و EPSS و KEV
- 04البحث في NVD
- 05Exploit-DB و searchsploitانت هنا
- 06GitHub و Metasploit
- 07الفحص بـ Nmap NSE
- 08الفحص بـ Nuclei
- 09الفحص بـ Nikto
- 10الفحص بـ OpenVAS
- 11فحص بصلاحيات ومن غيرها
- 12تجميع وتنظيم النتايج
- 13False Positives والتأكد اليدوي
- 14ترتيب الأولويات
- 15أتمتة الفحص بـ Python
- 16مراجعة شاملة