Solución temporal al problema del Administrador Fantasma de WordPress

Beware: This post was published 8 years ago and its content may be outdated.

Vía AyudaWordpress descubro un error que afecta a todas las versiones de WordPress (incluída la actual) que permite a un usuario con malas intenciones crear una cuenta de administrador mediante una inyección SQL a la Base de Datos de WordPress, lo que se traduce en que un hacker puede hacerse con el control del blog.

Mientras se arregla este problema, yo he creado una solución algo radical y temporal en formato de plugin. Bien, mi solución es la siguiente: Se le dice al plugin el número de administradores que debería haber. El plugin analiza la tabla de usuarios, y si detecta más usuarios administradores (ojo, sólo administradores) de los que debería haber, te muestra una lista con las IDs y los nombres de usuario de probables Administradores Fantasmas (las últimas cuentas de usuarios administradores).

Un ejemplo práctico: Tenemos 10 usuarios, con ID 1, 2, 3, 4, 5, 6, 7, 8, 9 y 10. Los usuarios con ID 1 y 3 son administradores, mientras que el usuario con ID 9 es un Administrador Fantasma. El plugin te propondrá borrar al usuario con ID 9. Bien, si en lugar de ser el usuario con ID 9 el Administrador Fantasma fuese el usuario con ID 2, te propondría borrar al usuario con ID 3. Como veis no es perfecto, pero un método sencillo para eliminar probables fantasmas.

Si se ha detectado algún probable Administrador Fantasma, se mostrará la opción de eliminarlo de la Base de Datos. Otra opción que permite es que elimine automáticamente a los Administradores Fantasmas cada vez que se carga una página del blog (se añade la función de borrado a wp_head). Este método es bueno si sólo hay un administrador y no queremos tener que comprobar manualmente los probables fantasmas.

Para un análisis más fiable, os recomiendo seguir los siguientes pasos:

  1. Haced una copia de seguridad de la Base de Datos de WordPress y exportad los artículos, las páginas y los comentarios del blog.
  2. Cambiad los permisos de todos los adminsitradores normales de vuestro blog a suscriptores excepto al primer administrador de la Base de Datos. El primer administrador de la Base de Datos suele tener la ID 1, ése es el administrador al que no deberéis modificar los permisos, a los demás administradores reales cambiadles los permisos a suscriptor. Así evitaréis falsos positivos y el plugin no detectará a vuestros administradores reales como fantasmas.
  3. Instalad el plugin e introducid 1 en el campo de administradores del blog de la página de opciones del plugin (que está dentro de la página de usuarios). A continuación recargad la página y fijáos en el resultado del análisis que podéis ver en la parte inferior de la página.
  4. Si veis que hay algún probable Adminsitrador Fantasma, comprobad realmente que no es ninguno de los administradores reales de vuestro blog y si realmente es un Administrador Fantasma, haced clic en el enlace que veréis al final de la página para borrar todos los usuarios que aparecen en la lista.
  5. Si el análisis os indica que no hay probables Adminstradores Fantasmas, felicidades, vuestro blog es seguro.

La opción de borrado automático de los usuarios tiene un par de problemas, para comenzar, eliminará todos los probables Administradores Fantasmas, por lo que un falso positivo puede ser irreversible. Por otro lado, este sistema borra sólo los datos de la tabla wp_users, y WordPress también almacena datos en la tabla wp_usermeta, por lo tanto quedará información. Lo más recomendable es volver a la página de opciones del plugin y borrar los Administradores Fantasmas desde el enlace que hay al final de la página.

La solución es temporal y no soluciona el problema, tan sólo lo evita. Es por esto que lo más recomendable es actualizar a la versión 2.8.5 de WordPress cuando sea liberado, ya que esta versión sí que tiene el problema solucionado.

Por último, podéis descargar el plugin desde aquí.

Edito: Parece que al contrario de lo que pensaba, WordPress 2.8.4 no se ve afectado por este error, por lo que si tenéis WordPress actualizado no hace falta que os calentéis la cabeza con el tema de los Administradores Fantasmas. De todos modos, ambos plugins deberían funcionar sin problemas en WordPress 2.8.4, por lo que si aún así no os sentís seguros, dejadlos activados.