Vulnerabilidad de Zimbra: ¿Cómo detectar si hemos sido afectados y cómo solucionarlo?
¡Hola!
El pasado 18 de marzo, Zimbra anunció este bug y el «release» de los parches correspondientes en su entrada de blog. Adicionalmente, notificó a toda su base instalada mediante correos (a quien esté dado de alta como contacto de soporte).
A día de hoy, ya se empiezan a ver instalaciones de Zimbra que están siendo afectadas por la explotación del bug descrito en este artículo. Desde Essi Projects hemos sumado a los esfuerzos de prevención en esta vulnerabilidad de Zimbra, notificando a nuestros clientes de este bug y de su criticidad.
¿POR QUÉ ES TAN CRÍTICO ESTE BUG?
La explotación de este bug, da acceso con privilegios elevados, a cualquier atacante de dentro o fuera de nuestra red. Por lo que es posible conectarse como usuario «zimbra» a la consola o terminal de nuestros stores (estén o no en una DMZ o en el core de nuestra LAN), y desde la misma ejecutar distintos comandos, como el de creación de usuarios, cambios de contraseñas, borrado de información o despliegue de backdoors.
¿CÓMO DETECTAR SI HEMOS SUFRIDO ESTA VULNERABILIDAD DE ZIMBRA?
Ya que el atacante se hace con el control de nuestro terminal, es posible que pueda cubrir su rastro, por lo que podría no ser posible de detectar.
En los casos que hemos visto, se repite siempre el mismo patrón.
· Logs:
En los logs de nuestros mailstores, podemos encontrar entradas del siguiente estilo.
/opt/zimbra/log/./trace_log.2019_03_28:09:34:49.356:qtp127618319-114780:https:https://xxx.xx.xx.xxx/downloads/aSWE.jsp REQUEST 192.168.21.9 GET null; python-requests/2.21.0
Para detectar este tipo de downloads, podéis ejecutar:
$ for i in `ls /opt/zimbra/log/trace_log*` ; do cat $i | grep -i «python-requests» | grep -i downloads ; done
Esta entrada de log nos indica que ha habido un request de python para la descarga de un jsp… mal asunto.
· Ficheros:
Estos ficheros inicialmente se guardan en:
/opt/zimbra/jetty_base/webapps/zimbra/downloads
En los casos que nos hemos encontrado, el nombre del fichero es random y la extensión es jsp. Por ejemplo: «ARsv.jsp».
El contenido del fichero es el siguiente, que como se puede apreciar, es todo lo peligroso que puede ser ya que permite ejecutar un terminal de línea de comandos para ser accedido desde el exterior.
· Actividad «rara» en la consola de admin:
En uno de los casos que nos encontramos, el atacante creó cuentas de correo (mailboxes). Una vez los los admins de esta instalación se alertaron, nos lo comunicaron y nosotros intentamos ver quién había creado estas cuentas.
Para ello, en el propio «mailbox.log» conseguimos ver peticiones de creación de cuentas, hechas por el usuario «zimbra» (el usuario utilizado por el comando ‘zmprov’), pero con una IP de origen remota.
Para poder ver esta información, es importante que se loguee correctamente la OIP. Para que esto suceda, se deben seguir estos pasos, tal y como en Essi Projects siempre lo hacemos en todas nuestras instalaciones.
Según la versión de Zimbra, la creación de un usuario se loguea de forma distinta, por lo que os recomendamos crear un usuario mediante línea de comandos y ver en los logs cómo lo loguea vuestro Zimbra.
Una vez hecho esto, buscad en los logs la creación de otros usuarios con IPs externas. Para crear un usuario por línea de comandos, podéis ejecutar:
$ zmprov ca usuario_test@dominio.local «password123»
Esperamos que con estas pistas, podáis ver si se ha utilizado el mismo vector de ataque en vuestras instalaciones y combatir así esta vulnerabilidad de Zimbra. Desde luego, si no lo habéis hecho ya, es muy importante que se parche se actualice lo antes posible para evitar estos ataques.
Ante cualquier duda o en caso de necesitar asistencia en la actualización o migración a nuevos servidores (en caso de que hayáis sido víctimas), estamos a vuestra disposición para seros de ayuda. Contáctanos a través del email: info@essiprojects.com
Saludos,
Essi Projects
Comparte la noticia