Cómo hacer un reporte completo de vulnerabilidades de una página web
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:
- 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.
- 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.
- Validación responsable: confirmar un hallazgo, documentando exactamente lo observado para que el equipo de la aplicación pueda reproducirlo.
- 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:
- Título: frase corta y descriptiva (ej. "Exposición de subdominio de pruebas").
- Resumen ejecutivo (1–2 líneas): impacto general y activos afectados.
- Alcance / Activos afectados: dominios, URLs, entorno y credenciales usadas (si aplica y si está autorizado).
- Descripción técnica: explicar qué sucede de forma no operativa — cómo se manifiesta el problema.
- Impacto estimado: riesgo para la confidencialidad, integridad y disponibilidad; impacto en negocio y usuarios.
- Ejemplo reproducible seguro: evidencia reproducible en forma de capturas de pantalla, logs o fragmentos de respuesta. Anonimiza cualquier dato personal antes de incluirlo.
- Nivel de severidad: Bajo / Medio / Alto / Crítico (con justificación).
- Medidas de corrección: pasos concretos que el equipo técnico puede aplicar (actualizar versión, limitar acceso, aplicar parches, revisar configuración).
- 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
- Contacta al equipo propietario por canales seguros y documentados (correo de seguridad o formulario de contacto oficial).
- Proporciona un resumen ejecutivo y una versión técnica, y ofrece el ejemplo reproducible y la evidencia anonimizada.
- Establece un canal de comunicación para seguimiento y acuerda plazos razonables para la corrección.
- No publiques detalles técnicos ni el ejemplo reproducible hasta que el problema esté resuelto o hasta que el proveedor lo autorice.
- 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