Tema 13
Explotar una vulnerabilidad en un pentest no significa causar el máximo daño posible. Significa demostrar impacto con el menor nivel de intrusión suficiente, respetando alcance, disponibilidad, datos y trazabilidad.
La explotación controlada es una de las fases más delicadas de una prueba de penetración. En esta etapa se intenta demostrar que una vulnerabilidad puede producir impacto real, pero sin convertir la validación en un incidente.
El objetivo no es obtener todos los datos posibles, modificar sistemas o demostrar superioridad técnica. El objetivo es reunir evidencia suficiente para que la organización entienda el riesgo y pueda corregirlo.
En este tema veremos cuándo explotar, cómo diseñar una prueba de concepto, qué límites respetar, cómo recolectar evidencias y cómo documentar resultados sin aumentar la exposición.
Explotación controlada es la validación técnica de una vulnerabilidad bajo condiciones acordadas, con medidas para limitar impacto operativo y exposición de datos.
Una explotación controlada debe cumplir estas condiciones:
No todo hallazgo necesita explotación. A veces basta con evidencia indirecta, configuración vulnerable o documentación oficial. Otras veces, una prueba de concepto limitada es necesaria para demostrar impacto real.
| Situación | Conviene explotar | Alternativa |
|---|---|---|
| Falla de control de acceso con usuarios de prueba | Sí, si se puede demostrar sin datos reales | Comparar respuestas por rol |
| Vulnerabilidad de denegación de servicio | No en producción, salvo autorización específica | Validar por versión, configuración y advisory |
| Archivo sensible expuesto | Solo lectura mínima | Captura parcial y ruta del recurso |
| RCE potencial | Solo con comando inocuo y permitido | Laboratorio o evidencia indirecta |
| Versión vulnerable parcheada por backport | No necesariamente | Confirmar paquete y advisory del proveedor |
Una prueba de concepto, o PoC, demuestra que una vulnerabilidad existe y tiene impacto. En pentesting profesional, una PoC debe ser clara, reproducible, limitada y segura.
Una buena PoC incluye:
| Característica | Qué significa | Ejemplo |
|---|---|---|
| Mínima | Hace solo lo necesario para demostrar el hallazgo | Leer un registro de prueba, no toda una tabla |
| Reversible | No deja cambios permanentes o permite limpiarlos | Crear y eliminar un archivo de prueba autorizado |
| Reproducible | Puede repetirse bajo las mismas condiciones | Incluye rol, endpoint y petición usada |
| Limitada | No excede datos, sistemas ni acciones aprobadas | Usar usuario de laboratorio y entorno definido |
| Clara | Explica impacto sin depender de jerga innecesaria | Demuestra acceso a función administrativa no autorizada |
Antes de explotar hay que saber exactamente qué se quiere demostrar. Si el objetivo no está claro, la prueba puede volverse innecesariamente invasiva.
En aplicaciones web, la explotación controlada suele trabajar con peticiones HTTP, sesiones, roles y entradas de usuario. Es importante usar cuentas y datos de laboratorio siempre que sea posible.
Ejemplos de validación segura:
En servicios de red, la explotación puede tener más riesgo operativo. Algunas vulnerabilidades provocan caídas, corrupción de memoria o estados inestables. En producción, conviene preferir pruebas no destructivas.
Muchas vulnerabilidades requieren usuario válido. En esos casos, se deben usar credenciales autorizadas, preferentemente cuentas de laboratorio con roles claros.
Aspectos a documentar:
La explotación puede revelar datos sensibles. El manejo responsable exige reducir al mínimo la exposición durante la prueba y en el reporte.
La evidencia es el respaldo del hallazgo. Debe ser suficiente para convencer, reproducir y remediar, pero debe recolectarse y almacenarse de forma segura.
| Tipo de evidencia | Uso | Cuidado |
|---|---|---|
| Captura de pantalla | Mostrar resultado visual | Ocultar datos sensibles no necesarios |
| Petición y respuesta HTTP | Reproducir hallazgo web | Truncar tokens, cookies y datos personales |
| Salida de comando | Demostrar contexto o permisos | Usar comandos inocuos |
| Logs de prueba | Correlacionar actividad | Proteger origen y credenciales |
| Archivo de prueba | Demostrar escritura controlada | Eliminarlo al finalizar |
Una evidencia útil debe ser clara, trazable y contextualizada. Una captura aislada sin explicación puede ser insuficiente; una salida extensa puede exponer información innecesaria.
En la mayoría de pentests comerciales no se aplica una cadena de custodia forense completa, pero sí conviene mantener trazabilidad básica sobre evidencias sensibles.
Buenas prácticas:
Algunos hallazgos requieren demostrar capacidad de escritura. Esto debe hacerse con mucho cuidado para no afectar integridad de datos.
Si se valida ejecución remota de comandos, deben usarse comandos inocuos que no cambien el sistema. La evidencia debe demostrar contexto, usuario y alcance sin alterar operación.
| Objetivo | Enfoque seguro | Evitar |
|---|---|---|
| Confirmar ejecución | Comando que devuelve usuario o identificador | Descargar herramientas externas |
| Confirmar directorio | Mostrar ruta actual | Modificar archivos del sistema |
| Confirmar permisos | Listar permisos de recurso de prueba | Leer secretos o archivos sensibles completos |
| Confirmar conectividad | Conexión hacia endpoint controlado | Escanear redes internas sin autorización |
Las fallas de control de acceso se validan comparando lo que diferentes usuarios pueden hacer. Este tipo de prueba debe usar cuentas de laboratorio y recursos no sensibles.
Si la explotación genera una sesión, shell o acceso interactivo, debe manejarse con límites estrictos. La sesión no es una invitación a explorar sin rumbo.
La limpieza es parte del proceso, no una tarea opcional. Si durante la explotación se crearon archivos, usuarios, tokens, sesiones o cambios, deben revertirse según el plan acordado.
Si una explotación controlada confirma un riesgo crítico, debe comunicarse antes del reporte final. Esto permite contención rápida.
El aviso debe incluir:
La explotación controlada puede cambiar la severidad de un hallazgo. Una vulnerabilidad teórica puede bajar si no es explotable en contexto, o subir si permite acceso real a datos, privilegios o sistemas críticos.
| Resultado de validación | Impacto en severidad | Ejemplo |
|---|---|---|
| No se reproduce | Baja o se descarta | Versión visible pero parcheada |
| Se reproduce con usuario autenticado | Depende del rol e impacto | Usuario común accede a datos de otro usuario |
| Se reproduce sin autenticación | Normalmente aumenta | Archivo sensible público |
| Permite ejecución de comandos | Alta o crítica según contexto | Comando inocuo confirma RCE |
| Permite encadenamiento | Puede elevarse | Hallazgo medio conduce a privilegio mayor |
La PoC debe explicar cómo se validó el hallazgo sin convertir el reporte en un manual de abuso. Debe ser suficiente para que el equipo responsable reproduzca y corrija.
Un flujo responsable puede ser:
La explotación controlada es una herramienta de validación, no un fin en sí misma. Su calidad se mide por la claridad de la evidencia, el respeto del alcance y la utilidad del resultado para reducir riesgo.
En el próximo tema entraremos en vulnerabilidades web, OWASP Top 10 y metodología de pruebas, donde aplicaremos estos principios sobre aplicaciones, APIs y flujos de usuario.