Ciberataques DrDoS basados en el protocolo SNMP

  • 06/05/2022
  • 354
Ciberataques DrDoS basados en el protocolo SNMP

Los ataques de Denegación de Servicio (DoSDenial of Service) surgieron con el objetivo de inhabilitar una red, un sistema o una aplicación, impidiendo que los usuarios pudieran hacer uso de esos sistemas. Para llevarlos a cabo, los atacantes pueden provocar un fallo mediante la explotación de alguna vulnerabilidad del sistema, algo que no siempre es factible, ya que estas suelen ser corregidas mediante actualizaciones o es necesario encontrarse en la misma red. Por esta razón, la alternativa más asequible para los atacantes es colapsar los recursos del sistema, exigiendo una carga de trabajo superior a la capacidad del proceso, algo viable en la mayoría de los sistemas con presencia en Internet.

Realizar esta acción de estas características desde un único equipo es complicado, por lo que surgió la variante de ataque Denegación de Servicio Distribuida (DDoSDistributed Denial of Service) que consiste en lanzar las peticiones desde una red de ordenadores constituida por un gran número de equipos sobre los que previamente se ha tomado el control (botnet). Este tipo de redes  puede ser monetizado como un servicio del tipo CaaS (Crime a as Service), es decir, la red de equipos bajo control se vende o alquila a un tercero, para que este sea quién los utilice en sus ataques.

Ante la utilización de algunos protocolos que no se diseñaron teniendo en cuenta la seguridad y este tipo de ataques, surgió la Denegación de Servicio Distribuido Reflejado (DrDoSDistributed Reflection/Reflective Denial of Service) que rápidamente se ha extrapolado a otros entornos. Además, el aumento del número de dispositivos de IoT, representa nuevas posibilidades, ya que podrían ser comprometidos y comportarse como un elemento más de una botnet. En esta variante, los atacantes, no se conforman con lanzar un gran volumen de peticiones a sus objetivos, sino que buscan que los paquetes de petición o acceso al servicio que se desea utilizar como base para el ataque sean originados con un pequeño tamaño para generar el mayor número posible de ellos.

Adicionalmente, se apoyan en un sistema intermedio que incrementa el tamaño y complejidad de los paquetes de respuesta, según la petición. Estas respuestas son redirigidas hacia el sistema objeto del ataque, sustituyendo la dirección IP real de origen por la del sistema que se quiere atacar. De esta forma, un paquete con petición de servicio lanzado por el atacante con un tamaño de pocos KB o incluso de Bytes, a través de un sistema intermedio denominado ‘amplificador’, se convierte en un paquete de respuesta que se redirige al sistema objetivo del ataque con un tamaño significativamente mayor, lo que se conoce como factor de amplificación o factor multiplicador.

Ataques DrDoS empleando 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.

 

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.

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:

1. 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

2. 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.

3. 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.

4. 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:

1. 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.

2. Contactar con el proveedor de servicios de Internet. 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.

3. Bloquear y filtrar el tráfico. Se recomienda bloquear toda IP que no sea legítima.

4. Reportar incidente al CSIRT-BCF y al CuCERT. 

 

Referencias:

  • https://www.incibe-cert.es/blog/drdos-caracteristicas-y-funcionamiento
  • https://www.incibe-cert.es/blog/ciberataques-drdos-basados-el-protocolo-snmp