¡Cuidado con extensiones piratas para Joomla! Las consecuencias pueden ser catastróficas

⚠️ Nota importante

Este artículo tiene más de un año. La tecnología evoluciona rápido, por lo que algunos contenidos o instrucciones pueden estar desactualizados. Recuerda buscar información reciente y actualizada.

Basado en el artículo Why you shouldn't use Joomla! warez - Backdoors for free! de Yves Hoppe

Recientemente, Yves Hoppe investigó los sitios que ofrecían las extensiones PRO de CompoJoom de forma gratuita. Solo fue necesario realizar una simple búsqueda en Google (Nombre de la extensión + download) para encontrar una enorme cantidad de sitios con extensiones en sus versiones de pago pero ofrecidas ilegalmente de forma gratuita (existen cientos y cientos de extensiones ofrecidas en decenas de sitios como "descargas gratuitas"). El primer resultado era un sitio que no lucía como un típico sitio de descargas, de hecho, se veía muy confiable. No tenía molestos anuncios y solo proveían una pequeña descripción de la extensión, una sencillo sistema de votación y el enlace directo al archivo (este podía ser descargado sin mayores inconvenientes y sin necesidad de pasar por filtros molestos como adf.ly). También, había un enlace a un analizador de virus y un reporte del archivo.

Después de realizar la descarga lo primero evidente la diferencia en el nombre del archivo con respecto al archivo que puede ser descargado del sitio oficial al pagar una suscripción. El siguiente paso fue revisar la suma md5/sha del archivo. Esto se puede hacer en Linux directamente desde la terminal; para Windows también hay algunos programas para ese fin con interfaces gráficas. Estas sumas hacen claramente identificables los archivos protegiéndote de ataques y paquetes de descarga manipulados. Esta es la razón por la que muchos desarrolladores de extensiones adjuntan estos datos en cada descarga de forma que siempre puedas comparar los datos con los del archivo que descargaste. 

hotspots-md5 1

En resumen, los resultados no calzaban. En definitiva alguien estuvo modificandolos. Lo curioso es que la suma tampoco calzaba con los resultados provistos por el escáner de virus por lo que esto también era falso. Por esta razón, se revisaron los archivos utilizando un antivirus distinto esperando ver un resultado diferente (ej. que estuviera infectado con troyanos). Para sorpresa de todos, ningún virus fue hallado por ninguno de los antivirus utilizados. 

Posteriormente, el paquete fue desempaquetado y se realizó una búsqueda de archivos que estuvieran modificados. El resultado: cuatro archivos habían cambiado y dos nuevos fueron agregados en febrero 20; seis meses después de que el paquete fue liberado en el sitio oficial. Uno de los archivos modificados era el script de instalación (script.php) y el hotspots.php de la administración. Los nuevos archivos fueron aparentes imágenes inofensivas, ambas llamadas social.png en dos carpetas distintas. Revisando los cambios al archivo script.php fue notorio que una línea fue agregada al final: 

<?php include('images/social.png');?>

script-php

¡Entonces ahí estaba! Un include de PHP para la nueva imagen. Lo gracioso es que por la forma en que fue agregada la línea es evidente que los que lo hicieron no tienen mucha experiencia en PHP, lo que no los hace menos peligrosos. De igual forma estaba comprometido el archivo hotspots.php. Ahora echemos un vistazo al misterioso archivo social.png. 

social-improved

Pues, si has instalado la extensión, ¡Felicitaciones! ¡Has conseguido que tu sitio ahora esté hackeado y  probablemente sirva para entregar spam / malware! La falsa imagen es un archivo relativamente grande (52 kb) ocultando un script PHP. Y no solo soporta instalaciones Joomla! sino que también es válido para sitios web usando Wordpress. 

¿Qué hace este script?

Debido a que el código es un poco extenso y haría falta mucho trabajo para interpretarlo por completo solo se comentarán un par de cosas obvias. La primera es que este código registra un nuevo plugin a onAfterRender en tu sistema Joomla!. Este crea una tabla llamada options y se instala a sí mismo en el sistema. Después, parece recolectar alguna información acerca de tu sitio web y tu servidor y envía esta información (por correo electrónico) con el asunto "Phone Home". 

El dueño del archivo ahora podrá subir y cambiar archivos, actualizar y crear bases de datos y hacer básicamente cualquier cosa con tu instalación de Joomla! El script incluso encripta la comunicación con el servidor de control con una conexión openssl. Desinstalar la extensión afectada ya no servirá de nada. El script se escribió a sí mismo bien profundo en tu sitio Joomla! Así que básicamente podrías desechar el sitio y empezar de cero o bien podrías restaurar una copia de respaldo no infectada. De hecho, Yves Hoppe dice que ni siquiera copiaría artículos sin antes revisarlos manualmente. 

Después de revisar otros paquetes del mismo sitio como las instalaciones de K2, EasySocial, Hikashop Business, ChronoForms, AcyMailing Enterprise, Akeeba Admin Tools, MijoShop y All Videos e incluso plantillas de Gavick o Joomlart todos incluyen el mismo archivo.

Este sitio está de 16,629 en Alexa (¡increíble!) y nadie sabe cuántos sitios andan por ahí infectados gracias este este sitio. El dominio está protegido por un servicio alojado en Hong Kong y el sitio está alojado en Estados Unidos.

Conclusión: No puede confiar completamente en los análisis de Virus Total y debes ser muy muy cuidadoso con las extensiones que instalas. Nada es gratis en internet. 

Hasta aquí el aporte de Yves Hoppe. Personalmente quiero agregar que siempre me ha parecido muy peligroso descargar este tipo de extensiones y cargarlas en nuestro sitio aunque hasta ahora leo un artículo con pruebas claras del problema que suponen estos paquetes piratas. Es cierto que muchas extensiones tiene valores de mercado muy altos y muchas veces podemos considerar recurrir a estos sitios para ahorrarnos unos dólares, pero no vale la pena el riesgo. Una vez que infectaste tu sitio es poco lo que puedes hacer. Si definitivamente vas a recurrir a esta opción es importante que hagas un análisis de los paquetes que vas a instalar igual o más detallado que el de este artículo. No estoy completamente en contra de compartir licencias con amigos y conocidos, e incluso otros usuarios confiables en internet. Es decir, si has adquirido una licencia para usuarios ilimitados de alguna extensión no hay ningún riesgo al compartirla con otras personas que la puedan necesitar. Claramente esto en muchos casos es considerado legal y es una práctica muy distinta a la que se describió en este artículo. 

Las consecuencias de convertir nuestro sitio en una máquina de correo basura y programas maliciosos son graves. Podríamos perder el trabajo de años. En fin, por una mala decisión, podríamos acabar con nuestro blog o cualquier sitio web en segundos. 

Fundador
Seguidor de Jesús. Escribo artículos en mi tiempo libre sobre temas de tecnología que me interesan.