Cómo hacer un reporte completo de vulnerabilidades de una página web

Introducción

Antes de empezar: autorización y alcance

  • Autorización previa: nunca pruebes sistemas sin permiso explícito. Un acuerdo por escrito o un programa de bug bounty/penetration testing autorizado es imprescindible.
  • Definir el alcance: URLs, dominios y subdominios permitidos, entornos (producción/staging), y pruebas excluidas.
  • Reglas de compromiso:límites de impacto (evitar interrupciones), manejo de datos sensibles y canales de comunicación con el equipo técnico.

Metodología (enfoque seguro y no intrusivo)

La metodología debe priorizar la seguridad del servicio y la privacidad de los usuarios. A modo general:

  1. Reconocimiento pasivo: enumerar URLs públicas, subdominios, tecnologías visibles y versiones expuestas mediante fuentes públicas y servicios de inventario. No realizar ataques activos en esta fase.
  2. Reconocimiento activo controlado: comprobaciones de configuración y exposición (paneles de administración públicos, formularios accesibles, endpoints documentados). Realiza pruebas y registra todo.
  3. Validación responsable: confirmar un hallazgo, documentando exactamente lo observado para que el equipo de la aplicación pueda reproducirlo.
  4. Clasificación y priorización: estimar el impacto y priorizar la corrección de acuerdo a riesgo para usuarios y negocio.

Nota: evita enumeración agresiva o fuerza bruta en entornos productivos sin autorización expresa.

Checklist de elementos a revisar (no intrusivo)

  • Documentar la existencia de URLs sensibles o paneles administrativos accesibles públicamente (por ejemplo: /admin, /login, /wp-admin) y cualquier subdominio relacionado (por ejemplo: admin.miweb.com).
  • Si existen versiones de algun framework vulnerables, anotar la versión o indicios de versión y si estan parcheadas no intentar explotarlos sin autorización expresa.
  • evitar pruebas destructivas (por ejemplo, no realizar fuerza bruta en entornos productivos). En su lugar, documentar la existencia de contraseñas débiles potenciales.
  • Comprobar si hay indicios de brechas históricas o filtraciones de credenciales relacionadas con el dominio (mencionar la posibilidad sin divulgar datos ni enlazar a servicios concretos por motivos de seguridad y ética).
  • Revisar formularios públicos (registro, contacto, etc.) y documentar si las respuestas contienen campos adicionales que no deberían estar.
  • Si existe un flujo de registro/login, documentar comportamientos anómalos (por ejemplo: registro activo pero login deshabilitado) que puedan crear vectores involuntarios de exposición (y es ilogico tener registro pero no login activo).
  • Verificar si las respuestas de ciertos endpoints devuelven información de roles, privilegios u otros datos sensibles; registrar estos hallazgos sin intentar modificar roles ni privilegios.
  • Identificar tecnologías visibles (CMS, bases de datos, plugins, etc.) y anotar sus versiones para comprobar si hay correcciones o actualizaciones recomendadas; documentar vulnerabilidades conocidas relevantes sin ejecutar exploits.
  • Enumerar subdominios y entornos de prueba (por ejemplo: pruebaweb.miweb.com, staging.miweb.com); advertir sobre la existencia de entornos temporales o de desarrollo que puedan contener información sensible y recomendar su protección o eliminación si no son necesarios.

Cómo documentar cada hallazgo (plantilla práctica)

Para cada hallazgo detectado, incluye los siguientes apartados en el informe:

  1. Título: frase corta y descriptiva (ej. "Exposición de subdominio de pruebas").
  2. Resumen ejecutivo (1–2 líneas): impacto general y activos afectados.
  3. Alcance / Activos afectados: dominios, URLs, entorno y credenciales usadas (si aplica y si está autorizado).
  4. Descripción técnica: explicar qué sucede de forma no operativa — cómo se manifiesta el problema.
  5. Impacto estimado: riesgo para la confidencialidad, integridad y disponibilidad; impacto en negocio y usuarios.
  6. Ejemplo reproducible seguro: evidencia reproducible en forma de capturas de pantalla, logs o fragmentos de respuesta. Anonimiza cualquier dato personal antes de incluirlo.
  7. Nivel de severidad: Bajo / Medio / Alto / Crítico (con justificación).
  8. Medidas de corrección: pasos concretos que el equipo técnico puede aplicar (actualizar versión, limitar acceso, aplicar parches, revisar configuración).
  9. Notas y referencias: enlaces a documentación oficial o guías de parcheo (sin incluir exploits).

Clasificación de severidad (orientativa)

Una clasificación clara ayuda a priorizar:

  • Crítico: acceso completo a datos sensibles o posibilidad de comprometer la plataforma sin intervención adicional.
  • Alto: fallos que permiten manipulación de datos importantes o escalado de privilegios en condiciones comunes.
  • Medio: exposición de configuraciones, datos parcialmente sensibles o vectores que requieren condiciones específicas para explotarse.
  • Bajo: información de contexto, cabeceras ausentes, configuraciones recomendables pero de bajo impacto inmediato.

Si empleas métricas formales (p. ej., CVSS) incluye la puntuación y vector en el informe.

Evidencia y manejo de la misma

Documentar bien la evidencia para que el equipo pueda validar los hallazgos:

  • Incluye solo la parte necesaria de logs o capturas; elimina datos personales o secretos antes de compartir.
  • Guarda y entrega evidencia en formatos comunes (capturas PNG, PDFs, .txt con respuestas HTTP).
  • Si la incidencia afecta a cuentas, comunica el riesgo sin divulgar contraseñas ni credenciales en el informe.

Recomendaciones de mitigación (ejemplos generales)

  • Mantener software y dependencias actualizadas; aplicar parches publicados por los proveedores.
  • Restringir acceso a paneles administrativos (VPN, listas de IP permitidas, autenticación robusta).
  • Revisar subdominios y entornos de prueba: eliminarlos o protegerlos si no son necesarios.
  • Revisar y aplicar políticas de contraseñas y rotación de credenciales; activar doble factor allí donde sea posible.
  • Implementar y revisar cabeceras de seguridad (CSP, HSTS, X-Frame-Options, etc.) y prácticas de endurecimiento.
  • Realizar revisiones periódicas y pruebas autorizadas por terceros para validar las correcciones.

Proceso de notificación coordinada

  1. Contacta al equipo propietario por canales seguros y documentados (correo de seguridad o formulario de contacto oficial).
  2. Proporciona un resumen ejecutivo y una versión técnica, y ofrece el ejemplo reproducible y la evidencia anonimizada.
  3. Establece un canal de comunicación para seguimiento y acuerda plazos razonables para la corrección.
  4. No publiques detalles técnicos ni el ejemplo reproducible hasta que el problema esté resuelto o hasta que el proveedor lo autorice.
  5. Si no recibes respuesta, considera escalar a contactos superiores o a plataformas de notificación coordinada —siempre documentando tus intentos de contacto.

Herramientas y recursos (categorías)

Para cada actividad es útil conocer herramientas/recursos, pero usa siempre herramientas autorizadas y configuradas para pruebas seguras:

  • Detección e inventariado: servicios de DNS, certificados y registros públicos para identificar subdominios y tecnología.
  • Revisión pasiva: fuentes públicas y feeds de seguridad para ver si existen CVE aplicables a versiones detectadas.
  • Comprobación no destructiva: proxies y escáneres configurados para pruebas seguras y con límites de velocidad.
  • Documentación de seguridad: guías oficiales del software usado y entradas CVE para versiones conocidas.

Evita compartir o publicar enlaces a explotaciones; en su lugar, enlaza a documentación oficial de parches y mitigaciones.

Plantilla resumida (para copiar en el reporte)

Título: 
Resumen ejecutivo: 
Activo(s) afectado(s): 
Fecha de descubrimiento: 
Descripción técnica: 
Impacto estimado: 
Evidencia (sanitizada): 
Severidad: 
Recomendaciones: 
Contacto para seguimiento:
        

← Volver al blog