Descubre para qué sirve el protocolo SNMP y cómo puede ser peligroso

Uno de los protocolos de los cuales menos se habla es el SNMP. Sin embargo, es uno de los más valiosos a la hora de gestionar los dispositivos que se encuentran conectados a la red. Desafortunadamente, los cibercriminales también pueden sacar provecho de este protocolo a la hora de llevar a cabo los ataques. A continuación, te explicamos qué es el SNMP Reconnaisance y cómo mantener a tu red a salvo de personas con intenciones sospechosas.

¿Qué es y para qué sirve el protocolo SNMP?

Sus siglas en inglés corresponden a Simple Network Management Protocol. En español, significa Protocolo de Gestión de Redes Simple. Es uno de los protocolos que más tiempo lleva vigente, específicamente desde el año 1988. En un principio, los switches y routers podían ser gestionados por este protocolo, hoy en día, es posible contar con el protocolo SNMP para prácticamente cualquier dispositivo que consiga conectarse a una red. Así también, es posible realizar tanto monitorización y ajustes en la configuración de los dispositivos monitorizados de forma remota.

Este es un protocolo orientado a datagramas. Cualquiera de los dispositivos gestionados tendrá un agente que se comunica con el dispositivo central, el cual los gestiona. Dicho agente enviará información al mencionado dispositivo central, cuyo contenido será almacenado en una base de datos que se denomina MIB (Management Information Base). ¿Qué es esto? Es una manera jerárquica de organizar la información recolectada de cualquier dispositivo SNMP que se encuentra conectado a la red.

Lo que puedes saber gracias a una MIB (Management Information Base)

Es bueno reconocer que el MIB es una fuente fabulosa de información valiosa respecto a la red y sus dispositivos que se encuentran conectados a la misma. Sin embargo, ¿qué información podemos encontrar?

  • Usuarios: Esto puede describir la cantidad de cuentas de usuarios y los nombres de cada uno. Así también, es posible saber sobre los grupos de usuarios y la información respecto a la creación de las cuentas de cada uno.
  • Programas instalados: La lista de los programas de uno o más ordenadores se puede obtener con facilidad mediante SNMP. De esta manera, podremos saber las versiones de lo que está instalado. ¿Para qué? Así se puede determinar si es que el ordenador cuenta con versiones que son vulnerables a ataques.
  • Puertos abiertos: Los cibercriminales también pueden sacar provecho de los puertos abiertos con la obtención de información mediante SNMP, en lugar de realizar un escaneo que podría dejar al propio cibercriminal en evidencia ante los administradores de red.

Versiones de SNMP disponibles

En total, podemos contar con tres versiones de SNMP. Todas de ellas se utilizan hasta hoy en día. Lo que distingue a cada una de ellas es la forma en que se implementan y las medidas de seguridad con las que cuenta. Sobre esto último, debemos mencionar al «community string«. El community string consiste en una contraseña, la cual se utiliza para autenticarse a un dispositivo central (el que gestiona) mediante un community string privado.

Citamos las versiones SNMP a continuación:

  • SNMPv1: Esta es la versión más insegura del protocolo en cuanto a medidas de seguridad. Ya que se vale de la autenticación mediante texto plano. El «community string» por defecto está establecido como público.
  • SNMPv2c: Tiene ligeras mejoras en relación a la versión 1, sobre todo, en cuanto a desempeño y seguridad. Sin embargo, no es compatible con la primera versión, por lo que es necesario disponer de esta versión específicamente para usarla. SNMPv2c es la versión más utilizada, aunque la v3 es la que deberíamos utilizar siempre.
  • SNMPv3: Esta es una versión mucho mejor en relación a las medidas de seguridad que incluye. Así también, su desempeño. Incorporó revisiones de integridad y cifrado en el momento de la autenticación. Desafortunadamente, no ha sido implementada aún en gran medida en la mayoría de las organizaciones, aunque es lo más recomendable utilizar esta versión.

SNMP Reconnaissance

Este es un tipo de ataque y, a su vez, es una de las fases de un ataque informático. ¿Por qué? Porque «Reconnaissance» (en español, reconocimiento) es tanto un tipo de ataque como una de las fases de un ataque. Cualquier persona que desee realizar un ataque a una red, por ejemplo, realiza tareas de reconocimiento para obtener los mejores resultados después del ataque «central». Es como una fase de recolección de información valiosa que servirá para ejecutar los ataques en concreto.

Sin embargo, el reconocimiento o «Reconnaisance» también es considerado como un ataque en sí. Porque, así como sabemos que esto permite recolectar información, dicha recolección no es autorizada. No sólo podremos saber respecto a los datos principales de los dispositivos conectados a la red. También podemos saber acerca de los recursos de sistema con los que cuenta cada uno, los servicios que utiliza y las vulnerabilidades que tiene.

Los ataques DDoS, por ejemplo, acostumbran a tener mejores resultados después de una fase de reconocimiento. Por lo que podemos decir que el reconocimiento sirve de puente para una variedad de ataques que se valen de la información recolectada.

Si utilizas Kali Linux, es posible utilizar la herramienta snmp-check. Esta herramienta te permitirá aplicar el protocolo con facilidad mediante líneas de comando. Ejecutando unos pocos comandos, podrás obtener los siguientes datos de un determinado dispositivo conectado:

  • Información de sistema (Nombre de host, descripción, tiempo en que está conectado, dirección IP)
  • Información de red (cantidad de datagramas recibidos y enviados, TTL por defecto y otros)
  • Datos de IP (Dirección de IP, Máscara de Subred y Puerta de Enlace)
  • Información sobre cada una de las interfaces de red del dispositivo (ejemplo, si se encuentra encendido o apagado)
  • Información del dispositivo (nombre del fabricante, modelo y más)
  • Datos de ruteo

Nota: este tipo de explotación de vulnerabilidades SNMP se aplica solamente a las versiones v1 y v2.

Es probable que puedas acceder a más información que lo mencionado. Esto varía mucho dependiendo del dispositivo donde te conectas. Sin embargo, es fácil notar que puedes saber mucho respecto al dispositivo en cuestión y la red a la cual se está conectando. Esta práctica herramienta de Kali te permitirá recrear lo que un cibercriminal puede obtener de parte de los dispositivos que forman parte del blanco de su ataque.

Si deseas evitar ataques derivados del SNMP Reconnaisance, lo primero de todo, hay que desactivar el protocolo de cualquier dispositivo que no lo necesite.

Como mencionamos, originalmente SNMP se desarrolló para los routers y switches. En consecuencia, podríamos reservar este protocolo para esa clase de dispositivos, en el caso de que los requerimientos así lo dicten. Por otro lado, el contenido por defecto de los community strings públicos y privados debe ser cambiado, tal y como ocurre con las contraseñas difíciles de adivinar, con el objetivo de que un usuario malicioso no utiliza las cadenas predeterminadas que se usa siempre en el protocolo SNMP.