Get it on Google Play
Tu partner Freelance para tus proyectos IT

El Bug de Liferay que casi convierte nuestro servidor en un Miner de Bitcoins

30-04-2020
Liferay Security Bug

Liferay Security Bug

No acostumbro ha hacer este tipo de artículos, pero de vez en cuando apetece. Esto me pasó ayer y os voy ha hacer un espolier, ya podéis ir deshabilitando el API de vuestro Liferay si tenéis la versión 6.2, 7.0, 7.1 y 7.2 (Yo también deshabilite la de los proyecto 7.3 por precaución, versiones anteriores no tengo nada).

En todos estos años me he encontrado con gente con mala ostia, extorsionadores, terroristas islámicos, etc. pero es la primera vez que me intentan hackear un servidor para minar bitcoin. Y es que el negocio de minar Bitcoins es una castaña, pero si la luz, el servidor y el ancho de banda lo ponen otros…

Además, es habitual encontrar bugs de seguridad en TODAS las plataformas, este ha sido especialmente crítico porque permitía ejecutar código en el servidor(Lo cual, ya es chungo) y además sin estar logueado(Lo que es peor). En resumen es un bug que es explotable masivamente, simplemente creando un bot que se dedique a buscar presas y atacarlas. Repito, que nadie se piense que porque tiene el portal en Drupal, WordPress u otros esta libre de caer(Aquí tenéis otro post similar pero en Drupal, por ejemplo.).

Resumen incidencia seguridad Liferay

  • Justo ayer recibí una incidencia de un cliente, uno de los servidores Liferay se les había caído varias veces el fin de semana. Me piden que lo revise por si es problema de espacio en disco o similar.
  • Nada mas entrar en el contenedor(Es un servicio dockerizado) observo un comportamiento extraño al arrancar el terminal(lentitud, algun error,…). También observo algunos ficheros ejecutables extraños con nombre ‘h’ y ‘x'(Pinta mal).
  • Observo también que han añadido una línea al fichero ‘.bashrc’, que se ejecuta cada vez que abres un terminal. En este caso se intentaban descargar y ejecutar código usando el servidor ‘pastebin.com’ que les permite subir y descargar código anonimamente. Da algunos errores porque les faltan comandos como ‘curl’, ‘sed’ o ‘python’. Igualmente lo consiguen porque el script intenta conseguir su objetivo usando varias herramientas.
  • El código que intentan ejecutar es un drama. Básicamente se descargan programas para minar bitcoin e intentan infectar el servidor editando los ficheros de configuración de crontab(que tampoco lo tenemos instalado en el contenedor).
  • A partir de la fecha y la hora de los reinicios del servidor y la edición del fichero ‘.bashrc’ y analizando los logs del balanceador de carga conseguimos localizar la petición de la muerte. A partir de la propia petición localizadmos en los logs varios intentos mas en tres días.
  • A partir de la petición hacemos un poco de investigación y encontramos el bug de seguridad y arreglamos el agujero de seguridad. Fue un ataque no dirigido, seguramente por algún tipo de bot que infecta masivamente.

En horas tuvimos la incidencia resuelta.

Conclusiones

  • Tener el servicio del Liferay dockerizado nos salvó el culo. Porque carecía de muchas utilidades que tiene un servidor convencional y esto hizo que el ataque dejará rastro.
  • Aseguraos de tener los servicios de Liferay corriendo con un usuario sin privilegios mas allá de la carpeta de Liferay. Lo de arrancar los servicios de Liferay como root(Algo muy habitual cuando uno crea imágenes docker) es un problema.
  • Si en lugar de agarrar yo la incidencia la agarra alguna consultora barata o de la india ni se enteran de nada. He visto servidores con errores parecidos que nadie se preocupa en arreglar.
  • Lo de tener el API de Liferay abierta por defecto es una mierda… este bug aplica a las versiones 6.2, 7.0, 7.1 y 7.2. Yo ya he bloqueado el API en todas las versiones donde no uso el API, que son la mayoria.

Por cierto, el bug es el siguiente y podéis verlo en funcionamiento aquí

Si te ha servido, por favor comparte

Interesado en formación Liferay?

 

Leave a Reply