Leyendo información SNMP con snmpwalk

El Protocolo Simple de Administración de Red o SNMP (del inglés Simple Network Management Protocol) es un protocolo utilizado por dispositivos de red para intercambiar información entre éstos. Facilita a los administradores de red la supervisión, funcionamiento y resolución de problemas en la red de comunicaciones.

Las versiones de SNMP más utilizadas son SNMP versión 1 (SNMPv1) y SNMP versión 2 (SNMPv2). La versión 3 de SNMP (SNMPv3) incluye cambios importantes respecto a versiones anteriores, sobre todo en temas de seguridad; sin embargo su aceptación ha sido muy baja debido a algunos problemas de implantación e incompatibilidades.

Durante una auditoría técnica de seguridad o una labor de hacking ético es muy habitual escanear dispositivos en la red que tengan habilitado SNMP, es decir, tengan el puerto 161/UDP abierto.

Escaneando SNMP con Nmap
Escaneando SNMP con Nmap

Podemos ver que la máquina de ejemplo, tiene abierto el puerto 161/UDP, por lo tanto hay un servidor SNMP habilitado en ese puerto.

Para nuestras tareas de hacking ético podemos utilizar una herramienta capaz de leer información de un servicio SNMP, siempre y cuando conozcamos la comunidad por la que ese servicio está publicando la información. Por defecto, la comunidad SNMP se llama «public«. Esta herramienta capaz de acceder a la información SNMP es snmpwalk, que está disponible en la distribución Kali Linux.

Para poder leer correctamente la información SNMP, los MIB (Management Information Base) tendremos que saber el nombre de la comunidad, que para versiones anteriores a la 3 actúa cómo método de seguridad. Cambiar el nombre de la comunidad por defecto, dificultará que intrusos puedan acceder y leer la información que se está publicando.

Con Nmap podemos hacer un descubrimiento de servicio y versión al puerto 161/UDP, que además nos indicará si la comunidad es «public» o no.

Comunidad SNMP public
Comunidad SNMP public

Como se puede observar en la imagen anterior, se trata de un servidor SNMP versión 1 que está usando la comunidad «public».

Esto nos permitirá acceder a la información SNMP, MIB, con la herramienta snmpwalk, indicando con el parámetro -v la versión (1) y con el parámetro -c la comunidad (public).

Leyendo SNMP con snmpwalk
Leyendo SNMP con snmpwalk

Podemos ver en la captura cómo snmpwalk ha sido capaz de leer información SNMP de la máquina de ejemplo.

En próximas entradas veremos cómo intentar descubrir el nombre de la comunidad en caso de que ésta haya sido cambiada y no sea «public».

Como siempre, espero que haya sido de vuestro interés.