miércoles, 31 de julio de 2013

Crónica del ataque a los foros de Ubuntu

El pasado día 21 de julio Canonical anunciaba la detección de una intrusión en el servidor correspondiente a los foros de la comunidad de Ubuntu (ubuntuforums.org). Los datos sustraídos comprendían las cuentas de correos de los usuarios así como los hashes de las contraseñas de acceso a los foros.

Días después, Canonical, ha publicado un interesante estudio sobre como se efectuó el ataque a sus foros.

ubuntuforums.org usa el software vBulletin para la gestión de los foros. vBulletin está basado en PHP, posee licencia propietaria, y su desarrollo se inició en el año 2000. La última versión publicada data del 25 de mayo de 2012, hace más de un año.

Según parece, el atacante consiguió una cuenta de moderador de los foros y accedió con ella el 14 de julio. Aunque en principio no tienen claro como la obtuvo, los privilegios de esta cuenta permiten a un moderador publicar comunicados (announcements) con contenido HTML sin filtrar, posibilitando que el atacante inyectara código javascript dentro del mismo. Esto convertía la página en una trampa, ya que todo usuario registrado que la visitara ejecutaría el código incrustado en su navegador. Evidentemente la intención era extraer las cookies de sesión de cuentas más privilegiadas.

Publicado el comunicado, el atacante envió un mensaje privado a tres administradores. En dicho mensaje les informaba que se producía un error de servidor en la página de comunicados y les conminaba a  visitar dicha página.

Uno de los administradores visitó la página que el atacante preparó y no observando nada anormal respondió al atacante. Este último ya se habría logueado con la sesión del administrador, al haber sido extraída su cookie de sesión, elevando así sus privilegios en vBulletin.

Ahora con una cuenta de administrador y a través de una funcionalidad propia de vBulletin, el atacante podía ejecutar código PHP. Con esto consiguió subir dos shells en PHP y a través de ellas hizo un volcado de la base de datos (MySQL) asociada a los foros. Posteriormente volvió a loguearse el día 20 de julio para cambiar la página de inicio por un mensaje reivindicando el ataque.

Como podemos observar en este ataque, la elevación de privilegios no es un concepto aislado del sistema operativo, tiene su correspondencia en la web, perfectamente extrapolable. Los administradores de los foros no tienen claro que tipo de código javascript se usó en la página creada por el atacante, esta fue borrada por uno de los administradores.

Aun así, podemos ver aquí el ejemplo perfecto de lo que supone una vulnerabilidad de Cross-site scripting (del tipo permanente). A menudo infravalorada, ya que cuesta demostrar su verdadero impacto y entenderla, este tipo de vulnerabilidad se califica de gravedad alta en las auditorias, mientras que su percepción por parte del personal no relacionado con seguridad es habitualmente menor.

También se evidencia aquí un vector interesante: la ingeniería social. El mensaje convincente de un moderador sobre un tipo de error casual. Este hecho causa un elemento de confianza en el administrador, mientras que el tipo de mensaje, una petición poco sospechosa (¿Quien no ha visto un error HTTP 500 de manera casual?) y que no deriva en ninguna actuación adicional (caso cerrado) hace que el administrador baje la guardia ante un problema que no existe y se olvide pronto de este evento.

El resto del ataque no se diferencia más de otros: subir una shell y el resto es historia.  

Nos queda una pieza para completar el puzzle y es la forma en la que se hizo con la cuenta de moderador (no son empleados, son voluntarios), no se aportan detalles, tan solo, Canonical, afirma no conocer como el atacante consiguió esta cuenta. También destaca el hecho de que el atacante se logueara por primera vez el día 14 de julio y concluyera el ataque el día 20. Una paciencia estratégica.

Más información:

Notice of security breach on Ubuntu Forums site

Ubuntu Forums are back up and a post mortem



David García
Twitter: @dgn1729

2 comentarios:

  1. Buenos Dìas.-
    Estimada comunidad de UBUNTO, debido a los datos sustraídos que comprendían las cuentas de correos de los usuarios así como los hashes de las contraseñas de acceso a los foros. recomiendo eliminar los cookies, historial de sitios,evitar los anuncion publicitarios en la web. y por nada del mundo almacene claves o numèros de cuentas bancarias en sus correos(Pc y Moviles).ya que estos son vulnerados...
    att.
    Marcos Morocho
    Tècnico en Soporte IT
    Guayaquil-Ecuador

    ResponderEliminar
  2. Buenos días.
    Dejando aparte el interesante contenido de la noticia, me sorprenden los abundantes errores ortográficos que contiene, especialmente la falta de tildes en pronombres (cómo, qué, quién) y la incorrecta separación del sujeto del verbo mediante una coma ["no se aportan detalles, tan solo Canonical afirma"].
    Un saludo afectuoso.

    ResponderEliminar