Debido a su popularidad y uso masivo, los ciberdelincuentes han puesto el foco en él, y por tanto su seguridad y las medidas a adoptar para asegurarla “están de moda”.

Para cualquier profesional o aficionado que gestione una web con WordPress es importante conocer como pueden atacar su sistema, para concienciarse y tomar las medidas oportunas para evitarlo o al menos dificultarlo. Y para todo hacker ético, auditor, pentester que se precie, será también crucial conocer las técnicas de ataque para poder llevar a cabo auditorías o test de penetración eficientes.

Unos de los peligros para cualquier sistema gestionado a través de un formulario de login (donde introducimos el usuario y la contraseña), es el denominado “ataque de fuerza bruta”. El cual consiste en intentar acceder al sitio probando todas las combinaciones posibles. WordPress no iba a ser menos, y desde que publicamos en Internet nuestra web gestionada con él, estamos expuestos a que cualquier atacante pruebe combinaciones de usuarios y contraseña. Si en algún momento acierta (si hemos dejado el usuario como admin y nuestra contraseña es tan fácil como 12345, no tardará mucho), accederá al panel de control de nuestro WordPress y tendrá poder total sobre nuestra web.

 

Estos ataques se pueden realizar a mano, simplemente probando posibles usuarios y contraseñas, o se pueden automatizar (hay multitud de utilidades que permiten hacerlo). Se puede realizar un ataque de fuerza de bruta puro, probando cada uno de los caracteres posibles o se puede hacer un ataque de diccionario. Este último utiliza una lista de palabras posible y las prueba como nombre de usuario o como contraseña, de esta forma disminuye muchísimo el número de posibilidades y por tanto el tiempo necesario. En Internet se pueden conseguir muchos diccionarios donde se han reunido miles y miles de típicas contraseñas o típicos nombres de usuario.

 

Como ejemplo y para mostrar lo fácil que resulta realizar este tipo de ataques, voy a mostrar un ejemplo de ataque de diccionario utilizando la utilidad wpscan (presente en muchas distribuciones linux como por ejemplo Kali Linux). Wpscan es un analizador de vulnerabilidades específico para WordPress, pero puede ser usado para otros objetivos debido al gran número de opciones de las que dispone. Recomendos a todo administrador de WordPress que pruebe a lanzarla sobre su sitio web, puede que se sorprenda de la cantidad de información obtenida y tendrá una primera lista de posibles vulnerabilidades. Aunque lo realmente aconsejable, sobre todo si usa WordPress para gestionar un sitio web de cierta importancia, sería contratar una auditoría profesional.

 

 

Sólo con lanzar wpscan con estas opciones, se encargará de probar todas las contraseñas contenidas en “diccionario.txt” para el usuario “admin”. Como vemos no hacen falta apenas conocimientos para que cualquiera supere la seguridad de nuestro gestor de contenidos.

Pero ¿Qué podemos hacer para protegernos ante este tipo de ataques?

  1. Lo primero es usar el sentido común, esto significa:

– No usar y desabilitar nombre de usuarios administradores que vienen por defecto con WordPress como “admin”.

– Crear contraseñas suficientemente largas y complejas como para que se requiera el mayor tiempo posible en descubrirlas, y cambiarlas cada cierto tiempo.

– Usar usuarios distintos para administrar la web y para escribir entradas, contenidos, comentarios en ella, otorgándole a cada uno sólo los permisos necesarios. Esto hará que en caso de que se vulnere la contraseña de un usuario sólo se obtenga acceso a aquello sobre lo que tiene permiso.

A parte hay consejos de sentido común generales que siempre debemos tener en cuenta:

– Mantener nuestro WordPress, plugins, temas, … actualizados a la última versión y alojados en un servidor cuyo sistema también esté actualizado y sea correctamente administrado.

– Sólo instalar y utilizar plugins y temas confiables y ya probados sobradamente.

– Realizar frecuentes copias de seguridad de los archivos de nuestra web y de la base de datos, esto nos permitirá recuperarnos más fácilmente si se produce alguna intrusión que dañe los contenidos o el sistema.

2. Aparte de la recomendaciones de sentido común anteriores hay algunas técnicas específicas para prevenir ataques de fuerza bruta:

– Limitar el número de intentos de login fallidos seguidos. Hay distintas formas de indicar a nuestro WordPress que tras n intentos de acceder fallidos (se intenta acceder pero se falla en el nombre de usuario o la contraseña) se bloquee durante un tiempo el acceso desde la IP de origen. A través de este enlace podréis acceder a un listado de plugins que os permiten gestionar esta técnica: https://es.wordpress.org/plugins/search.php?type=term&q=limit+logins

– Instalar plugins que incluyan sistemas de seguridad extra al formulario de login. Por ejemplo que coloque un Captcha. Es decir que a parte de introducir el usuario y la contraseña correcta haya que responder un acertijo o pregunta para demostrar que somos un humano y no un sistema automatizado. A través de este enlace podréis acceder a un listado de plugins con esas características: https://es.wordpress.org/plugins/search.php?type=term&q=captcha

– Habilitar el acceso con un Doble Factor de Autenticación. Esto significa que para acceder a la web no bastará con acertar usuario y contraseña, sino que recibiremos un dato en nuestro móvil que deberemos introducir.