Configurar o John the Ripper para Uso de GPU
Nesta etapa, você instalará o John the Ripper e verificará sua capacidade de detectar OpenCL. Embora o ambiente LabEx possa não ter uma GPU física, os módulos OpenCL do John the Ripper ainda estarão presentes e poderão ser configurados.
Primeiro, instale o John the Ripper.
sudo apt install -y john
Após a instalação, você pode verificar as capacidades do John the Ripper, procurando especificamente pelo suporte OpenCL. O comando john --list=opencl-devices do John the Ripper é usado para listar os dispositivos OpenCL detectados. Em um ambiente virtualizado sem uma GPU física, ele pode não listar nenhum dispositivo real, mas o próprio comando confirma que os módulos OpenCL foram compilados no John the Ripper.
john --list=opencl-devices
Você poderá ver uma saída indicando "No OpenCL devices found" (Nenhum dispositivo OpenCL encontrado) ou algo semelhante, o que é esperado neste ambiente virtual. A parte importante é que o comando é executado sem erros, confirmando que as capacidades OpenCL do JtR estão presentes.
No OpenCL devices found.
Em seguida, vamos criar um arquivo de hash fictício para nos prepararmos para a quebra. Usaremos um hash MD5 simples para demonstração.
echo "testuser:5d41402abc4b2a76b9719d911017c592" > ~/project/hashes.txt
Isso cria um arquivo hashes.txt em seu diretório ~/project com um hash para a senha "hello".
Agora, tente quebrar o hash usando o John the Ripper. Mesmo sem uma GPU física, o John the Ripper tentará usar seus módulos habilitados para OpenCL, se disponíveis, recorrendo à CPU se nenhum dispositivo for encontrado.
john --format=raw-md5 ~/project/hashes.txt --wordlist=/usr/share/john/password.lst
Você deverá ver uma saída indicando que o John the Ripper está processando o hash. Se a senha "hello" estiver na wordlist padrão, ela será quebrada.
Using default input encoding: UTF-8
Loaded 1 password hash (Raw-MD5 [MD5])
Cost 1 (iteration count) is 1 for all loaded hashes
Will run 4 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
hello (testuser)
1g 0:00:00:00 DONE (2024-01-01 12:00) 100.0% 1000000g/s 1000000p/s 1000000c/s 1000000C/s testuser
Session completed.
Esta etapa confirma que o John the Ripper está instalado, seus componentes OpenCL são reconhecidos e ele pode processar hashes.