Ciberataques DrDoS basados en el protocolo SNMP

Fecha de publicación 21/04/2022
Autor
INCIBE (INCIBE)
Ataques DrDoS basados en SNMP

Tras el estudio preliminar de los ciberataques de denegación de servicio (DoS), junto con algunas de sus variantes, en el artículo “DrDoS: características y funcionamiento”, el siguiente estudio abordará cómo el protocolo de SNMP es utilizado como una herramienta para desarrollar un ciberataque DoS en su variante denegación de servicio reflejado (DrDoS).

SNMP

El protocolo de Internet SNMP (Simple Network Management Protocol) ha sido tradicionalmente utilizado para intercambiar información sobre los dispositivos de redes IP, con el fin de gestionar y monitorizar estas redes. Los equipos que suelen soportar SNMP son módems, enrutadores, servidores, impresoras, etc.

Existen tres versiones diferentes de SNMP. Cada una de ellas aporta mejoras en cuanto al rendimiento, flexibilidad y seguridad del protocolo, siendo la tercera versión la más segura de ellas. Esta última versión ofrece tres niveles de seguridad:

  • noAuthPriv, sin autentificación ni privacidad,
  • authNoPriv, que dispone de autentificación, pero no de privacidad,
  • authPriv, que es la más restrictiva, al contar con autentificación y privacidad.

Esquema arquitectura SNMP

Ilustración 1. Esquema de arquitectura SNMP.

El funcionamiento de este protocolo está basado en la monitorización que el equipo o equipos administrativos ejercen sobre otros en una red. Cada sistema administrado ejecuta un software, denominado “agente”, que es el encargado de reportar toda la información relevante, recogida en forma de variables a través del protocolo SNMP al administrador.

Las variables, las cuales están organizadas de manera jerárquica según prioridad, pueden obtenerse o ser modificadas de forma remota mediante aplicaciones, lo que permite realizar tareas de gestión, como por ejemplo, cambios de configuración. La jerarquía se describe como una base de información de gestión (MIB) y es organizada entre el protocolo SNMP y las indicaciones de las aplicaciones.

Vector de ataque

Un atacante con acceso a una subred o VLAN de servidores, monitorizados y gestionados por medio del servicio de SNMP, podría provocar una condición de DoS de dichos servidores causando un gran impacto, ya que SNMP es un protocolo de administración muy recurrido en el ámbito corporativo.

El vector de ataque radica en el uso del protocolo de UDP para la capa de transporte de SNMP, a través de los puertos 161 y 162 por defecto.

La característica de ataque reflejado se debe al no ser necesaria la verificación del origen y el destino en el envío de paquetes, lo que podría permitir a un atacante cambiar la dirección IP de destino por la IP de la víctima, haciendo así un spoofing de IP. Esto provocará que la víctima empiece a recibir paquetes constantemente, saturando el servicio.

Por otro lado, la característica de ataque amplificado radica en que el servicio que ofrece el protocolo SNMP permite realizar consultas de gran tamaño por medio de la solicitud “GetBulkRequest”, la cual sirve para obtener múltiples variables y sus valores, conllevando una respuesta de entre 423 y 1560 Bytes. Esto supone un incremento del tamaño de la respuesta de hasta 102 Bytes en comparación con la solicitud. Con ello, se consigue la denegación de servicio por parte de la víctima, incluso más rápidamente que en otros ataques DrDoS.

Esquema del ataque a SSDP

Ilustración 2. Esquema del ataque a SNMP.

Prevención

El primer paso es saber si el servidor SNMP es vulnerable o no. Una opción es comprobar qué versión de SNMP se está usando. Para ello, se puede recurrir al siguiente comando, ejecutándolo en el sistema de comandos de la máquina donde esté instalado el servicio del SNMP:

snmpwalk –v 

Si la versión usada es la 1 o la 2, el servicio es vulnerable.

Otra opción es comprobar la disponibilidad desde el exterior del servicio SNMP. Para ello, se puede usar el siguiente comando de nmap:

nmap -sU -p 161,162 --script=snmp-info [IP a comprobar]

Si el comando devuelve información sobre el servidor SNMP, significa que el protocolo está abierto y, por tanto, es vulnerable.

Una vez comprobado lo anterior, a continuación se listan una serie de medidas preventivas que evitarán que un servidor SNMP sea utilizado en un ataque de DrDoS:

  • Actualizar el software. Se recomienda actualizar a la versión 3, SNMP v3, ya que solo esta es la que cuenta con más restricciones y políticas de seguridad, al cifrar los datos y disponer de una autenticación más robusta.
    Una vez que se disponga de esta versión, se recomienda implementar las máximas medidas de seguridad que ofrece. A través del siguiente comando se podrá seleccionar el nivel de seguridad deseado en cuanto a la autentificación y la privacidad en las comunicaciones basadas en este protocolo. Se recomienda la más prohibitiva, es decir, authPriv.
snmpget –l
  • No exponer a Internet el protocolo SNMP. Se recomienda el uso de VPN IPsec para comunicarse entre los distintos equipos de administración. Si exponerlo es imprescindible, se deben implementar firewalls con reglas que filtren solamente el tráfico a aquellas IP públicas reconocibles.
  • Utilizar redes VLAN. En ámbitos corporativos es recomendable el uso de este tipo de redes y subredes y la deshabilitación de accesos administrativos al resto de equipos de la red que no estén capacitados para ello.
  • No utilizar las comunidades private y public por defecto. Tanto en la versión 1 como en la 2 de SNMP, el nombre de la comunidad es la única manera de autentificación para el acceso al servidor SNMP. Por lo tanto, se aconseja reemplazar el uso de las comunidades definidas por defecto, “private” y “public”, por comunidades personalizadas y definidas por el administrador.

Detección y evidencias

Una forma de detectar si un servidor SNMP está siendo partícipe de un ataque DrDoS es realizar un monitoreo constante del mismo en busca de señales que alerten de un uso anormal. Una actividad muy intensa relacionada con el tráfico a través de los puertos UDP 161 o 162 alertará de un posible ataque.

Adicionalmente, analizar los paquetes de datos del tráfico permitiría conocer las direcciones IP de origen y encontrar evidencias de una posible falsificación de las mismas, confirmando así el ataque a terceros.

Para una detección temprana es recomendable el uso de herramientas de monitoreo, como un SIEM, o recurrir a las alertas que puede ofrecer un cortafuegos bien configurado, el cual detectará los picos de tráfico producidos por la masiva avalancha de paquetes.

Respuesta y recomendaciones

Si se confirma que un servidor SNMP propio está siendo víctima de un ciberataque de DrDoS, se deben tomar medidas rápidamente para minimizar los riesgos, tanto para el propio servicio como para la víctima, siguiendo un protocolo de actuación previamente elaborado para este tipo de ataques. El protocolo debe recoger las siguientes medidas:

  • Recopilar direcciones IP y puertos. Se deberá recabar toda la información posible, analizando los paquetes malintencionados, como las direcciones IP de origen y de destino y el puerto de destino.
  • Contactar con el proveedor de servicios de Internet (ISP). Con la información antes recopilada se contactará con el ISP y se le hará entrega de ella para que así pueda establecer filtros y bloquear las direcciones IP, entre otras medidas.
  • Bloquear y filtrar el tráfico. Se recomienda bloquear toda IP que no sea legítima.
  • Ponerse en contacto con INCIBE-CERT. De esta forma, se proporcionará ayuda para tomar medidas de mitigación y recuperación ante tales ataques.

Una vez restaurada la situación y verificado que todos los sistemas funcionan correctamente, es necesario analizar las causas del ciberataque y tomar medidas para que no vuelva a suceder.

Asimismo, este tipo de ciberataques pueden ser notificados a las autoridades pertinentes para que también lo investiguen.