Hackers en tu Joomla

Atención, abrir en una nueva ventana. PDFImprimirE-mail

Guías - Diseño y administración Web con Joomla!

Usar puntuación: / 9
MaloBueno 

En estos últimos días he recibido muchas consultas por sitios web Joomla! que han sido jaqueados. Esto me llevó a escribir este artículo sobre el problema y su forma de encararlo.

Daños y consecuencias del jaqueo de un sitio joomla

Aunque en la mayoría de los casos los "hackers" que vulneran sitios Joomla! simplemente colocan en tu web la página de "hacked by…" sin dañar absolutamente nada más en tu sistema Joomla! ni alterar o eliminar tus datos e información, esto que hacen te provoca otro tipo de daños y consecuencias que incluso pueden ser más graves de lo que ellos piensan:

  • la desindexación de tu sitio en los buscadores, y la pérdida de visitas derivada
  • la inaccesibilidad temporal al site con la pérdida potencial de usuarios interesados y/o potenciales clientes, y
  • la inversión en tiempo y dinero para arreglar todo y restablecer nuevamente el sitio web

Distinción Hackers / Crackers

Teniendo en cuenta el grado de daños mencionado anteriormente, yo considero crackers a quienes simplemente colocan esas pantallas típicas de "hacked by"

El hacker ético no provoca ningún daño, simplemente ingresa en un sistema y avisa a los responsables del fallo de seguridad para que estos puedan tomar acciones de corrección. Son los crackers los que producen daños, destruyen, y causan problemas.

Los hackers de Joomla! (o cualquier CMS / sistema web) proceden así:

1) aprovechan alguna vulnerabilidad de Joomla y se hacen acceso al sistema de archivos.

2) colocan backdoors ( archivos php que les permiten ejecutar instrucciones dentro del sistema de archivos del servidor, por ej: pueden ver los archivos, navegar por directorios, cambiar permisos, editarlos etc)

3) a través de estos backdoors pueden tomar posesión de tu sitio y explotarlo de diferentes formas:

a- editar un archivo clave del sistema joomla para poner offline el sitio y agregar el típico mensaje "hacked by…" que se visualiza cuando un visitante accede al site
b- pueden multiplicar los backdoors en el sistema de directorios de joomla
c- pueden editar algún archivo clave del sistema joomla para incluir código fuente adicional con diferentes propósitos:
- descargar viruses e intentar ejecutarlos en las PCs de los visitantes
- robar información o datos de transacciones, e incluso enviarlos por email a los hackers
- colocar enlaces ocultos hacia sitios web de pornografía, de ocio y otros, o hacer redireccionamientos no permitidos hacia ellos

4) publican el sitio hackeado en foros y comunidades de hackers, explicando cómo lo hacen. Los que logran vulnerar sitios son hackers un poco experimentados, pero luego vienen otros boludos principiantes que practican gracias a que los anteriores les facilitan las cosas, les preparan el campo de acción, y les explican cómo hacerlo. Gracias a ello, tu sitio puede ser hackeado una y otra vez

Tenés que tener en cuenta muchas veces los hackers pueden actuar silenciosamente, es decir, en apariencia el sitio hackeado/vulnerado no presenta ningún problema visible, pero, residen en él backdoors o código maligno que puede ser utilizado en cualquier momento por ellos, para cualquier propósito.

Tu sitio Hackeado una y otra y otra vez....

Los sitios webs a veces se arreglan y se vuelven a poner online, pero los problemas o las intrusiones no autorizadas pueden seguir repitiéndose indefinidamente hasta tanto no solucionar el problema de raiz.

Como mencioné anteriormente los hackers publican el sitio hackeado en foros y comunidades de hackers, brindando todos los datos del sitio vulnerado y explicando cómo lograron hacerlo. Es común que un mismo sitio web sea víctima de diferentes hackers en un plazo de tiempo relativamente breve.

Para dar al problema una solución de raíz es necesario que:

- se elimine todo el código maligno y/o backdoors residentes en el servidor (los hackers saben y recuerdan donde los pusieron)
- la vulnerabilidad (la puerta por donde entraron los hackers) se detecte y corrija
- se tomen medidas de seguridad adicionales
- evitar el uso de extensiones de terceros potencialmente vulnerables (generalmente componentes)

Solución definitiva para sitios jaqueados Joomla!

Básicamente, voy a separar la solución en cuatro etapas:

1- restablecimiento de tu web
2- limpieza del sistema de archivos
3- identificación del medio de acceso (cómo entran los hackers en mi sitio?)
4- prevención de ataques futuros

Paso a Paso

1. Restablecimiento de tu web

Restablecer tu web Joomla! generalmente se limitará a restablecer los archivos de Joomla! en los cuales los hackers han inyectado su código.

Esto lo hacen eliminando el código original del archivo vulnerado y colocando un código HTML que generalmente es el que muestra el mensaje de "hacked by...."

1a. Restablecimiento rápido

Normalmente este código cambiado está en el archivo configuration.php o index.php (aunque bien podría estar más escondido y esto dificulta su identificación).

A veces revisando estos archivos y corrigiéndolos (o subiendo los originales), ya se pone el sitio online nuevamente. Podés como un intento rápido de restablecer tu web, probar dos acciones:

  • Restablece tu sitio desde un back up completo que tengas, o
  • Intenta subir el index.php original de Joomla!, y/o corregir el archivo de configuración

1b. Reemplazo completo de archivos

Si no tenés un back up actualizado del sistema de archivos, y/o no podés identificar el archivo vulnerado por el hacker (que provoca que tu site esté offline) vas a hacer esto:

  1. Descarga el instalador de Joomla! desde el forge de Joomla.org (trata de descargar la misma versión que tu sitio actual)
  2. Descomprimela en tu PC y subila por FTP (menos el directorio installation), reemplazando todos los archivos (entre los cuales está el archivo con el código cambiado por el hacker)
  3. Edita el archivo configuration.php con los datos correspondientes (o subí un back up del mismo)

Con estas acciones, tu site debería volver a estar online, salvo que el cracker haya alterado la base de datos de tu Joomla!.

1c. Restablecimiento de la base de datos

Si el cracker alteró tu base de datos, haz lo siguiente:

  1. haz un back up de tu base de datos vulnerada
  2. restablece el último back up que tengas de la bd, vía phpmyadmin (o algún administrador de bd mysql).

Si no tenés un back up actualizado de la base de datos, tendrás que restablecer uno anterior.

Si no tenés ningún back up de la base de datos, considera que has perdido para siempre tu sitio, salvo que en tu servidor haya back ups y puedas pedírselos a tus proveedores del servicio.

2. Limpieza del sistema de archivos (eliminación de scripts y códigos malignos)

Debes limpiar el directorio de joomla (y probablemente el directorio del dominio) completamente de backdoors, scripts malignos y códigos inyectados en archivos propios de Joomla.

Esto se hace para evitar que los hackers/crackers puedan seguir entrando en tu sitio con las mismas puertas (o haciendo daño con los mismos scripts)

Hay dos formas posibles de limpiar:

1- hacer limpieza/eliminación únicamente de los archivos infectados, o
2- borrar todo y reinstalar nuevamente joomla

Para limpiar únicamente los archivos infectados es preciso:

a- identificar los archivos de joomla donde haya sido inyectado algún código (para esto no ayuda la fecha de modificación del archivo)
b- detectar archivos PHP que no son de joomla e investigar si se trata de backdoors (o viruses) para eliminarlos (para esto puede ayudar comparar la cantidad de archivos de un Joomla original, en cada directorio del mismo, con sus correspondientes en tu sitio web)

La solución de limpieza que a mi más me gusta (porque evita pérdidas de tiempo) es la reinstalación de todo, desde cero, en un directorio libre de virus y backdoors. Sin embargo esto puede ser un proceso complejo y engorroso si se trata de sitios grandes y con muchas extensiones.

3. identificación del medio de acceso de los hackers

Para identificar el medio de acceso de los hackers hay que revisar el http access log del servidor. Esto requiere conocimientos técnicos que están fuera del alcance de este artículo.

No siempre es posible identificar el medio de acceso (por dónde entraron los hackers?). En ocasiones el log de la fecha en que ocurrió el hackeo ya no está disponible, o es muy difícil la lectura del log –más aún cuando no se sabe buscar utilizando expresiones regulares-

Lo recomendable es que siempre que adviertas que tu sitio ha sido hackeado, enseguida trata de bajarte o recuperar el http access log del servidor (si tu hosting tiene Cpanel, esto es muy fácil) para que si no sabes leerlo vos, alguien con conocimientos técnicos pueda hacerlo.

También te recomiendo que hagas un back up completo del sitio web hackeado y lo descargues en tu PC (puede servirte para investigar e identificar archivos vulnerados, o pasarle este back up a alguien que pueda hacerlo por vos).

La URGENCIA de restablecer un sitio hackeado a veces puede imposibilitar una exhaustiva investigación, ya que tenemos que PRIORIZAR ponerlo online nuevamente, cuanto antes.

4. prevención de ataques futuros

  • revisa todas las extensiones de terceros de tu Joomla!, y anota sus versiones
  • busca en un buscador: nombre de la extensión + su versión + vulnerabilidad (o vulnerabilitie, o exploit)
  • parchea o actualiza las extensiones vulnerables

con lo anterior, cierras la puerta a futuros ataques, pero también es importante que maximices la seguridad de todo el sistema, para lo cual te recomiendo:

  1. implementar un buen sistema de back ups serializado (si aún no lo haces), nunca tengas "un solo back up" de su sitio, debes contar con al menos 1 o 2 back ups completos de tu sitio con una antigüedad de dos meses o un poco más, como mínimo
  2. actualiza tu joomla a la última versión disponible
  3. evita el uso de extensiones dudosas o no muy populares y antiguas
  4. evita subir archivos que te envían terceros al servidor, o pegar códigos raros en tus páginas
  5. haz protección de directorios por HTTP (administrator)
  6. activa el archivo .htaccess, que ya viene preparado para frenar ataques comunes por URL,
  7. haz denegación de accesos por rangos de IP (de Rusia y medio oriente provienen la mayoría de los hackers, si no te interesa que tus webs sean accesibles desde esas zonas, puede ser una buena opción, aunque esto no es del todo infalible porque los hackers de estas geografía podrían ingresar a través de VPNs localizados en europa o USA)
  8. no toques los permisos en archivos y directorios, a menos que sepas lo que haces
  9. usa contraseñas seguras, difícilmente adivinables o explotables por fuerza bruta

Ten en cuenta nuestro servicio de hosting con Joomla, diseño web con Joomla!, mantenimiento de sitios web y realización de back ups o aprendé rápidamente a trabajar vos mismo con nuestro curso de gestión web con Joomla!

Trackback(0)
Comentarios (0)Add Comment

Escribir comentario
smaller | bigger

security code
Escribe los caracteres de la imagen


busy

POTENCIADO POR: