La enumeración es el proceso de extraer nombres de usuario, nombres de máquinas, recursos de red, recursos compartidos y servicios de un sistema o red. En la fase de enumeración, el atacante crea conexiones activas con el sistema y realiza consultas dirigidas para obtener más información sobre el objetivo. Los atacantes utilizan la información recopilada mediante enumeración para identificar las vulnerabilidades o puntos débiles en la seguridad del sistema, lo que les ayuda a explotar el sistema objetivo. Permite al atacante realizar ataques de contraseña para obtener acceso no autorizado a los recursos del sistema de información. Las técnicas de enumeración funcionan en un entorno de intranet.
En este artículo analizamos qué es un ataque de enumeración, cómo funciona y cómo prevenirlo.
Indice
¿Qué es un ataque de enumeración?
Un ataque de enumeración ocurre cuando los ciberdelincuentes usan métodos de fuerza bruta para verificar si ciertos datos existen en la base de datos de un servidor web.
Para ataques de enumeración simples, estos datos podrían incluir nombres de usuario y contraseñas. Los ataques más sofisticados podrían descubrir nombres de host, SNMP y detalles de DNS, e incluso confirmar configuraciones de red deficientes.
Cada módulo de aplicación web que se comunica con una base de datos de usuario podría convertirse en un vector de ataque de enumeración si no se protege.
Los dos objetivos de aplicaciones web más comunes para los ataques de enumeración son:
- La página de inicio de sesión
- Página de restablecimiento de contraseña
Debido a que las vulnerabilidades que facilitan estos ataques permiten a los piratas informáticos cruzar una frontera de seguridad de la información, la enumeración es un componente crítico de las pruebas de penetración.
¿Cómo funcionan?
Durante un ataque de enumeración, los piratas informáticos buscan respuestas de servidor únicas que confirmen la validez de una credencial enviada.
La respuesta más obvia es un mensaje de autenticación de campo después del envío de un formulario web. Para explicar este proceso, usaremos un ejemplo de un ataque de enumeración de nombre de usuario, cuando los atacantes intentan encontrar nombres de usuario en una base de datos de servidor web.
Ataques de enumeración de nombre de usuario
Esta secuencia de ataque generalmente comienza centrándose solo en los nombres de usuario. El objetivo en esta etapa es encontrar tantos nombres de usuario válidos en una base de datos como sea posible.
Un servidor web con una aplicación deficiente de seguridad identificará un nombre de usuario inexistente con un mensaje de nombre de usuario no válido.
Debido a que este mensaje solo confirma la validez del nombre de usuario, un actor de amenazas puede confirmar que el nombre de usuario no se encuentra en la base de datos del servidor web.
Un ciberdelincuente enviará la misma contraseña con diferentes variaciones de nombre de usuario hasta que se establezca una lista suficiente de nombres de usuario validados.
Las variantes de nombre de usuario se encuentran en listas compradas de credenciales filtradas o se generan con técnicas de ataque de fuerza bruta.
Los ciberatacantes luego repetirán el proceso con contraseñas, realizando técnicas de fuerza bruta contra todos los nombres de usuario validados hasta que finalmente se logre una combinación ganadora.
Este tipo de ataque se puede realizar en cualquier función de aplicación web que incluya verificaciones de base de datos en sus procesos.
Cómo prevenir ataques de enumeración de mensajes de respuesta del servidor
El mejor método para ocultar los mensajes de confirmación del servidor es mostrar un mensaje genérico después de intentos fallidos de inicio de sesión, uno que no especifique qué campo era incorrecto.
Validación de entradas con tiempos de respuesta del servidor
El mecanismo de retroalimentación anterior es el escenario ideal para los ciberataques. Por lo general, las respuestas del servidor que validan las entradas del formulario son mucho más sutiles.
Un enfoque más sofisticado es monitorizar los tiempos de respuesta del servidor con herramientas de prueba de penetración. Por lo general, los servidores tardan más en responder a las entradas de nombre de usuario no válidas que en responder a las entradas de nombre de usuario válidas.
Cómo prevenir ataques de enumeración basados en la respuesta de tiempo del servidor
Para evitar que los piratas informáticos identifiquen relaciones entre los tiempos de respuesta del servidor y las entradas de datos válidas, los desarrolladores de aplicaciones web deben evitar secuencias de tiempo predecibles.
Las respuestas del servidor deben rellenarse con marcos de tiempo aleatorios para las entradas correctas e incorrectas.
Ejemplos de ataques de enumeración compleja
Los ataques de enumeración complejos se utilizan en misiones de reconocimiento para identificar vulnerabilidades de software explorables. A continuación se enumeran algunos ejemplos de tales ataques.
Enumeración LDAP
El Protocolo ligero de acceso a directorios (LDAP) es un protocolo que se utiliza para acceder a los servicios de directorio: estructuras jerárquicas de registros de usuarios.
Un ataque de enumeración LDAP exitoso podría revelar la siguiente información confidencial:
- Nombres de usuario
- Direcciones
- Información del contacto
- Información del sector empresarial
Para evitar ataques de enumeración LDAP, podemos utilizar los siguientes controles de seguridad:
- Utiliza SSL para cifrar la comunicación LDAP
- Restringe los ataques de fuerza bruta habilitando el bloqueo de cuentas
- Restringir el acceso a usuarios conocidos mediante Kerberos.
Enumeración NetBIOS
El sistema básico de entrada y salida de red (NetBIOS) se utiliza como una API que permite que los puntos finales accedan a los recursos de la LAN.
Cada protocolo NetBIOS se compone de una cadena única de 16 caracteres que identifica los dispositivos de red a través de TCP / IP.
Para facilitar los ataques de enumeración NetBIOS, es necesario habilitar los servicios de archivos e impresoras. Estos ataques ocurren a través del puerto 139 en el sistema operativo de Microsoft.
Un ataque de enumeración NetBIOS exitoso podría hacer posibles los siguientes ataques en la máquina comprometida.
- El punto final comprometido podría reclutarse en una Botnet y usarse para lanzar ataques DDoS.
- Los ciberdelincuentes podrían ejecutar cuentas de acceso privilegiado enumeradas más para obtener acceso a recursos confidenciales.
Para evitar ataques de enumeración NetBIOS, podemos realizar los siguientes controles de seguridad:
- Eliminar la impresora y el uso compartido de archivos en los sistemas operativos Windows.
- Minimizar la superficie de ataque limitando los servicios innecesarios.
Enumeración SNMP
El Protocolo simple de administración de red (SNMP) es un marco para solicitar o modificar información en dispositivos en red. SNMP es independiente del software, lo que significa que los dispositivos en red pueden acceder independientemente del tipo de software que estén ejecutando.
Los ciberataques enumeran SNMP en dispositivos remotos para recopilar la siguiente inteligencia:
- Comportamiento del tráfico
- Identificadores de dispositivos remotos
- Identificación de información sobre dispositivos y recursos en red.
Para evitar ataques de enumeración SNMP, podemos realizar los siguientes controles de seguridad:
- Cambiar cadenas de comunidad predeterminadas públicas
- Minimizar la superficie de ataque eliminando los agentes SNMP donde no son necesarios.
- Implementar una política de grupo para restringir las conexiones anónimas
- Implementar firewalls
- Cifrar y autenticar con IPSEC.
Cómo prevenir ataques de enumeración
A continuación se enumeran algunos controles de ciberseguridad que podrían prevenir todos los tipos de ataques de enumeración.
- Autenticación de múltiples factores (MFA): al requerir MFA con cada intento de inicio de sesión, los ciberdelincuentes no tendrán acceso a ninguna respuesta del servidor sin enviar primero los tokens de autenticación correctos. Es muy poco probable que los ciberataques también hayan comprometido los puntos finales separados que reciben estos tokens.
Use CAPTCHA en todos los formularios: los CAPTCHA no son tan efectivos como MFA pero bloquean eficazmente los ataques de enumeración automatizados. - Limite los intentos de inicio de sesión: CAPTCHAS y MFA incomodan a los ciberataques al agregar latencia a cada intento de inicio de sesión. Esta frustración se puede amplificar aún más con la limitación de velocidad, cuando el proceso de inicio de sesión se bloquea más allá de un número establecido de intentos fallidos desde la misma dirección IP.
- Use un firewall de aplicaciones web (WAF): los WAF pueden bloquear los intentos de inicio de sesión sospechosos que provienen de una sola dirección IP.
- Implementar capacitación en conciencia cibernética: capacite al personal para identificar tácticas comunes que se utilizan para robar información confidencial fuera de los métodos de enumeración, como la ingeniería social y el phishing .
- Ofuscar las respuestas de la API: si un formulario de inicio de sesión llama a una API, asegúrese de que estos mensajes no revelen la validez de cada entrada de campo individual.