sábado, 16 de septiembre de 2017

'Display Widgets' Backdoor: Cuando el río suena, agua lleva.

‘Display Widgets’ ha sido el plugin en el cual se ha encontrado una backdoor. Lo raro de este caso, es que ha sido necesario reportar hasta cuatro veces esta vulnerabilidad para que, finalmente, se haya producido la eliminación total del plugin en los repositorios oficiales de Wordpress. 

Una backdoor o puerta trasera es el nombre que se le ha puesto al código existente en un software que permite que la máquina que aloja este código sea accesible remotamente por parte de los desarrolladores, permitiendo un control total o casi total en la máquina afectada.

‘Display Widgets’ es un plugin de Wordpress desarrollado por Stephanie Well para facilitar el control a los dueños del blog, permitiendo el control de cómo y cuándo se muestran los widgets en el sitio web. Al ser un plugin de esta plataforma tan exitosa, ha permitido que esta infección haya podido superar las 200000 infecciones en poco más de 2 meses. Pero, ¿qué es lo que ha pasado para tener este alcance?

Todo comienza cuando la desarrolladora del plugin cambia su enfoque de negocio y decide monetizar este plugin con una versión premium, vendiendo el código de su versión libre a otro desarrollador, el cual al mes ya publicó una versión actualizada la 2.6.0.

Esta primera versión recibe su primera queja del SEO David Law, advirtiendo de que este plugin no cumplía las reglas de publicación de Wordpress, puesto que descargaba 38MB's de servidores de terceros. Y no sólo eso, sino que el código descargado contenía código para monitorizar tráfico del usuario obteniendo información como IP, navegador y sitios visitados, y que después esta información era enviada a estos servidores de terceros.

Aunque Wordpress eliminó este plugin de los repositorios oficiales, el plugin no tardó en estar activo de nuevo. Una semana tardó el desarrollador en publicar la versión 2.6.1. Esta vez el plugin no descargaba esos 38MB, sino que esta vez el plugin tenía este contenido en su interior, y además, este plugin (geolocation.php) contenía una backdoor, lo cual permitía a servidores externos conectarse a este plugin y publicar o crear nuevas entradas. Y como no, David Law que aún tenía la vista en este plugin, volvió a reportarlo, y en cuestión de un día, el plugin fue eliminado de nuevo.

En otro tercer intento de este desarrollador, el día 6 de julio publicó su tercera actualización, que aparentemente era inocua, pero 17 días después Wordpress volvía a recibir noticias de este plugin. Éste había cambiado su comportamiento, y esta vez insertaba comentarios de spam en el sitio web que no eran mostrados desde la interfaz de administración. Comentarios que eran sacados desde la IP 52.173.202.113. IP que respondía a los dominios ‘stopspam.io’, ‘w-p.io’, ‘geoip2.io’ y ‘maxmind.io’. Con esta información el equipo de Wordpress volvió a eliminar el plugin.

Ante otro intento de seguir con el proceso de infección, el 2 de septiembre el desarrollador volvió a publicar una versión, y al última, la versión 2.6.3, la cual duró 5 días tras nuevas quejas de los usuarios.

Actualmente el plugin no está disponible en los repositorios oficiales de Wordpress, pero son muchos investigadores los que se han quejado sobre el método de publicación de estas herramientas, ya que son muchos los investigadores que no ven con buenos ojos que una herramienta que ha sido eliminada varias veces por estos motivos, pueda ser subida de nuevo en muy poco tiempo y sin apenas control. 


Más información

Wordfence
https://www.wordfence.com/blog/2017/09/display-widgets-malware/

BleepingComputer
https://www.bleepingcomputer.com/news/security/backdoor-found-in-wordpress-plugin-with-more-than-200-000-installations/


Jose Ignacio Palacios