WPScan es una herramienta creada por Ryan Dewhurst que perminte escanear WordPress en busca de vulnerabilidades, la descubrí gracias a los enlaces semanales de Security by Default y hoy estuve jugando un poco con ella.
Entre sus opciones más interesantes se encuentran la enumeración de plugins, vulnerabilidades y usuarios para realizar ataques de fuerza bruta. En el siguiente video realizo un ataque real a un blog que me pertenece y menciono las contramedidas que se pueden adoptar.
Nota: la última versión del programa es la 1.1, en el video utilizo la anterior. Con un «apt-get update && apt-get upgrade» se pueden actualizar repositorios y programas. Gracias @ethicalhack3r
Contramedidas y consejos:
Como muchos sabrán mantener la instalación de WordPress y los plugins actualizados es fundamental para la seguridad del sitio, el video muestra claramente que sin muchas complicaciones se pueden detectar las vulnerabilidades y sus exploits correspondientes.
Es posible ocultar la versión de WordPress y también se puede evitar el listado de plugins con una configuración adecuada del servidor, en los siguientes enlaces pueden encontrar más información al respecto:
– Ocultar versión de WordPress.
– Listado de plugins y configuración segura de Apache para evitarlo.
Por otro lado, tal vez lo más llamativo sea la obtención de la contraseña por fuerza bruta, pero este ataque es sencillo de mitigar y hay varias formas de hacerlo. Además de tener una contraseña fuerte que se cambie periódicamente, se pueden instalar plugins tales como Login LockDown o Limit Login Attempts que permiten bloquear una IP cuando se realiza una determinada cantidad de logins fallidos.
Otro plugin muy interesante es Google Authenticator el cual agrega una doble verificación en el login, de esta forma si roban tu contraseña de WordPress aún será necesario el otro dato para acceder.
La detección de los usuarios se puede evitar, además hay que tener en cuenta que un ataque de fuerza bruta también se podría realizar al FTP, por lo que es fundamental tener contraseñas fuertes y algún tipo de protección extra para detectar y bloquear los ataques (Firewall + Brute Force Detection), los siguientes enlaces contienen más información, consejos y soluciones:
– Enumaración de usuarios en WordPress (así los pueden detectar).
– Ocultar errores en el login de WordPress.
– Restringir acceso por IP al login.
– Bloqueo de ataques por fuerza bruta (Brute Force Detection).
– 21 plugins de seguridad y más recomendaciones para el servidor.
– Evita el full path disclosure de plugins y themes.
– 13 Vital Tips and Hacks to Protect Your WordPress Admin Area.
Hay más aspectos de seguridad que se podrían mencionar, en estos links que les comparto se abordan todos, así que les recomiendo leerlos con tranquilidad y anteción para aprender más y mantener más seguros los blogs. Si tienen alguna duda o necesitan una mano con alguna instalación, ya saben que pueden dejar un comentario.
Por último les comento que hay algunas aplicaciones que nos pueden ayudar a detectar problemas o malas configuraciones, para WordPress existe un plugin de WebsiteDefender que realiza un análisis de seguridad y controles periódicos (recomendado). En caso de tener un servidor VPS o Dedicado bajo Linux les recomiendo probar CSF (ConfigServer Security & Firewall), se trata de un firewall que también verifica la configuración y seguridad del servidor, lo mejor de todo es que explica las acciones a tomar para corregir los problemas.
Federico, sobre el tema de poner las ip que pueden acceder al administrador de worpress en el htaccess. Yo lo he probado y funciona, poniendo el rango asi: 186.76.
y pueden acceder todas las que empiezan así que generalmente son las que te asigna tu proveedor.
Muy bueno el tutorial pero el titulo seria mejor: Scanner de vulnerabilidades en WordPress y ataque por diccionario no fuerza bruta.
Muy bueno el blog Saludos!
justo lo que me paso, me acaban de hacker mis dos sitios con antiguedad, asi que cuando los del hosting lo reestablezcan voy a probar con este plugin, pero si uno mismo le erra tres veces, cuando estamos cansados, estresados, que hacer para poder ingresar al panel de administracion de WP, si queda bloqueado para mi IP.
Si tienes una IP dinámica no tendrías problema, prueba reiniciar tu modem de internet y verificar si tu IP cambia.
Puedes ver tu IP ingresando al foro, arriba de todo… http://forospamloco.net
El plugin además te permite limitar los intentos fallidos al número que quieras, pueden ser más de 3… también los minutos que la IP estará bloqueada.
Muchas gracias Ale, saludos
Hey Alejandro volví a tu post porque me acaba de pasar en uno de mis sitios que dice que fué hackeado. Les llamé a los de soporte y me lo arreglaron enseguida.
Simplemente el mensaje de tu post me hizo recordar la importancia de cambiar tu clave y tener wordpress actualizado.
No supe la vulnerabilidad en mi sitio (menos mal que es un sitio que casi no actualizo) pero ya lo pude vivir en carne propia. No es buena experiencia cuando tu sitio se cae por horas. :-(
Saludos amigo! ;-)
Muchas gracias por el blog post y video para WPScan! :D
Un pequeno cosa, el vercion que has usado es la vercion antigua. La nueva vercion es la 1.1.
Si haces esta commanda en BT5 se instalara la nueva vercion:
«apt-get update && apt-get upgrade»
Gracias!
Gracias por el comentario Ryan!
Ahora entiendo por qué no me aparecía el –force :)
Soy el programador de wpbf, una herramienta similar hecha en Python que no necesita instalar ningun paquete adicional. Tuve problemas para correr WPScan por que no pude instalar las dependencias (y tengo una negacion con Ruby!).
Wpbf enumera usuarios y hace bruteforce, enumera plugins pero no checkea vulnerabilidades. Me gustaria que, los que puedan, lo prueben y lo comparen con WPScan para decirme que le falta o que les gustaria tener.
wpbf en Github: https://github.com/atarantini/wpbf
Saludos!
Gracias por el dato Andres, lo voy a probar.
Hola..
Excelente informacion…
No conocia ninguno de estos plugins. Pero creo que es hora de empezar a blindar nuestros sitios con estas herramientas aqui compartidas.
Saludos
Ricardo
Una entrada muy interesante y a tener en cuenta para todos los que trabajamos con WordPress.
Ufff trae de bajarlo para windows pero no supe como…
No intenté usarlo con Windows… leí que se podía utilizar con Cygwin que te permite tener un «entorno Linux en Windows».
Gracias spam, osea que bajo la misma versión para linux???
Si, creo que funcionaría sólo con hacer eso.
Sabes si se puede limitar el login a un rango de IP? Como por ejemplo, que se pueda acceder desde cualquier IP en el rango 190.60.xxx.xxx ?
creo que lo puedes hacer con el archivo .htaccess
Si, voy a probar… nunca probé con rango :(
Acá se explica fácil, como dice Miguel es desde el htacces: http://ayudawordpress.com/restringir-acceso-a-wp-admin/
También se le puede poner password: http://www.websitedefender.com/wordpress-security/htaccess-files-wordpress-security/
Y cambiar la URL del login, pero nunca lo probé tampoco (punto 1): http://www.wpbeginner.com/wp-tutorials/11-vital-tips-and-hacks-to-protect-your-wordpress-admin-area/