Há uma diferença entre CPU e GPU, e o primeiro passo é explicá-los de formas separadas. Sem mais delongas, vamos lá!
CPU (unidade central de processamento) é o processador do computador. Você o encontra dentro do gabinete ou do seu smartphone. Suas funções são de modo mais geral, influenciam em basicamente todos os recursos do computador ou smartphone, desde o processamento de dados, a memória (cachê) e os cálculos dos seus eletrônicos. Em uma explicação mais simples e rápida, a CPU é o cérebro do seu computador.
GPU (unidade de processamento gráfico) também conhecido como VPU (unidade de processamento visual) é o processador da sua placa de vídeo. Apesar das novas tecnologias permitirem que as GPUs façam mais do que processar somente a placa de vídeo, sua principal função ainda continua sendo esta. São responsáveis pelos gráficos dos seus aparelhos eletrônicos.
A GPU é utilizada para cuidar de tarefas repetitivas de forma rápida. Pois renderizar pixels na tela é uma atividade repetitiva, e um ataque de força bruta é muito similar a renderização de pixels.
Para isso é necessário ter uma boa GPU e utilizaremos Hashcat para o processo pois o aircrack-ng não permite utilização do GPU para o mesmo.
Iremos fazer pelo windows pois a maioria dos GPUs tem drivers para windows e para linux é bem complicado instalar o driver.
Instalação
Vamos ao site do HashCat
Há uma lista de drivers no site
GPU Driver requirements:
- AMD GPUs on Linux require "RadeonOpenCompute (ROCm)" Software Platform (1.6.180 or later)
- AMD GPUs on Windows require "AMD Radeon Software Crimson Edition" (15.12 or later)
- Intel CPUs require "OpenCL Runtime for Intel Core and Intel Xeon Processors" (16.1.1 or later)
- Intel GPUs on Linux require "OpenCL 2.0 GPU Driver Package for Linux" (2.0 or later)
- Intel GPUs on Windows require "OpenCL Driver for Intel Iris and Intel HD Graphics"
- NVIDIA GPUs require "NVIDIA Driver" (367.x or later)
Primeiramente é necessário baixar o respectivo driver.
Depois fazer download do hashcat binaries
Agora devemos converter o handshake em um arquivo compatível com o HashCat. O Handshake que aprendemos a capturar no linux costuma vir como arquivo .cap devemos converter ele muito facilmente com uma ferramenta online criado pelo hashchat
No site: https://hashcat.net/cap2hccapx/
No campo ESSID deve colocar o nome da rede wifi que quer crackear
Ele irá modificar o arquivo para .hccapx
Deve-se pegar o novo handshake e um password-list e colocar no mesmo diretório que o hashcat
Agora entramos no Prompt de comando do windows e vamos em:
cd / dir cd hashcat-3.6.0 |
dir |
Podemos ver que temos o hashcat de 32 e 64 bit e devemos usar o compatível com nosso sistema
hashcat64.exe --help |
Vemos o comando para utilização do hashcat
O primeiro comando que faremos é -I para ver os dispositivos deste computador que podem ser utilizado para crackear.
hashcat64.exe -I |
Vemos que temos dois dispositivos, o #1 que é o GPU e o #2 que é o CPU
A outra opção que veremos é o -m
O tipo de hash que queremos utilizar, descendo na tela do help vemos os modos de hash de só precisamos apontar qual é o que desejamos crackear.
em nosso caso WPA2 que corresponde ao número 2500
Para dizer ao hashcat que queremos crackear WPA/WPA2 fazemos o comando -m 2500 e para dizer que queremos utilizar o GPU fazemos o comando -d 1
Ainda falta o resto
acrescentamos handshake.hccapx e o passwordlist que é rockyou.txt
hashcat64.exe -m 2500 -d 1 handshake.hccpax rockyou.txt |
Podemos ver que há a opção de pausar e continuar depois
E em 1min e 7 segundos ele passou por 4 milhões de password pois a correta foi para a última da lista. Esse tempo está ótimo
Agora podemos utilizar essa técnica com o output do crunch como vimos no post
Para isso seria necessário rodar o hashcat no linux e ter o linux como máquina principal utilizando o GPU
O hashcat suporta até 16 GPUs, veja um vídeo da velocidade dele com dois GPUs
https://www.youtube.com/watch?v=phsk10Xyy4M