sábado, mayo 30, 2015

El servidor LifeRay "descuidado" de Apple

Este jueves en el evento de Eleven Paths entregué los premios del Latch Plugin Contest a los ganadores del concurso. Como tenéis publicado en la web de los ganadores, el tercer premio fue para una implementación de Latch para LifeRay, que se llevó su premio de 1.000 USD. En el evento, los ganadores subieron al escenario a contarnos sus plugins, y mientras yo escuchaba la parte del plugin de Latch para LifeRay, mi cabeza estaba haciendo memoria... ¿dónde había visto yo un servidor LifeRay no hacía mucho?

Entonces me acordé, lo había visto en un dominio de Apple.com. No esperes leyendo este post grandes bugs, sino pequeños detalles de seguridad sutiles que pueden dejar un servidor de una gran empresa menos fortificado que el resto por descuidar pequeños detalles. Solo os voy a contar mis reflexiones al respecto.

Figura 1: El servidor LifeRay descuidado de Apple

Había llegado a ese servidor tiempo atrás gracias al módulo de descubrimiento de Faast, pero para cualquiera que busque un rato no es muy difícil dar con él en Internet. Está en un dominio que cuenta con un certificado digital renovado no hace mucho, lo que parece indicar que tiene cierto mantenimiento. Lo que llama poderosamente la atención es que, cuando llegas a él, lo único que se ve es una página por defecto de una instalación recién hecha de LifeRay.

Figura 2: Aspecto del portal de LifeRay en el dominio de Apple.com

Por supuesto, es imposible no ver la versión de LifeRay que aparece en el pie de la plantilla, donde se ve que es la versión LifeRay Portal Community Edition 6.1.2 de Agosto de 2013. Casi dos años de antigüedad en un software hace más que probable que existieran algunos bugs sin parchear. Lo cierto es que existen algunos, como este CVE-2014-2963 que permite inyectar XSS en algunas partes del sistema, aunque también podrían haber aplicado el fix manualmente sin hacer un upgrade de versión.

Figura 3: Bug CVE-2014-2963

Para que se pudiera probar si es vulnerable o no a ese bug, se necesitaría tener acceso a tus propiedades de cuenta, así que habría que intentar acceder al sistema. Cuando intentas hacer login te lleva a la web de registro de cuentas Apple, pero la web cuenta con parte de registro de cuentas para el portal de LifeRay para esta instalación en concreto y sacarse una cuenta. Esto de darse de alta, muchas veces da juego en servidores WordPress que permiten esa opción y puedes sacar cosas interesantes, así que se puede probar.

Figura 4: Creación de cuentas en el servidor LifeRay

Además, como parece que está integrado con Apple.com, te puedes sacar una cuenta de AppleID y luego pedir el acceso a este portal. La autenticación se produce correctamente, pero en la fase de autorización no es posible conseguir ver los recursos, porque está protegido para algunas cuentas de algunos grupos de Active Directory. No es raro, ya hemos visto que Apple tiene mucha tecnología Microsoft internamente, desde servidores web con bugs IIS Short Name y aplicaciones en tecnologías Microsoft como hemos visto en el pasado. Recordad la famosa foto de Tim Cook en la fábrica de MacBook que usa Windows.

Figura 5: Una vez autenticado, falla la autorización para acceder a recursos

Sí que, una vez registrado, puedes jugar con las opciones de Olvidé la Contraseña para sacar información de la infraestructura de Apple que hay detrás. La idea es tan fácil como forzar que te envíe un correo electrónico con un token para cambiar la contraseña de la cuenta recién creada, tal y como se explica en este artículo de "Enviar a un amigo". Mirando el código fuente se puede ver cómo el correo se genera en localhost (el servidor web de LifeRay) y va pasando por la red de Apple.

Figura 6: Correo envidado por el servidor LifeRay con info de la red

A primera vista no he conseguido mucho más donde rascar. Corre sobre un servidor Apache 2.4.7 sin actualizar a la última versión, y tiene un servidor JSP que probablemente sea un JBossWeb, tal y como muestra este mensaje de error indexado en Archive.org. Si pruebas un foca.jsp para forzar el error JSP, da también una respuesta anómala.

Figura 7: Un error de JBossWeb cacheado en Archive.org

Como me tenía intrigado, fui a buscar más información en la red sobre ese servicio, y topé con un currículo en Linkedin que explicaba más detalles de la infraestructura que hay detrás, algo que parece corroborar lo que ya se habíamos visto de servidores LifeRay, Oracle y JBoss. Eso sí, aparecen más detalles útiles.

Figura 8: Información del proyecto en un CV de Linkedin

Lo cierto es que lo que más me sorprende sigue siendo el que esté un servidor desactualizado, configurado por defecto, en un dominio público de Apple.com sin más. No es como yo creo que deben dejarse las cosas si te preocupa la seguridad. Tal vez sea un honeypot - que parece que no por la info del perfil de Linkedin - o tal vez un descuido, a tu elección queda. Al final, la seguridad de una empresa se rompe por el punto más débil, y este no parece de los más robustos.

Saludos Malignos!

Entrada destacada

Joinnovation & KeepCoding Connect: 2 Eventos para DOERS en #Madrid

Ayer fue el día de ver los proyectos de EQUINOX , el hackathon de ElevenPaths donde durante 24 horas se lanzan proyectos que normalmente ...

Entradas populares