secuestrando sesión del admin de zimbra

8 de marzo de 2009

El peligro de que Zimbra no redirecciona por defecto a SSL es que si el admin de Zimbra lee su correo vía webmail es posible secuestrar su sesión y utilizarla desde un atacante para entrar en su correo. Posteriormente puede cambiar la contraseña una vez dentro y por tanto entrar en el panel de administración.

La idea es sniffar la red en buscar de la cadena de autentificación. Lo que buscamos es ZM_AUTH_TOKEN (o tambien authToken) que se utiliza por ejemplo para la cokkie que genera Zimbra cuando le decimos recordar contraseña y de esta forma no tenemos que escribir la password cada vez.

Arrancamos un sniffer y con paciencia capturamos el authToken del admin o de cualquier otro usuario de Zimbra que despistado de el no utiliza SSL. Capturamos tráfico del 80/TCP y buscamos dentro de los paquetes la dirección de correo del admin (en mi caso busco admin@amperisblog.com).


Si el admin utiliza SSL tendremos que inventarnos otros sistemas para entrar. Por ejemplo si tenemos acceso a sus carpetas de su disco podríamos robarle el archivo físico de la cookie y buscar dentro de ella ZM_AUTH_TOKEN. Otra posibilidad es hacer una ataque XSS que al visitar cierta Web nos envíe su cookie.

Ya tenemos la cookie:

authToken =
0_573b037a47ee191358f4172bdc5acf5c23ff6cb6_69643d33363a34353462313238662d326538662d3430
65382d622236612d6627356432666331643864303b6578703d31333a313233363731323638393232343b747
270653d363a7a696d6272613b

Ahora solo nos queda utilizar esta autentificación para validarnos como admin. Abrimos Firefox e instalamos un complemento como "Cookie Editor". Lo que vamos hacer es coger nuestra cookie de validación de Zimbra que nos permite entrar como alejandro@amperisblog.com sin necesidad de estar poniendo la password cada vez y vamos a sustituir el ZM_AUTH_TOKEN.


Buscamos nuestra cookie:


La editamos y ponemos el authToken que hemos encontrado anteriormente:


Finalmente refrescamos nuestro webmail y deberíamos entrar automáticamente como administrador:


Intentamos ahora cambiar la contraseña del admin, hacemos "Preferencias -> General -> Cambiar contraseña"... opsss me pide la contraseña antigua... :(

2 comentarios:

Anónimo dijo...

Hola, felicitaciones por el Post! Te consulto, para lograr lo que dices con wireshark lo haces en una red con Hubs (osea sin Switches reales)?

Muchas Gracias.

amperisblog dijo...

Para hacer esta demo logicamente lo he hecho con un hub para evitarme mayor complicaciones, eso no quiere decir que desde un switch no se puda hacer. Existen diferentes vias para sniffar por un switch...
http://seguridadyredes.nireblog.com/post/2008/06/25/posicion-del-sniffer-en-nuestra-red-redes-conmutadas-y-no-conmutadas