Tienda Wifi

Tienda Wifi
CiudadWireless es la tienda Wifi recomendada por elhacker.NET

Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon Descubre para qué sirve el protocolo SNMP


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.

Hay que tener en cuenta cómo funciona este protocolo en concreto. De primeras, está basado en la monitorización que un equipo o equipos pueden tener sobre otros dispositivos dentro de una red. Además, cada sistema que está administrado llega a ejecutar un software, que se llama ‘agente’, el cual es el encargado de informar sobre diferentes detalles importantes, como, por ejemplo, cuando algo no funciona bien. Dicha información se recoge por el SNMP en forma de variables, para después enviar esos datos al administrador. En cuanto a las variables, se orden en función de su prioridad, por lo que pueden conseguirse o modificarse de manera remota mediante apps.

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. Fue la primera versión estándar del Protocolo Simple de Administración de Redes y fue introducida en 1988. Aunque sentó las bases para la administración de redes, presenta algunas limitaciones en comparación con las versiones posteriores ya que se vale de la autenticación mediante texto plano. El «community string» por defecto está establecido como público.
  • SNMPv2c: La evolución de SNMPv1 se introdujo con el objetivo de mejorar la eficiencia y corregir algunas limitaciones de su versión anterior. 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. Aunque se dividió en tres versiones distintas, SNMPv2c, SNMPv2u y SNMPv2*, SNMPv2c es la versión más utilizada, aunque la v3 es la que deberíamos utilizar siempre.
  • SNMPv3: Presentada en 1998, es la última versión y culmina un proyecto para abordar las deficiencias de seguridad en las versiones anteriores. 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.

Niveles de seguridad de SNMPv3

Por otro lado, también hay que mencionar de los distintos niveles de seguridad de este protocolo en particular. Es por esto mismo por lo que hay que pasar a hablar de los diferentes niveles de seguridad de SNMP v3:

  • NoAuthNoPriv: Esto quiere decir que sin autenticación , no habrá privacidad. Este no requiere autenticación, y los mensajes no se encuentran cifrados. Su uso es más recomendable para redes cerradas y seguras.
  • AuthNoPriv: Significa que tiene autenticación, pero no privacidad. Incluso sin estar encriptados los mensajes durante la transmisión, estos deben ser autenticados para poder actuar con ellos. Sobre la teoría, se podrían interceptar los datos enviados entre los agentes y los administradores durante las transmisiones, incluso estando autorizadas. Pero no se traducen en solicitudes Get o Set adicionales.
  • AuthPriv: Este es el sistema con autenticación y privacidad. Se trata de la implementación SNMPv3 más segura. En este caso los mensajes deben autenticarse y todos los datos serán cifrados durante la transmisión. De esta forma un factor malicioso no podría ver los datos generados por solicitudes legítimas ni enviar sus propias solicitudes Get o Set.

Tipos de mensajes SNMP

Además de los anteriores aspectos del protocolo SNMP, es importante señalar cuáles son los distintos tipos de mensajes que se pueden dar, ya que se usan como medios de comunicación entre el agente SNMP, y también, el administrador del protocolo:

  • GetRequest: Es el mensaje que envía un administrador para solicitar datos, y es el más usado actualmente. El dispositivo final devuelve el valor solicitado con un mensaje de respuesta.
  • GetNextRequest: Se trata de un mensaje que envía el administrador de SNMP, para descubrir qué información está disponible desde el dispositivo.
  • GetBulkRequest: Se trata de una versión actualizada de GetNextRequest. Pero en este caso, la respuesta solicitada contendrá tantos datos como la solicitud permita.
  • SetRequest: Es un comando que inicia el administrador para establecer o modificar un valor de algún parámetro a través de SNMP, en el dispositivo o sistema del agente.
  • Response: Se trata de la respuesta que un dispositivo o agente envía tras una solicitud del administrador.
  • TrapV2: Es un mensaje que el agente SNMP envía a modo de trampa, sin que el administrador lo solicite. Son útiles para realizar una supervisión proactiva. Con este tipo de mensajes, el controlador SNMP puede informar al administrador de una red en particular de que hay algo que precisamente no va bien. Por esto mismo, se considera casi indispensable el uso de este tipo de mensajes trampas SNMP en las redes.
  • InformRequest: Es un mensaje de SNMP v2, que sirve al administrador para tener la posibilidad de confirmar que se ha recibido un mensaje de captura de algún agente.
  • Report: Para estos mensajes es necesario SNMPv3, y permiten que un administrador determine que tipo de problema se detectó por el agente SNMP remoto. Dependiendo de cual sea el error, el motor del protocolo puede enviar un mensaje corregido. De no ser posible, enviará una indicación del error a la aplicación.

El intercambio de información del protocolo SNMP puede realizarse de dos maneras, vía sondeo o vía trampas, si estamos administrando una red que opera bajo SNMP hay que comprender muy bien la diferencia entre los dos métodos.

La forma precisa en la que un administrador SNMP y sus “agentes” se comunican entre sí, normalmente se realiza mediante mensajes SNMP trampa que son asíncronos, pero en algunas ocasiones o mejor dicho en algunos sistemas, pueden ser utilizados los mensajes sondeados.

Como hemos mencionado, SNMP es tradicionalmente asíncrono, lo que quiere decir que sus agentes enviarán mensajes trampa SNMP cada vez que algo notable suceda en el sistema, pero el administrador no solicitará dicha información en ningún tipo de horario que sea predecible, por lo que, si un agente se mantiene en silencio, no se sabrá si esta desconectado o no y no habrá forma de saberlo.

Esta limitación, normalmente es abordada en algunos protocolos y más recientemente, algunos dispositivos SNMP también utilizan el método de sondeo en lugar de enviar mensajes trampa, cuando configuramos el sistema de esta forma, los agentes no enviaran mensajes trampa cada vez que algo suceda, si no que en su lugar esperaran por una petición del administrador que llegue en intervalos regulares, llamado “bucle de sondeo” e implica que el administrador enviará solicitudes a su agente cada 30 segundos o cada minuto.

Este método, lo que intercambia o sacrifica un poco la inmediatez para obtener un poco más de monitorización, por lo que si un agente está desconectado, no podrá responder al siguiente sondeo y por ende se sabrá que algo está mal.

La diferencia entre el método de sondeo enviando solicitudes cada “x” tiempo y el de enviar mensajes trampa asíncronos, radica en dónde comienza el intercambio de información, si es en el administrador o en el agente, ambos tienen sus pros y sus contras y deberás decidir basado en tu red y en cómo opera la misma, cual quieres utilizar.

Impacto en el rendimiento

El protocolo SNMP, puede tener un impacto dentro del rendimiento de la red. Cuando este se utiliza, los dispositivos en red realizan envío de información sobre su estado y rendimiento a servidores que gestionan la red. Estos pueden ser equipos específicos, o aplicaciones software. Pero al fin y al cabo, esta tarea genera más tráfico adicional en la red, aumentando la carga del servidor de gestión. Afectando así al rendimiento de la red y como esta es capaz de desempeñarse dentro de la infraestructura.

En cambio, se debe destacar que el impacto de SNMP depende en gran parte de la cantidad de dispositivos que se encuentren conectados y a los cuales se les realiza la monitorización. También se debe tener en cuenta, el tipo de información que se les solicita. El conjunto de todo esto, hace que se produzca cierta variedad de tráfico, el cual puede tener este significativo impacto en el rendimiento de la red. En cambio, si estamos realizando la monitorización de un número más limitado de equipos y la información recopilada es muy básica, lo más probable es que no notemos que afecte en nada al rendimiento de la red.

En todo caso, hoy en día existen diferentes técnicas para tratar de minimizar el impacto del SNMP en el rendimiento. Una de ellas es la limitación de la cantidad de información que se recopila de los dispositivos, lo cual reduce de forma considerable la carga en la red y en el servidor que se encarga de gestionar la misma. También es importante asegurarse que se utiliza la versión más reciente de este protocolo, la cual es probable que sea mucho más eficiente y segura que versiones más antiguas.

En definitiva, el SNMP sí tiene un impacto en el rendimiento. Pero depende de diferentes factores, y de cómo este se encuentra configurado dentro de la red para tratar todos los datos que recopila de los dispositivos conectados.

Desventajas de SNMP

Pese a que es uno de los protocolos que se utiliza ampliamente para gestionar y supervisar dispositivos de red (aunque con el tiempo va a menos en muchas áreas), también tiene una serie de desventajas que deberíamos conocerlas:

  • Seguridad limitada: Especialmente en las primeras versiones (v1 y v2c), su encriptación y autenticación no era nada fuerte, lo que generaba problemas de seguridad, debido a que los datos iban en texto en claro, pudiendo ser interceptados por muchos ciberdelincuentes de forma relativamente sencilla.
  • Configuración: En grandes redes, este tipo de configuración para que todo funcione perfecto, puede ser tedioso, y no es tan simple como darle a un botón, al menos para dejarlo todo perfecto. El ajuste de los parámetros puede ser una tarea desafiante.
  • Limitación en el ancho de banda: SNMP puede generar una gran cantidad de tráfico en la red, sobre todo si tenemos una gran red, o la frecuencia de consultas es muy elevada, pudiendo provocar una saturación.
  • Interoperabilidad: Aunque SNMP es un estándar, no todos los dispositivos lo implementan de la misma manera. Esto puede causar problemas de compatibilidad entre diferentes fabricantes y versiones, lo que puede llevar a problemas, sobre todo en grandes empresas, en las cuales pueden haber algún equipo incompatible que haya que sustituir, al menos si queremos usar este protocolo.

Algunas de estas desventajas son las que pueden hacer que muchos se decidan por alternativas más modernas, avanzadas, o de sistemas de monitoreo basados en agentes, sin embargo, también son muchas las que a día de hoy siguen haciendo uso de SNMP.

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. Un ataque DDoS puede hacer que un servidor se bloquee después de recibir una gran cantidad de solicitudes. Es un tipo de ataque que puede afectar a una página web, por ejemplo.

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. De esta forma reduciremos el riesgo de ser víctimas de ciertos ataques.

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.

Alternativas a SNMP

Si vemos el panorama actual en el mundo de las redes, y nos fijamos en los rumbos que están tomando las grandes empresas que se dedican a este sector, puede que incluso queramos buscar algunas alternativas. Algunas como gNMI y NETCONF, continúan ganando mucha popularidad, y la previsión es que se siga haciendo. Pero estas no son las únicas alternativas que nos podemos encontrar. Existen protocolos y herramientas que pueden complementar o incluso llegar a sustituir a SNMP. Si bien no para todos los escenarios, pero para algunos casos sí.

  • API REST y SOAP: Son un buen ejemplo de lo que se puede llegar a hacer con una API RESTful basada en HTTP. En muchos casos, las aplicaciones y dispositivos de red dejan expuestos sus API, de forma que se pueden utilizar para ciertas configuraciones o control y monitoreo de redes.
  • WMI y CIM: En muchos casos estas herramientas de Windows, son una implementación muy popular del modelo de información común (CIM), la cual se utiliza para monitorizar y administrar dispositivos en Windows. En este caso, tanto para sustituir como para complementar a SNMP es válido.
  • IPMI: Se trata de una interfaz de administración, con características implementadas por los proveedores como IDRAC de Dell, o ILO de HP. Esto facilita la monitorización y administración de servidores.
  • ICMP: Es el protocolo de mensajes de control en Internet. Este protocolo habilita el ping, y puede realizar una monitorización sencilla para darnos información sobre el rendimiento que tiene la red en tiempo real.
  • Registro del sistema: En este caso tenemos Syslog por ejemplo. Esto nos sirve para categorizar y centralizar la información de registro en la red. A mayores, puede ayudar a detectar los fallos, notificarnos de los eventos, y multitud de configuraciones para monitorización.
  • SSH/Telnet: En algunas ocasiones una interfaz de comandos simple es de las mejores formas de manejar la red. Incluso con las API con interfaces reemplazando a estos sistemas, siguen siendo muy útiles y básicos en muchas redes.
  • NETCONF: Aunque SNMP es un protocolo muy utilizado, existen muchas alternativas que se han desarrollado para mejorar algunas limitaciones o requisitos específicos y una de ellas es NETCONF. Este acrónimo de configuración de red, es un protocolo estandarizado desarrollado para facilitar la configuración y gestión de dispositivos en red. Diseñado por la IETF, NETCONF utiliza XML como formato estándar para representar datos de configuración. Esto proporciona una estructura que facilita la comprensión y el intercambio de información entre los dispositivos y el sistema de gestión de datos. Ofrece distintas operaciones de lecura y escritura para su configuración, permitiendo a los administradores de red recuperar información, realizar modificaciones y gestionar cambios de manera máseficiente.

En definitiva, SNMP o Simple Network Management Protocol es un protocolo para gestionar redes y que lleva más tiempo con nosotros. Esto ha hecho que con el paso del tiempo se haya ido actualizando y perfeccionando, aunque su uso ha continuado siendo el mismo. Hemos visto también que puede ser un protocolo peligroso.


Fuentes:

https://www.redeszone.net/tutoriales/internet/protocolo-snmp-que-es/


0 comentarios :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.