Pruebe los inicios de sesión de WordPress con Hydra en Kali Linux

Pruebe los inicios de sesión de WordPress con Hydra en Kali Linux

Introducción

Hay formularios web en Internet. Incluso los sitios que generalmente no permiten a los usuarios regulares iniciar sesión probablemente tengan un área de administración. Es importante cuando se ejecuta e implementa un sitio para asegurarse de que las contraseñas activen el acceso a controles y paneles de administración.

Hay diferentes formas de atacar una aplicación web, pero esta guía cubrirá el uso de Hydra para realizar un ataque de fuerza bruta en un formulario de inicio de sesión. La plataforma objetivo de elección es WordPress. Es fácilmente la plataforma CMS más popular del mundo, y también es conocido por ser manejado mal.

Recordar, Esta guía está destinada a ayudarlo a proteger su WordPress u otro sitio web. Usar en un sitio que no posee o que haya escrito permiso para probar es ilegal.

Establecer

Antes de hacer algo, necesitará un sitio web de WordPress para apuntar. Esta guía también supone que está alojando el sitio de WordPress en su propia máquina. Si necesita ayuda para configurar la lámpara en su máquina, consulte nuestras guías de lámpara de Debian y Ubuntu Lamps.

Puede hacer esto en una instalación regular de Linux o en una instalación de Kali Linux. Si está utilizando Kali, siga la lámpara de Debian desde la guía fuente. Solo asegúrese de tener Hydra y Curl instalados en el sistema que elija. Están disponibles en la mayoría de los repositorios.

Si realmente no desea utilizar su instalación regular, definitivamente puede usar otra máquina, solo sub en la IP del objetivo para localhost y asegúrese de que la máquina de destino esté accesible desde la de ataque.



Reuniendo información

Una vez que tenga WordPress en funcionamiento, es hora de encontrar tanta información como pueda sobre la instalación a la que se dirigirá. Esto significa descubrir cómo se construye el formulario de inicio de sesión, qué sucede cuando lo envía y posiblemente a dónde va si el inicio de sesión es exitoso.

Fuente HTML

Comience navegando a la página de inicio de sesión. Puedes encontrarlo en localhost/wp-login.php. Use la capacidad de su navegador para inspeccionar el código fuente. Puede hacer clic derecho en algún lugar de la página y seleccionar "Ver fuente" o "Inspeccionar elemento."De cualquier manera, puede ver la fuente, solo se mostrará de diferentes maneras.

Buscar alrededor hacia la mitad del código. Estás buscando las etiquetas. Ese es el formulario de inicio de sesión real. Dentro de esa forma hay un par de información que necesita.

Antes de recopilar la información, verifique si el formulario envía una solicitud de Get o Post. En la primera línea del formulario, debe haber una opción de método que se vea así: Método = "Post". En el caso de WordPress, es una publicación.

Primero, encuentre la entrada del nombre de usuario. Debería parecer la línea de abajo.

 

La parte que necesitas es la nombre. En este caso, es registro.

A continuación, busque la entrada de contraseña. Debería parecer similar.

 

De nuevo, encuentra el nombre cual es pwd.

También debe identificar el botón Enviar para que Hydra pueda enviar el formulario.

 

Es importante registrar tanto el nombre y el valor.

Hay una última pieza. Si no ha notado, hay dos campos ocultos en la parte inferior del formulario. Uno le dice a WordPress que redirige cuándo se envía el formulario y la otra es una cookie que WordPress buscará cuando se envíe el formulario. Necesitas la galleta.

 

De nuevo, tome nota del nombre y valor.



rizo

Aunque había mucha información que obtener al observar la fuente HTML, hay algunas cosas más que debes saber antes de desatar Hydra. Sin embargo, en la mayoría de los casos, es posible que pueda ejecutar la prueba con solo la información que recopiló. Simplemente intentaría iniciar sesión con credenciales incorrectas, registrar el mensaje de error y usar ese mensaje como una condición de prueba falla en Hydra.

Sin embargo, WordPress está diseñado de manera diferente, y en realidad no hay una buena manera de probar con intentos fallidos de iniciar sesión. Debido a esto, debe probar un inicio de sesión exitoso. Debido a que puede mantener su propia instalación de WordPress e iniciar sesión en ella, esto no marcaría la diferencia si estuviera probando un sistema para un cliente. La condición que encuentre localmente debe ser universal a WordPress.

También hay otra arruga aquí. ¿Recuerdas el campo de redirección oculta en la forma?? Bueno, esa redirección le impide usar una condición como la presencia de la palabra, "tablero", para probar el éxito también. Tendrás que echar un vistazo a la solicitud en sí, y para eso, hay rizado.

Para comparar, primero debe ver la página de inicio de sesión original con curl.

$ curl -v http: // localhost/wp -login.php 

La mayoría de la información es la misma que el código fuente que observó en el navegador. Sin embargo, en la parte superior está la información sobre la solicitud HTTP. Tome nota de esta información. Vas a necesitar compararlo con un inicio de sesión exitoso.

Lo siguiente que debe hacer es iniciar sesión con éxito con Curl. Para hacer eso, necesitará esa cookie de la solicitud anterior. Eche un vistazo a los datos HTTP y localice una línea que se vea como la que se encuentra a continuación.

< Set-Cookie: wordpress_test_cookie=WP+Cookie+check; path=/

Vas a necesitar el WordPress_Test_Cookie = WP+Cookie+Check parte.

Muy bien, ahora necesitará la información que recopiló del HTML junto con esa cookie para hacer la solicitud. Así es como debería verse.

curl -v --data 'log = username & pwd = Realpassword & wp-submit = log+in & testcookie = 1'--cookie 'wordpress_test_cookie = wp+cookie+check' http: // localhost/wp-login.php 

Entonces, tiene la misma solicitud básica que antes, pero esta vez está utilizando el --datos bandera y el --Galleta bandera para pasar el curl que formulan datos con los que desea interactuar y esa cookie, por lo que el formulario realmente se enviará.

Esa cadena de datos, LOG = USERNAME & PWD = RealPassword & WP-Submit = Log+In & TestCookie = 1 corresponde directamente a la información que recopiló del HTML. Está diciendo conectar el valor "nombre de usuario" en la entrada llamada registro y el valor "RealPassword" en la entrada llamada pwd. Asegúrese de usar el nombre de usuario y la contraseña reales para iniciar sesión. Luego, use el envío con el nombre WP-Submit y un valor de Acceso Para enviar los datos. Al final es testcookie con un valor de 1. Eso es solo decirle a Curl que envíe eso junto con el resto de los datos del formulario.

Cuando Curl completa la solicitud, realmente no verá ningún HTML, solo mucha información de solicitud. Recuerde que la redirección que hizo que las pruebas con "tablero" no funcionen como condición de prueba? Bueno, ahora la redirección en sí será la condición de prueba. Echa un vistazo a la línea de abajo.

< Location: http://localhost/wp-admin/

Esa línea no estaba en la solicitud anterior. Tampoco contiene ninguna información específica relacionada con ese usuario o inicio de sesión. Eso significa que lo hará siempre estar presente durante un inicio de sesión exitoso de WordPress, por lo que es la condición de éxito perfecta para probar con.



Prueba con Hydra

Finalmente, tiene todo lo que necesita para probar sus contraseñas con Hydra. El punto de esta guía no es tanto para cubrir la sintaxis de Hydra, pero romperá el comando utilizado. Si desea obtener más información sobre Hydra, consulte la guía SSH que entra en mucho más detalle.

En realidad, solo hay un comando que necesita para que Hydra se ejecute a través de posibles nombres de usuario y contraseñas para probar la seguridad de su sitio de WordPress. Lo más fácil de hacer es echar un vistazo al comando y desglosarlo.

$ HYDRA -L LISTAS/USRNAME.listas/pases de txt -p.txt localhost -v http-form-post '/wp-login.php: log =^user^& pwd =^pass^& wp-submit = log in & testcookie = 1: s = ubicación ' 

Bien, entonces esto es obviamente mucho para asimilar a la vez. El -L Flag le dice a Hydra que use una lista de palabras de nombre de usuario en listas/usrname.TXT. Del mismo modo, el -PAG Flag le dice a Hydra que use una lista de palabras de contraseñas en listas/pases.TXT. hostil le dice a Hydra que apunte a localhost, y -V le dice que registre cada prueba en la salida de la consola.

El resto del comando trata de la solicitud HTTP en sí misma. http-forma-post activa el módulo HYDRA para manejar las formas HTTP con un método de publicación. Recuerde de antes que el formulario de inicio de sesión de WordPress está en la cara de una publicación de. La cadena que sigue contiene todos los parámetros que usará Hydra. Debe notar que es muy similar al utilizado para iniciar sesión a través de Curl.

La cadena consta de diferentes secciones separadas por :. La primera parte es la dirección exacta que se está probando, /WP-Login.php. La siguiente parte es casi exactamente como la utilizada por Curl. Pasa valores al formulario y lo envía, incluida la cookie. En lugar de pasar los valores literal, Hydra en realidad está usando variables. Avisar Log =^usuario^ y pwd =^pase^. Esas son variables separadas con el carácter de zanahoria que toman los valores de las listas de palabras y las pasan en la solicitud de cada prueba que se ejecuta Hydra.

La última pieza de la cadena es la condición de prueba. S significa que está probando el éxito. Si quisieras probar el fracaso, usarías F. Lo establece igual a la palabra o frase que está probando. Piensa si casi es como grep.

Cuando ejecuta esto, debe obtener un resultado positivo, siempre que el nombre de usuario y la contraseña correctos estén en las listas de palabras que proporcionó Hydra.

Pensamientos de cierre

En primer lugar, felicidades por superar todo eso. Si lo ha logrado, ahora tiene un método sólido para probar la fuerza de contraseña de sus cuentas de usuario de WordPress.

Esta guía se adaptó a WordPress, pero puede seguir fácilmente los mismos pasos para probar otros formularios web. Si ejecuta una aplicación web con varios usuarios, definitivamente es una buena idea hacer
Seguro que están usando contraseñas seguras. Esto puede ayudar a informar su política de contraseña. Nuevamente, asegúrese de que siempre esté probando con permiso.

Tutoriales de Linux relacionados:

  • Lista de las mejores herramientas de Kali Linux para pruebas de penetración y ..
  • Cómo arrancar dual Kali Linux y Windows 10
  • Ubuntu 20.04 WordPress con instalación de Apache
  • Ubuntu 20.04: WordPress con instalación de Nginx
  • Instalación de WordPress OpenLitespeed
  • Cómo instalar Kali Linux en VMware
  • Use WPSCan para escanear WordPress para vulnerabilidades en Kali
  • Configuración del servidor Kali HTTP
  • Cómo descifrar la contraseña con cremallera en Kali Linux
  • Endurecimiento de Kali Linux