Información Importante Sobre el Contenido
Estas accediendo al contenido antiguo del blog. Este artículo "Ataque de fuerza bruta a Wordpress" es de dominio público y no será mantenido a futuro. Cualquier error o problema acerca del contenido por favor contactate conmigo desde la sección contacto.
Los ataques por fuerza bruta a instalaciones WordPress son un tanto faciles, ya que es muy sencillo determinar los usuarios del sistema y no tiene sistemas de protección de Throttling Login Attempts o límite de intentos de ingreso, lo cual nos permite hacer éste tipo de ataques.
Determinar los nombres de usuarios es tan sencillo como escribir algún supuesto usuario y llenar el campo de contraseña con cualquier información, cuando presionemos “Iniciar Sesion” el sistema nos dirá “Usuario incorrecto” si es que el usuario no existe o bien “Password incorrecta“, en el caso que el usuario si exista y el password sea invlálido. Con un ataque distribuido es posible obtener el password de un usuario en particular muy sencillamente, sólo es cosa de tiempo.
Si pensamos hacerlo de forma remota puede que nos tardemos un poco más, pero pensemos desde el mismo lado del servidor, imaginemosnos que tenemos una cuenta en el hosting donde está hospedado el CMS, será todo mucho más fácil y más rápido.
Hace un tiempo, yo publiqué un script en php bastante sencillo que nos permitía hacer ésto en simples pasos leyendo palabras desde un diccionario, lo interesante de éste script es que no sólo funciona con wordpress, sino con cualquier weblogin “simple” e inseguro. Luego encontré un artículo relacionado muy interesante, que hablaba sobre estos tipos de ataques y analizaban un script que encontraron en un servidor, el cual era mucho mas sofisticado y trabajado que el mio, permitia hacer ataques distribuidos desde distintas máquinas y de esta forma aumentar si desempeño más de un 1000% (sí, mil por ciento).
Su funcionamiento (copy&paste):
La funcion wp_brute_attempt() toma 3 parámetros, $ch que es la estuctura cURL (cURL es una herramienta de línea de comando que se puede usar para realizar peticiones HTTP ). Los otros dos parámetros definen el sitio y la contraseña que se intentará. Si el script consigue validarse exitosamente, la página que es devuelta por el servidor contendrá la frase “Log Out”, y la función devolverá el valor verdadero.
Ahora, lo interesante del script es que permite el cracking distribuido. La información es guardada en una base de datos MySQL y el script realmente se conecta en forma directa a la base de datos principal. Esto permite al atacante correr varios scripts simultáneos – cada uno de ellos tomará 200 URL nuevas y las marcará con el ID del script forzador ($colo)
Encuentro súper interesante lo que se hizo y de la forma en que fue pensado, la próxima véz que se me ocurra hacer algo así, lo hare distribuido usando una base de datos accesible remotamente para aumentar el rendimiento y desempeño del script. Si lo llego a hacer, publicaré una prueba de concepto con los resultados.
Fuente en español: Segu-Info
Información Importante Sobre el Contenido
Estas accediendo al contenido antiguo del blog. Este artículo "Ataque de fuerza bruta a Wordpress" es de dominio público y no será mantenido a futuro. Cualquier error o problema acerca del contenido por favor contactate conmigo desde la sección contacto.
diciembre 9, 2009 a las 10:28 am
Es increíble que un sistema tan conocido y utilizado como WordPress tenga este tipo de fallos. Cómo van a diferenciar entre un usuario válido y uno inválido independientemente de la contraseña?!!! :S
diciembre 12, 2009 a las 8:28 am
Debe ser que estos de wordpress no se han leído la guía de pruebas de OWASP
diciembre 16, 2009 a las 6:49 pm
Déjame felicitarte, que bueno que está tu blog los temas tienen la información exacta que me interesa, sigue posteando más sobre estos temas.
Saludos.
diciembre 19, 2009 a las 4:26 pm
@Guissella: Gracias por tu comentario! Me animas a seguir escribiendo como lo estoy haciendo. saludos
septiembre 3, 2010 a las 1:51 pm
A mi paracer el word press me parace un poco arcaico pero si es lo que por el momento hay solo queda adaptarse.