Blog

Obtención de información y enumeración a través de SNMP

Buenas a todos! En el post de hoy vamos a ver como durante un Test de Intrusión es posible sacar gran cantidad de información de un determinado sistema o red en caso de que alguno de los host tenga accesible y activo SNMP.

Lo primero, para aquellos que no sepan que es SNMP vamos a ver una descripción del protocolo, y nada mejor que la Wikipedia:

El Protocolo Simple de Administración de Red o SNMP (del inglés Simple Network Management Protocol) es un protocolo de la capa de aplicación que facilita el intercambio de información de administración entre dispositivos de red. Permite a los administradores supervisar el funcionamiento de la red, buscar y resolver sus problemas, y planear su crecimiento

Pero además de esto, debemos saber que este protocolo corre sobre UDP, concretamente en el puerto 161. Y que una red administrada a través de SNMP contiene tres componentes clave que son:

– Dispositivos administrados: “Es un dispositivo que contiene un agente SNMP y reside en una red administrada. Estos recogen y almacenan información de administración, la cual es puesta a disposición de los NMS’s usando SNMP. Los dispositivos administrados, a veces llamados elementos de red, pueden ser routers, servidores de acceso, switches, bridges, hubs, computadores o impresoras.

– Agentes: “Es un módulo de software de administración de red que reside en un dispositivo administrado. Un agente posee un conocimiento local de información de administración (memoria libre, número de paquetes IP recibidos, rutas, etcétera), la cual es traducida a un formato compatible con SNMP y organizada en jerarquías.

– Sistemas administradores de red (NMS’s de sus siglas en inglés): “Ejecuta aplicaciones que supervisan y controlan a los dispositivos administrados. Los NMS’s proporcionan el volumen de recursos de procesamiento y memoria requeridos para la administración de la red. Uno o más NMS’s deben existir en cualquier red administrada.”

[Si queréis saber más acerca del protocolo SNMP os recomiendo este enlace de la Wikipedia o sus distintas RFCs]

 

Para haceros una idea de que cantidad de host utilizan y tienen accesible SNMP  desde Internet, podemos probar a hacer alguna búsqueda en Shodan como la siguiente:

explotacion_snmp-01

 

Como podéis observar hay una inmensa cantidad de sistemas accesibles, concretamente más de 20 millones… Pero lógicamente no todos ellos están mal configurados para que dejen acceder a información interna desde Internet como puede ser el caso de algunos dispositivos de red como routers y demás…

En un caso normal, una vez tenemos localizada la dirección IP que queremos auditar deberíamos comprobar si el puerto en cuestión está o no abierto haciendo uso de nmap como vemos en la siguiente imagen:

explotacion_snmp-02

 

 

El resultado que hemos obtenido es bastante típico, y a veces nos puede permitir o no obtener información del host que estamos auditando. Una vez sabemos que el puerto está a la escucha tenemos principalmente dos opciones que son, utilizar snmpcheck y nmap de nuevo para obtener información a través de SNMP. Primero vamos a ver snmpcheck que personalmente me gusta más como muestra lo resultados. Para ello únicamente tendríamos que poner “snmpcheck -t DIRECCION_IP” como se ve en la siguiente imagen:

explotacion_snmp-03

 

 

Como podemos observar en la anterior imagen en este caso nos está mostrando información del sistema, información sobre la red y lo que vamos a ver a continuación que son las interfaces de red, información sobre la tabla de rutas así como los puertos tcp y udp a la escucha en dicho host.

explotacion_snmp-04 explotacion_snmp-05

 

 

Como podéis ver hemos obtenido una enorme cantidad de información que en un Test de Intrusión sería realmente valiosa para fases posteriores ya que no da información sobre la red interna, servicio, etc.. Como he dicho esto también podríamos realizarlo por ejemplo con nmap. Para ello la forma más cómoda de hacerlo sería utilizando la opción “-sC” que lanzara los scripts por defecto, entre los que se encuentra el que permite llevar a cabo la enumeración a través de SNMP. Personalmente me gusta más snmpcheck, pero para gustos los colores. También tenéis otras opciones como algunos módulos auxiliares en Metasplot, etc. A continuación os dejo una captura de esto mismo utilizando nmap.

explotacion_snmp-06

 

El ejemplo anterior aunque puede parecer que nos ha mostrado mucha información, no es nada en comparación con lo que realmente podemos llegar a obtener. Esto se debe a que es un dispositivo que no comparte toda la información con sistemas de cara a Internet (Como he dicho, normal en sistemas como Routers y demás) pero si nos encontráramos con sistemas que si compartieran más información, como por ejemplo sistemas Windows XP o 2000 (o cualquier otro) con SNMP activo. A modo de ejemplo podemos ver en la siguiente imagen que existen una gran cantidad de sistemas Windows con SNMP activo (De los cuales en muchos sería posible obtener gran cantidad de información).

explotacion_snmp-07

 

Para aquellos que no conozcáis mucho SNMP os preguntareis, ¿Y qué más se puede sacar? Pues a continuación os dejo una serie de capturas donde lo vais a ver 😉 (Muchas imágenes están cortadas debido a que eran demasiado grandes las listas que salían en los resultados)

explotacion_snmp-08

explotacion_snmp-09

explotacion_snmp-10

explotacion_snmp-11

explotacion_snmp-12

explotacion_snmp-13

explotacion_snmp-14

explotacion_snmp-15

explotacion_snmp-16

explotacion_snmp-17

explotacion_snmp-18

explotacion_snmp-19

Como veis en este caso sí que ha sido posible obtener una inmensa cantidad de información del sistema objetivo, que podría permitirnos realizar otros vectores de ataca con mucha más información. Creo que sobran las palabras, sería posible realizar ataques de ingeniería social para que abriera un pdf o cualquier archivo que explotara una versión de software que sabemos que tiene instalada, datos de red, etc.

Espero que os haya gustado el post!

Un saludo,

Eduardo – eduardo@highsec.es – @_Hykeos

Leave a Reply

*

    No Twitter Messages