# Hydra

Guía de ejemplos para usar hydra en distintos escenarios de descubrimiento de credenciales.

{% stepper %}
{% step %}

### Descubrir con usuario y contraseña conocidos

```sh
hydra -l user -p password protocol://<IP>:<PORT>
```

* `-l`: Es para especificar un único usuario a probar.
* `-p`: Es para especificar una única contraseña a probar.
* `protocol`: Sirve para especificar el protocolo al cuál se le estará haciendo las consultas, por ejemplo: `ssh`, `ftp`, etc.
  {% endstep %}

{% step %}

### Descubrir con usuario conocido

```sh
hydra -l user -P passwords.txt protocol://<IP>:<PORT>
```

* `-l`: Es para especificar un único usuario a probar.
* `-P`: Es para especificar una lista de contraseñas a probar.
  {% endstep %}

{% step %}

### Descubrir con contraseña conocida

```sh
hydra -L users.txt -p password protocol://<IP>:<PORT>
```

* `-L`: Es para especificar una lista de usuarios a probar.
* `-p`: Es para especificar una única contraseña a probar.
  {% endstep %}

{% step %}

### Descubrir con usuario y contraseña desconocidos

*Un poco lento y podría ser la última opción.*

```sh
hydra -L users.txt -P passwords.txt protocol://<IP>:<PORT>
```

* `-L`: Es para especificar una lista de usuarios a probar.
* `-P`: Es para especificar una lista de contraseñas a probar.
  {% endstep %}

{% step %}

### Descubrir con pares user:password

Si tienes un archivo con pares `user:password` (ejemplo):

```
lel:ixpvcxvcxvcxeqdW
lul:ixpeqdmnbmnbmnbmW
dog:ixperewrewrewqdW
```

Usa `-C` para que hydra pruebe sólo los pares correspondientes (modo horizontal).

```sh
hydra -C credentials protocol://<IP>:<PORT>
```

* `-C`: Es para especificar la lista de pares `user:password` a probar.
  {% endstep %}
  {% endstepper %}

#### Referencia:

{% embed url="<https://hackmyvm.eu/venus>" %}
