Tema 10

10. Enumeración de servicios: DNS, SMB, FTP, SSH, SMTP, HTTP y bases de datos

La enumeración convierte puertos abiertos en conocimiento útil. Cada servicio tiene preguntas propias: qué versión usa, cómo autentica, qué información expone, qué permisos aplica y qué señales indican una configuración débil.

Objetivo Profundizar en servicios detectados durante el escaneo
Enfoque Protocolos, exposición y configuración
Resultado Preparar hallazgos para análisis de vulnerabilidades

10.1 Introducción

El escaneo de puertos indica qué servicios están accesibles. La enumeración busca entender esos servicios con más profundidad: versión, configuración, autenticación, recursos expuestos, permisos, errores y comportamiento.

Enumerar no es explotar. Es observar, consultar y validar información para decidir si existe una debilidad real y qué tan relevante es. Una buena enumeración reduce falsos positivos y evita intentos de explotación innecesarios.

En este tema revisaremos servicios frecuentes en pentesting: DNS, SMB, FTP, SSH, SMTP, HTTP y bases de datos. El objetivo es aprender qué mirar en cada caso y cómo convertir respuestas técnicas en hipótesis de riesgo.

10.2 Qué significa enumerar un servicio

Enumerar un servicio significa recolectar información específica sobre su funcionamiento. A diferencia del escaneo, que responde "qué está abierto", la enumeración responde "qué es, cómo está configurado y qué expone".

  • Identificar versión, producto y rol del servicio.
  • Determinar si requiere autenticación.
  • Revisar recursos accesibles sin credenciales.
  • Probar usuarios o roles de laboratorio cuando estén autorizados.
  • Observar mensajes de error y diferencias de respuesta.
  • Detectar configuración insegura o exposición innecesaria.
  • Documentar evidencias con bajo impacto.
La enumeración profesional busca precisión. No se trata de lanzar todas las pruebas disponibles, sino de hacer las preguntas correctas al servicio correcto.

10.3 Principios de enumeración segura

La enumeración puede parecer inofensiva, pero algunas consultas generan carga, alertas, bloqueos o exposición de datos. Por eso debe ejecutarse con límites claros.

  • Respetar alcance, ventanas e intensidad acordada.
  • Evitar fuerza bruta si no fue autorizada explícitamente.
  • Usar cuentas de prueba o credenciales provistas cuando corresponda.
  • No descargar más datos de los necesarios para evidenciar un hallazgo.
  • No modificar configuraciones ni archivos.
  • Registrar fuente, hora, método y resultado.
  • Pausar si el servicio muestra degradación o bloqueo inesperado.

10.4 Flujo general de enumeración

Un flujo ordenado permite comparar servicios sin perder contexto.

  1. Confirmar puerto, protocolo y servicio probable.
  2. Obtener banner o respuesta inicial.
  3. Identificar versión, producto o tecnología.
  4. Revisar si el servicio permite acceso anónimo o no autenticado.
  5. Validar comportamiento con credenciales autorizadas si existen.
  6. Listar recursos visibles dentro de límites seguros.
  7. Registrar errores, mensajes y diferencias de respuesta.
  8. Relacionar resultados con posibles vulnerabilidades o malas prácticas.
  9. Priorizar hallazgos para análisis posterior.

10.5 Enumeración DNS

DNS puede revelar dominios, subdominios, servidores de correo, nombres internos, proveedores y errores de configuración. Es un servicio clave tanto en superficie externa como en redes internas.

Preguntas principales:

  • ¿Qué registros existen para el dominio?
  • ¿Qué servidores son autoritativos?
  • ¿Existen registros MX, TXT, SPF, DKIM o DMARC relevantes?
  • ¿Hay subdominios activos o históricos?
  • ¿El servidor permite transferencia de zona no autorizada?
  • ¿La resolución interna revela nombres sensibles?
Una transferencia de zona mal configurada puede exponer gran parte del mapa interno de nombres de una organización.

10.6 Registros DNS de interés

Registro Qué indica Utilidad en pentesting
A / AAAA Direcciones IPv4 o IPv6 Identificar hosts y superficie expuesta
CNAME Alias hacia otro nombre Detectar proveedores, SaaS o subdominios delegados
MX Servidores de correo Reconocer infraestructura de email y proveedores
NS Servidores autoritativos Determinar quién administra la zona
TXT Políticas, verificaciones y metadatos Identificar SPF, DKIM, DMARC, servicios externos
SRV Servicios específicos y puertos Útil en Active Directory, VoIP y servicios internos

10.7 Enumeración SMB

SMB es frecuente en entornos Windows y redes corporativas. Puede exponer recursos compartidos, nombres de equipos, usuarios, grupos, políticas y versiones. Debe enumerarse con cuidado porque puede revelar mucha información interna.

Preguntas principales:

  • ¿Qué versión de SMB está habilitada?
  • ¿Existen recursos compartidos visibles?
  • ¿Permite acceso anónimo o sesión nula?
  • ¿Qué permisos tiene cada recurso?
  • ¿Se puede listar usuarios, grupos o políticas?
  • ¿Está habilitada la firma SMB?
  • ¿Hay archivos sensibles accesibles por mala configuración?

10.8 Riesgos típicos en SMB

Riesgo Indicador Impacto posible
Compartidos abiertos Lectura sin autenticación o con usuario común Exposición de documentos, scripts o respaldos
Permisos excesivos Usuarios pueden escribir donde no deberían Alteración de archivos o abuso de rutas compartidas
SMB obsoleto Versiones antiguas habilitadas Mayor exposición a vulnerabilidades conocidas
Enumeración de usuarios Listado de nombres o grupos accesible Facilita ataques de credenciales si están autorizados
Archivos sensibles Credenciales, backups, scripts o configuraciones Escalada de acceso o movimiento lateral

10.9 Enumeración FTP

FTP es un protocolo antiguo que aún aparece en muchas redes. Puede ser riesgoso porque transmite credenciales en claro si no se usa una variante protegida y porque a menudo se configura con acceso anónimo o permisos amplios.

Preguntas principales:

  • ¿Permite acceso anónimo?
  • ¿Qué banner o versión expone?
  • ¿Permite listar directorios?
  • ¿Existen archivos sensibles visibles?
  • ¿Hay permisos de escritura?
  • ¿Usa cifrado o transmite credenciales en claro?
  • ¿El servicio debería estar expuesto desde esa red?
En FTP, permiso de escritura anónimo o archivos sensibles accesibles suelen ser hallazgos de alto valor, incluso sin explotación compleja.

10.10 Enumeración SSH

SSH es un servicio de administración remota. Suele ser seguro cuando está actualizado y bien configurado, pero una mala política de acceso puede convertirlo en una entrada crítica.

Aspectos a revisar:

  • Versión del servidor y algoritmos soportados.
  • Si permite autenticación por contraseña, clave o ambos.
  • Si permite acceso directo de root.
  • Política de intentos, bloqueo y rate limiting.
  • Usuarios válidos si el alcance autoriza esa verificación.
  • Exposición desde internet o redes no esperadas.
  • Configuración de banners legales o de advertencia.

No debe realizarse fuerza bruta salvo autorización explícita. Enumerar SSH no implica probar listas de contraseñas.

10.11 Señales de configuración débil en SSH

Señal Riesgo Recomendación típica
Acceso root directo Mayor impacto ante credencial comprometida Deshabilitar root remoto y usar sudo controlado
Contraseñas habilitadas Exposición a ataques de credenciales Preferir claves y MFA donde aplique
Algoritmos débiles Criptografía obsoleta Actualizar configuración criptográfica
Sin rate limiting Mayor abuso de intentos de login Aplicar restricciones, monitoreo y bloqueo
Exposición pública innecesaria Aumenta superficie externa Restringir por VPN, bastión o listas permitidas

10.12 Enumeración SMTP

SMTP puede revelar infraestructura de correo, políticas antispam, dominios aceptados, usuarios válidos y configuraciones débiles. La enumeración debe ser cuidadosa porque puede generar alertas o afectar reputación si se abusa.

Preguntas principales:

  • ¿Qué banner expone el servidor?
  • ¿Qué dominios acepta?
  • ¿Permite relay abierto?
  • ¿Expone usuarios mediante comandos o diferencias de respuesta?
  • ¿Qué políticas SPF, DKIM y DMARC existen?
  • ¿El servidor está protegido por gateway o servicio externo?
Probar relay o enumeración de usuarios en correo debe hacerse con límites estrictos y autorización clara para evitar abuso o impacto reputacional.

10.13 Enumeración HTTP y HTTPS

HTTP y HTTPS suelen ser los servicios con mayor superficie. La enumeración web revisa rutas, tecnologías, cabeceras, certificados, autenticación, sesiones, archivos expuestos y comportamiento de la aplicación.

  • Identificar servidor, framework, CMS o stack tecnológico.
  • Revisar cabeceras de seguridad y cookies.
  • Detectar rutas públicas, paneles, documentación y endpoints.
  • Observar redirecciones, códigos de estado y mensajes de error.
  • Comparar comportamiento autenticado y no autenticado.
  • Revisar robots.txt, sitemap.xml y archivos comunes.
  • Identificar WAF, CDN o proxy inverso.

10.14 Cabeceras y cookies en servicios web

Elemento Qué revisar Riesgo posible
Server / X-Powered-By Información de tecnología Fuga de versión o stack
Set-Cookie Secure, HttpOnly, SameSite, expiración Robo o abuso de sesión
Content-Security-Policy Política contra inyección de contenido Mayor impacto ante XSS
Strict-Transport-Security Uso forzado de HTTPS Exposición a downgrade o uso de HTTP
Location Redirecciones y flujos Fugas de dominios internos o open redirect

10.15 Enumeración de directorios y endpoints

La búsqueda de rutas y endpoints ayuda a descubrir contenido no enlazado, documentación, paneles, APIs, respaldos o archivos de configuración. Debe realizarse con listas razonables e intensidad controlada.

Objetivos comunes:

  • Paneles administrativos.
  • Endpoints de API.
  • Archivos de respaldo o temporales.
  • Documentación técnica.
  • Directorios listables.
  • Rutas de carga o descarga.
  • Archivos de configuración publicados por error.

La enumeración de rutas no debe convertirse en ataque de fuerza bruta agresivo si no fue aprobado.

10.16 Enumeración de bases de datos

Las bases de datos expuestas son críticas porque pueden contener información sensible o permitir acciones de alto impacto. La enumeración busca determinar si el servicio está expuesto, qué versión usa, cómo autentica y qué permisos existen.

Servicios frecuentes:

  • MySQL o MariaDB en 3306/TCP.
  • PostgreSQL en 5432/TCP.
  • Microsoft SQL Server en 1433/TCP.
  • MongoDB en 27017/TCP.
  • Redis en 6379/TCP.
  • Elasticsearch en 9200/TCP.

Si la base requiere credenciales, no se deben probar combinaciones no autorizadas. Si se usan credenciales provistas, la enumeración debe limitarse a permisos y datos necesarios para la evaluación.

10.17 Riesgos típicos en bases de datos

Riesgo Indicador Impacto
Exposición innecesaria Puerto accesible desde internet o redes amplias Aumenta superficie de ataque
Sin autenticación o débil Acceso directo o credenciales por defecto Lectura, modificación o borrado de datos
Permisos excesivos Usuario de aplicación con privilegios administrativos Escalada de impacto ante compromiso
Versiones obsoletas Producto sin soporte o sin parches Exposición a vulnerabilidades conocidas
Datos sensibles sin control Tablas, índices o documentos accesibles de más Exfiltración o incumplimiento normativo

10.18 Enumeración autenticada

Cuando el alcance proporciona credenciales, la enumeración puede ser más precisa. Permite revisar permisos reales, visibilidad por rol y exposición interna sin recurrir a suposiciones.

  • Comparar permisos entre usuario común, operador y administrador de prueba.
  • Verificar si un usuario puede acceder a recursos de otro.
  • Listar solo datos mínimos necesarios para demostrar el permiso.
  • Registrar el rol usado en cada evidencia.
  • No modificar datos salvo que esté expresamente autorizado.
  • Evitar usar cuentas reales de empleados si existen cuentas de laboratorio.

10.19 Señales de información sensible expuesta

Durante la enumeración pueden aparecer datos que no deberían estar disponibles. El objetivo es evidenciar la exposición sin incrementar el daño.

  • Credenciales en archivos, scripts o repositorios.
  • Backups descargables.
  • Archivos .env, config.php, web.config o similares.
  • Listados de usuarios o correos internos.
  • Documentación técnica privada.
  • Tokens, claves API o certificados privados.
  • Datos personales o registros de clientes.
Si encuentras datos sensibles, registra evidencia mínima, evita descargas masivas y comunica el hallazgo según las reglas del proyecto.

10.20 Correlación entre servicios

Los servicios no deben analizarse siempre de forma aislada. La información de un servicio puede explicar o facilitar la revisión de otro.

Dato encontrado Servicio origen Uso posible
Nombre de host interno DNS, TLS o HTTP Relacionar servicios y roles
Usuario o correo SMTP, SMB, web Validar patrones de identidad dentro del alcance
Archivo de configuración HTTP, FTP, SMB Identificar dependencias o secretos expuestos
Versión de aplicación HTTP o banner Investigar vulnerabilidades conocidas
Nombre de base de datos Archivo web o error Entender arquitectura y criticidad

10.21 Documentación de enumeración

La documentación debe permitir reproducir la observación sin exponer más información de la necesaria. Conviene registrar servicio, método, resultado, evidencia y nivel de sensibilidad.

  • Host, puerto y protocolo.
  • Servicio identificado y versión estimada.
  • Si la prueba fue autenticada o no autenticada.
  • Recursos visibles o accesibles.
  • Permisos observados.
  • Mensajes de error o banners relevantes.
  • Evidencia mínima y protegida.
  • Hipótesis de riesgo para análisis posterior.

10.22 Matriz de enumeración por servicio

Servicio Qué enumerar Prioridad si...
DNS Registros, zonas, subdominios, políticas Revela nombres internos o transferencia de zona
SMB Shares, permisos, usuarios, versión Hay acceso anónimo o archivos sensibles
FTP Login anónimo, listado, escritura, archivos Permite lectura o escritura no esperada
SSH Versión, métodos de auth, políticas Está expuesto a internet sin controles fuertes
SMTP Relay, dominios, usuarios, políticas Permite relay o enumeración de cuentas
HTTP Rutas, cabeceras, cookies, tecnologías Hay login, datos sensibles o paneles
Bases de datos Exposición, versión, auth, permisos Son accesibles desde redes no esperadas

10.23 Errores frecuentes

  • Confundir enumeración con explotación.
  • Ejecutar fuerza bruta sin autorización explícita.
  • Descargar demasiados datos para evidenciar un hallazgo.
  • Asumir que un banner es siempre correcto.
  • No distinguir resultados autenticados y no autenticados.
  • Ignorar servicios internos porque no están expuestos a internet.
  • No correlacionar información entre protocolos.
  • Reportar datos sensibles completos en vez de evidencia mínima.

10.24 Flujo práctico de enumeración

Un flujo de trabajo útil para esta fase puede ser:

  1. Tomar la lista de puertos y servicios detectados en el escaneo.
  2. Clasificar servicios por criticidad y exposición.
  3. Enumerar primero servicios de administración, web, identidad y datos.
  4. Obtener versión, configuración visible y requisitos de autenticación.
  5. Probar acceso anónimo o no autenticado solo cuando sea seguro y permitido.
  6. Usar credenciales autorizadas si forman parte del alcance.
  7. Registrar evidencia mínima y nivel de sensibilidad.
  8. Correlacionar datos entre servicios.
  9. Preparar hallazgos para análisis y validación de vulnerabilidades.

10.25 Qué debes recordar de este tema

  • Enumerar es profundizar sobre servicios detectados, no explotarlos directamente.
  • Cada protocolo tiene preguntas, riesgos y evidencias propias.
  • DNS, SMB, FTP, SSH, SMTP, HTTP y bases de datos pueden revelar información crítica.
  • El acceso anónimo, permisos excesivos y datos sensibles expuestos son señales importantes.
  • La enumeración autenticada debe usar cuentas autorizadas y documentar el rol utilizado.
  • La evidencia debe ser suficiente, pero mínima para no aumentar la exposición.

10.26 Conclusión

La enumeración es una de las fases más importantes del pentesting. Permite comprender los servicios con precisión, detectar configuraciones débiles y construir hipótesis sólidas antes de pasar a validación de vulnerabilidades.

En el próximo tema veremos cómo analizar y validar vulnerabilidades sin afectar la disponibilidad, diferenciando hallazgos reales de falsos positivos y eligiendo evidencias proporcionales al riesgo.