Es la herramienta de recuperación de passwords mas rápida, basada en CPU y está bajo licencia MIT.
Soporta algoritmos cómo: MD4, MD5, SHA-family, Unix Crypt formats, MySQL, Cisco PIX.
Hashcat te permite permutar varios parámetros:
Puedes definir el modo de ataque:
- 0 = Straight
- 1 = Combination
- 3 = Brute-force
- 6 = Hybrid Wordlist + Mask
- 7 = Hybrid Mask + Wordlist
Outfile:
- 1 = hash[:salt]
- 2 = plain
- 3 = hash[:salt]:plain
- 4 = hex_plain
- 5 = hash[:salt]:hex_plain
- 6 = plain:hex_plain
- 7 = hash[:salt]:plain:hex_plain
- 8 = crackpos
- 9 = hash[:salt]:crack_pos
- 10 = plain:crack_pos
- 11 = hash[:salt]:plain:crack_pos
- 12 = hex_plain:crack_pos
- 13 = hash[:salt]:hex_plain:crack_pos
- 14 = plain:hex_plain:crack_pos
- 15 = hash[:salt]:plain:hex_plain:crack_pos
Permite indicar el charset a usar:
- ?l = abcdefghijklmnopqrstuvwxyz
- ?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ
- ?d = 0123456789
- ?h = 0123456789abcdef
- ?H = 0123456789ABCDEF
- ?s = !»#$%&'()*+,-./:;<=>?@[]^_`{|}~
- ?a = ?l?u?d?s
- ?b = 0x00 – 0xff
Y el tipo de hash:
- 0 = MD5
- 10 = md5($pass.$salt)
- 20 = md5($salt.$pass)
- …..
- 11200 = MySQL Challenge-Response Authentication (SHA1)
- 11400 = SIP digest authentication (MD5)
(Es recomendable mirar la lista en el manual de hashcat ya que hay muchísimos tipos de hashes.)
Por ejemplo, el numero 3 del código indica que el modo de ataque es por fuerza bruta. Y se puede definir el primer carácter de la contraseña como un carácter en mayúscula especificando ?u seguido de 5 caracteres en minúscula (?l?l?l?l?l) y los cuatro últimos carácteres numéricos ?d?d?d?d
hashcat -a 3 ?u?l?l?l?l?l?d?d?d?d
Para hacer una prueba he creado un password y lo he hasheado en md5 y lo guardo en un fichero llamado pass.hash ,como sé que es md5 le pongo la correspondiente flag -m 0
hashcat -m 0 pass.hash
hashcat -m 0 pass.hash
hashcat (v6.1.1) starting...
OpenCL API (OpenCL 1.2 pocl 1.6, None+Asserts, LLVM 9.0.1, RELOC, SLEEF, DISTRO, POCL_DEBUG) - Platform #1 [The pocl project]
=============================================================================================================================
ATTENTION! Pure (unoptimized) backend kernels selected.
Using pure kernels enables cracking longer passwords but for the price of drastically reduced performance.
If you want to switch to optimized backend kernels, append -O to your commandline.
See the above message to find out about the exact limits.
Watchdog: Hardware monitoring interface not found on your system.
Watchdog: Temperature abort trigger disabled.
Host memory required for this attack: 68 MB
Starting attack in stdin mode...
Session..........: hashcat
Status...........: Running
Hash.Name........: MD5
Hash.Target......: 5f4dcc3b5aa765d61d8327deb882cf99
Time.Started.....: Sat Jun 7 08:51:21 2025 (10 secs)
Time.Estimated...: Sat Jun 7 08:51:31 2025 (0 secs)
Guess.Base.......: Pipe
Speed.#1.........: 0 H/s (0.00ms) @ Accel:1024 Loops:1 Thr:1 Vec:8
Recovered........: 0/1 (0.00%) Digests
Progress.........: 0
Rejected.........: 0
Restore.Point....: 0
Restore.Sub.#1...: Salt:0 Amplifier:0-0 Iteration:0-1
Candidates.#1....: [Copying]
Miro el hash que tenia guardado en pass.hash
cat pass.hash
5f4dcc3b5aa765d61d8327deb882cf99