Muchas veces cuando recibimos algún tipo de ataque u olvidamos la clave de nuestra web hosteada, tendremos que recuperar la contraseña que tengamos de Super Administrador en Joomla!
Como algunos sabrán, en las primeras versiones de Joomla! 1.5 podíamos recuperar las contraseñas de forma sencilla, mientras que en las últimas versiones de Joomla! 1.5 y 2.5, con la mejora de la seguridad, se volvió más dificultoso realziar dicha tarea. Existen varios metodos de recuperar y/o generar una nueva clave para el administrador de joomla. Aqui veremos algunos de ellos.
Metodo 1:
Si tenemos acceso al correo de registro del usuario, la opción más rápida es la de usar la función de recordar contraseña que viene por defecto con Joomla!. Para esto solo tednremos que acceder a la siguiente dirección de nuestra web:
http://tusitio.com/index.php?option=com_users&view=reset
Tendremos que sustituir tusitio.com por la dirección del sitio. Esta opción además es compatible con la versión 1.5.
Metodo 2:
En Joomla 1.6 y posterior
Si tienes acceso al archivo de configuración.php de la instalación de Joomla en tu hospedaje web, puedes recuperar el password utilizando el siguiente método:
1. Conéctate vía FTP por medio del uso de un cliente FTP (coreftp, filezilla, etc, u otro cliente FTP) y observa los permisos en el archivo (CHMOD), Si los permisos son 444 o algún otro valor distinto, cambia los permisos de configuration.php hacia 644. Esto ayudará a prevenir problemas cuando subas o modifiques ese archivo.
2. Descarga el archivo configuration.php a tu máquina.
3. Abre el archivo configuration.php que descargaste con un editor del tipo notepad++ y añade esta línea:
public $root_user=’minombre’;
en la parte de abajo del archivo, en donde minombre es el usuario con acceso de administrador del que sabes el password. Un usuario que tenga nivel de Autor o más elevado aún puede colocarse también en lugar de un usuario administrador.
4. Guarda el archivo configuration.php y vuelve a subirlo al hospedaje web. Puedes dejar los permisos en 644.
Este usuario será temporalmente un usuario Super Administrador.
5. Entra a la parte de administración de Joomla y cambia el password del usuario administrador que olvidaste o crea un nuevo usuario super admin. Si creas un nuevo usuario es buena idea que bloquees o elimines el viejo usuario, ya que nadie lo usará y es un agujero posible de seguridad.
6. Cuando finalices, asegúrate de utilizar la liga “Click here to try to do it automatically” que aparece en el cajón de alerta para quitar la línea que añadiste al final del archivo configuration.php. Si la utilización de ese link no es exitosa, entonces debes eliminarla tú mismo utilizando el editor de texto. Si es así, no olvides subir nuevamente el archivo modificado.
7. Utilizando tu programa FTP, verifica que los permisos del archivo configuration.php sea la apropiada: 444. Si manualmente eliminaste la línea, no olvides cambiar los permisos a 444.
Si no tienes usuario del que recuerdes el password, entonces no será posible utilizar este método y será necesario cambiarlo directamente en la base de datos, tal y como se explica en la siguiente parte de este artículo.
Metodo 3:
Si el usuario administrador está aún en la base, la opción más simple es cambiar el password en la base de datos con un valor conocido. Este método requiere el acceso a una base de datos vía phpMyAdmin o cualquier otro cliente manejador de SQL en línea.
1. Navega hacia tu phpMyAdmin y selecciona la base de datos para el sitio Joomla. Te mostrará las tablas de la base de datos del lado izquierdo de la pantalla.
2. Da click sobre la table “jos_users” en la lista de tablas (Nota: puedes tener un prefijo distinto a jos)
3. Clic en el botón de Examinar o Browse en la barra de herramientas. Esto desplegará los usuarios que existan para ese sitio.
4. Encuentra el usuario al que deseas cambiar el password y da clic en el icono de Editar en esa línea.
5. Se mostrará una forma que te permitirá cambiar el campo de password. Copia el siguiente valor:
d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199
En el campo de password y da clic en el botón Go o Continuar. phpMyAdmin mostrará el mensaje “Affected rows: 1″ (Líneas modificadas: 1). En este momento, el password debe estar ya cambiado hacia “secret”.
6. Entra a la adminsitración de tu sitio Joomla utilizando el usuario y password que colocaste. Cambia el password a un valor más seguro. Revisa los usuarios del Administrador de usuarios para asegúrarte que sean usuarios legítimos. Si tu sitio ha sido hackeado, lo mejor es que cambies todos los passwords de tu sitio.
Metodo 4:
Añade un Nuevo Usuario Super Administrador
Si el cambio de password no funciona, o no estás seguro que usuario es miembro del grupo Super Administrador, puedes utilizar el siguiente método para crear un nuevo usuario.
1. Navega el phpMyAdmin y selecciona la base de datos de tu sitio Joomla. Las tablas se mostrarán del lado izquierdo de la pantalla.
2. Da clic sobre el botón SQL en las herramientas que se muestran para ejecutar una consulta SQL en la base de datos seleccionada. Se mostrará el campo “Run SQL query/queries on database “.
3. Elimina cualquier texto que esté dentro del campo y copia y pega uno de los siguientes queries y da click en el botón Go para ejecutar la consulta y añadir un nuevo usuario administrador a la tabla.
4. Usa la versión 1.6 de query para un sitio que utilice Joomla 1.6.xx y utiliza la versión 1.5 de query para sitios Joomla 1.5.xx
Nota: El código siguiente utiliza jos_ como el prefijo en el nombre de las tablas, ya que es el prefijo por defecto de Joomla. Si al instalar tu sitio Joomla cambiaste el prefijo, no olvides modificar el prefijo aquí también.
Código SQL para Joomla 1.6.xx, 2.5.xx y 3.0.x
INSERT INTO `jos_users`
(`name`, `username`, `password`, `params`)
VALUES (‘Administrator2′, ‘admin2′,
‘d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199′, ”);
INSERT INTO `jos_user_usergroup_map` (`user_id`,`group_id`)
VALUES (LAST_INSERT_ID(),’8′);
Código SQL para Joomla 1.5.xx
INSERT INTO `jos_users`
(`name`, `username`, `password`, `usertype`, `gid`, `params`)
VALUES (‘Administrator2′, ‘admin2′,
‘d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199′,
‘Super Administrator’, 25, ”);
INSERT INTO `jos_core_acl_aro`
VALUES (NULL, ‘users’, LAST_INSERT_ID(), 0, ‘Administrator2′, 0);
INSERT INTO `jos_core_acl_groups_aro_map`
VALUES (25, ”, LAST_INSERT_ID());
Al ejecutar estos queries o consultas, debes tener ya la opción de ingresar al administrador de Joomla utilizando el usuario “admin2″ y el password “secret”. Una vez puedas entrar, utiliza el Administrador de usuarios para cambiar el password hacia un valor más seguro y no olvides añadir al usuario una cuenta de correo existente. Si tienes sospecha que has sido hackeado, no olvides revisar que todos los usuarios existentes sean legítimos, especialmente cualquier miembro del grupo Super Administrador.
Algunos otros valores MD5 para password alternativos son:
- admin = 433903e0a9d6a712e00251e44d29bf87:UJ0b9J5fufL3FKfCc0TLsYJBh2PFULvT
- secret = d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199
- OU812 = 5e3128b27a2c1f8eb53689f511c4ca9e:J584KAEv9d8VKwRGhb8ve7GdKoG7isMm
Importante:
Estos passwords aquí están en una página de acceso público, por lo que no es recomendable utilizarse más que para recuperar tu usuario. Debes cambiarlos a un valor más seguro tan pronto puedas ingresar a la administración de tu sitio Joomla.