miércoles, 15 de mayo de 2013

tales from the crypt reverse proxy

Bienvenidos a esta nueva entrada...


Sí, se que he tenido algo abandonado el blog como cosa rara pero aquí vamos de nuevo!!!

En esta ocasión me encontraba en mis horas libres visitando el portal web de una institución a la que le tengo un gran aprecio y después de un buen tiempo entre tantas y tantas opciones, me encontré con un formulario de búsqueda que como muchos en muchas aplicaciones web permitía el tan popular ataque Cross Site Scripting o como la mayoría lo referencia XSS (es un ataque del lado del cliente).


En este caso el ataque era no persistente, sin embargo con el fin de realizarles a los encargados un informe mucho más impactante, que en realidad les hiciera que se tomaran en serio las cosas y las correcciones fuesen casi inmediatas, me puse en la tarea de realizar la recolección de evidencias usando el framework XSSF que funciona sobre metasploit.



Las evidencias en si, se tomaron en un entorno controlado, sobre el cual se realizó la extracción de cookies del navegador web, así como varias capturas de la webcam de la víctima y algunas cosas más, que como en otras ocasiones lo he dicho dependen del atacante!!


Sin embargo el impacto no fue mayor sobre los encargados quizá porque era algo muy del lado del cliente y para ellos sus servidores seguirían "intactos" (Ojo lo anterior es solo una suposición) igual sea cual sea la razón les intente explicar y ellos simplemente dijeron "entendido, ya se le notifico a la gente de desarrollo y están en la tarea de corregir ese problema" y así de nuevo seguían en la misma situación...

 ...pero mi mente inquieta buscaba algo mas, algo que me permitiera causar un impacto mayor a partir de este problema

Después de meditarlo durante mis tiempos de ocio y a partir de la información que tenia de su implementación de un proxy inverso recientemente, las cosas funcionaban así:



El proxy inverso permite a los clientes de internet acceso parcial a las aplicaciones web alojadas en otros servidores de la intranet, en este escenario cuando se envía la solicitud usando la URL http://dominio.com/correo el servidor proxy inverso de dominio.com a nivel de intranet redirecciona la petición al servidor http://correo.dominio.com
 
A partir de lo anterior y teniendo en cuenta el modo de funcionamiento de los navegadores web (manejo de cookies) surgió la hipotesis de que podría a través de este ataque de XSS, realizar un robo de sesiones sobre las otras aplicaciones web institucionales a pesar de que estas no se encontraran sobre su portal principal.

De modo que solo restaba realizar las correspondientes PoC, de las cuales la inicial dio el siguiente resultado


en donde la aplicación sobre la cual se realizó el robo de sesión aparentemente no tenía ningún problema (no la analicé y por el momento no era mi intención analizarla), de modo que a pesar de que la aplicación estaba en un servidor diferente y que aparentemente tenía un nivel de seguridad aceptable, podía ser afectada por un fallo en el portal principal que prácticamente se extendía a esta a través del proxy inverso que habían implementado.
  
En conclusión, todo se centró en robar las cookies que se concatenaban a medida que el usuario accedia a las otras aplicaciones web a traves del proxy inverso, esto debido a que el navegador las tomaba como si fueran emitidas por el mismo host.

Como quien dice cuidadoso y seguro por un lado, pero con problemas que quizá no son tan evidentes en el otro



Pero no todo estaba tan mal, algunas de las aplicaciones no permitieron la extracción total de las cookies, quizá porque tenían la flag de Secure, sin embargo en este punto la intención era verificar el impacto que podía presentar un fallo de este tipo asociado con la implementación de su proxy inverso, lo cual es evidente.

Así que les recomiendo sean muy cuidadosos con las nuevas cosas que incorporan, no vaya a ser que todo se les convierta en un cuento de terror!!



Ya los que quieran jugar un poco más con el robo de cookies y demás les recomiendo leer esta entrada de un informático en el lado del mal y las asociadas a la misma, que aunque lleva su tiempo aun puede ser muy útil.


No siedo mas espero y esta entrada haya sido de su agrado


Saludos y hasta una próxima entrada!!

PD: Gracias a @D7n0 por la sugerencia del nombre de la entrada!!!

Carlos Andrés Rodallega Obando
@crodallega
 

No hay comentarios:

Publicar un comentario