Incident Response Without Visibility: Cuando una petición HTTP no cuenta toda la historia
De una investigación sobre Apache y WildFly a los problemas reales de reconstruir una intrusión cuando las evidencias son parciales.
Por Jesús D. Angosto Iglesias
El incidente comienza mucho antes de tener una respuesta
Hay una situación bastante habitual en respuesta a incidentes que, curiosamente, rara vez aparece en las demostraciones de herramientas. Recibimos una alerta, identificamos un comportamiento sospechoso y empezamos a tirar del hilo. Al principio parece sencillo: tenemos una dirección IP, una petición HTTP, un servidor afectado y una ventana temporal aproximada.
Un par de consultas deberían permitirnos reconstruir lo ocurrido... hasta que empezamos a hacerlas.
Cuando preparé mi charla Incident Response Without Visibility para RootedCON, quería hablar precisamente de ese problema. No de la ausencia absoluta de registros, sino de algo bastante más habitual:disponer de información suficiente para saber que algo ha ocurrido, pero no necesariamente para explicar hasta dónde ha llegado.
Desde entonces he continuado trabajando en investigaciones donde esa diferencia resulta fundamental. Una de ellas, relacionada con una aplicación Java desplegada sobre WildFly y publicada mediante Apache HTTP Server, me parece especialmente ilustrativa.
La investigación comenzó con actividad sospechosa contra una aplicación web. Entre los registros aparecían intentos de inyección de expresiones, referencias a mecanismos de evaluación OGNL y cadenas compatibles con pruebas JNDI. También encontramos indicios de intentos de manipulación de la configuración de *logging* para escribir ficheros en el servidor.
Sobre el papel, el escenario era preocupante: una aplicación expuesta, peticiones especialmente construidas y mecanismos potencialmente peligrosos si llegaban a ser interpretados por componentes vulnerables.
Pero una cosa es identificar un intento de explotación y otra muy distinta demostrar que ese intento consiguió ejecutar código. Esa diferencia terminó siendo el punto central de la investigación.