Hashcat + CUDA
Hashcat
Hay otras herramientas de cracking, John, rcracki-mt, etc. pero Hashcat parece la más completa y eficiente pues puedes usarlo en conjunto con CUDA. En este artículo encontrarás esta y otras herramientas hacktools/#password-cracking
CUDA
CUDA es una plataforma de programación crada por NVIDIA que permite usar GPUs para paralelizar procesos de cálculo. En concreto para el cracking de contraseñas permite procesar los hashes en mucha cantidad, lo que le da una ventaja frente a las CPUs.
Instalación
En Debian necesitas instalar los drivers de nvidia y las herramientas de CUDA.
1
2
apt install nvidia-driver
apt install nvidia-cuda-toolkit
Test de instalación - benchmarking
Este comando te mostrará cuantos Hashes por segundo (H/s) o Megahashes (Mh/s) puede generar tu sistema eso sí, genera una entrada por cada algoritmo MD4, MD5, SHA1,SHA2-256, etc.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
┌──(pablo☠office)
└─$ hashcat --benchmark
hashcat (v7.1.2-345-g49d61d2f3) starting in benchmark mode
Benchmarking uses hand-optimized kernel code by default.
You can use it in your cracking session by setting the -O option.
Note: Using optimized kernel code limits the maximum supported password length.
To disable the optimized kernel code in benchmark mode, use the -w option.
CUDA API (CUDA 12.4)
====================
* Device #01: NVIDIA GeForce GTX 1050 Ti, 3504/4031 MB, 6MCU
OpenCL API (OpenCL 3.0 PoCL 6.0+debian Linux, None+Asserts, RELOC, SPIR-V, LLVM 18.1.8, SLEEF, DISTRO, POCL_DEBUG) - Platform #1 [The pocl project]
====================================================================================================================================================
* Device #02: cpu-bdver1-AMD FX(tm)-4300 Quad-Core Processor, 6954/13909 MB (2048 MB allocatable), 4MCU
Benchmark relevant options:
===========================
* --backend-devices-virtmulti=1
* --backend-devices-virthost=1
* --optimized-kernel-enable
---------------------
* Hash-Mode 900 (MD4)
---------------------
Speed.#01........: 14123.7 MH/s (94.91ms) @ Accel:288 Loops:1024 Thr:768 Vec:8
Speed.#02........: 233.0 MH/s (15.50ms) @ Accel:1024 Loops:1024 Thr:1 Vec:8
Speed.#*.........: 14356.7 MH/s
-------------------
* Hash-Mode 0 (MD5)
-------------------
Speed.#01........: 7733.8 MH/s (90.43ms) @ Accel:128 Loops:1024 Thr:896 Vec:8
Speed.#02........: 188.4 MH/s (21.62ms) @ Accel:1024 Loops:1024 Thr:1 Vec:8
Speed.#*.........: 7922.2 MH/s
----------------------
A partir de este momento puedes indicar a hashcat para que solo utilize la GPU
1
hashcat -m 3200 -d 1 hashes ~/pentest/wordlist/SecLists/Passwords/Common-Credentials/Pwdb_top-10000000.txt
Obviamente la clave en el crackeo de contraseñas reside en la generación de buenos diccionarios.
Algoritmos
Aquí la lista de Hashes que Hashcat es capaz de descifrar https://hashcat.net/wiki/doku.php?id=example_hashes
La mejor contraseña, es aquella imposible de adivinar