Implementar Ataques de Brute-Force com Padrões Específicos
Nesta etapa, você explorará ataques de brute-force usando o modo incremental do John the Ripper. O modo incremental permite que o John gere senhas com base em conjuntos de caracteres (por exemplo, minúsculas, maiúsculas, dígitos, símbolos) e comprimento, realizando efetivamente um ataque de brute-force.
Primeiro, vamos criar um novo hash de senha que não está em nossa lista de palavras simples. Usaremos testuser:testpass (o hash MD5 de testpass é 5d41402abc4b2a76b9719d911017c592).
echo "testuser:5d41402abc4b2a76b9719d911017c592" > /home/labex/project/brute_passwords.txt
Agora, usaremos o John the Ripper no modo incremental. Para simplicidade e velocidade, limitaremos o conjunto de caracteres e o comprimento da senha. Usaremos o modo digits para quebrar uma senha que consiste apenas em dígitos.
Vamos supor que temos uma senha de 4 dígitos, por exemplo, 1234. O hash MD5 para 1234 é 81dc9bdb52d04dc20036dbd8313ed055.
echo "digituser:81dc9bdb52d04dc20036dbd8313ed055" > /home/labex/project/digit_passwords.txt
Agora, execute o John the Ripper no modo incremental, visando especificamente os dígitos:
john --format=raw-md5 --incremental=digits digit_passwords.txt
Este comando tentará todas as combinações de dígitos até encontrar a senha. Isso pode levar um momento, dependendo do comprimento da senha.
Using default input encoding: UTF-8
Loaded 1 password hash (Raw-MD5 [MD5])
Cost 1 (MD5 [MD5]) is not supported.
Will run John the Ripper in single-threaded mode.
Press 'q' or Ctrl-C to abort, almost any other key for status.
1234 (digituser)
1g 0:00:00:00 DONE (2023-10-27 08:05) 100.0g/s 100.0p/s 100.0c/s 100.0C/s 1234
Uma vez quebrada, você pode mostrar o resultado:
john --show digit_passwords.txt
digituser:1234
1 password hash cracked, 0 left
Isso demonstra como o brute-force pode ser usado quando a estrutura da senha é conhecida ou limitada.