Existem muitas ferramentas, a fim de acelerar o processo de craqueamento e nesta lição vamos olhar para Cowpatty ou "coWPAtty" criado por um pesquisador de segurança chamado Joshua Wright junto com outra ferramenta chamada genpmk também criado por Josué.
Primeiro a chave pré-compartilhada (PSK) ou Pairwise Master Key (PMK)
Esta pode ser uma tarefa muito demorada cálculo da chave pré-compartilhada usando a CPU, você também pode usar uma GPU, mas por agora estamos a trabalhar fora da CPU sobre o Raspberry Pi. A chave pré-compartilhada é derivado do WPA passhrase / WPA2 nesta lição "password12345" junto com o SSID que é "teste". A combinação do passhprase eo SSID são passados ​​através do "Password Baseado chave derivação função" ou PBKDF que depois emite um 256 bit chave pré-compartilhada (PSK). Depois disso, o craqueamento envolve o uso da PSK de 256 bits com o four-way handshake e verificando-la contra o Código de Integridade de mensagens também conhecido como o MIC ou referido como o "Michael", que está lá para impedir ataques contra falsificação. Estes parâmetros variam no aperto de mão toda vez que, portanto, essa etapa não pode ser pré.
O PBKDF é uma função SHA-1 com base documentados em RFC 2898
DK = PBKDF2 (HMAC-SHA-1, senha, SSID, 4096, 256)
DK é a chave derivada
PBKDF é a sua função de derivação de chave baseada em senha
HMAC-SHA-1 é a função de padrão pseudo-aleatório
frase-senha é você adivinhou, sua senha
SSID é, naturalmente, o seu serviço de rede Set Identifier ou rede nome do ponto de acesso
4096 é a quantidade de vezes que a combinação é hash, esta pode ser superior a 4096 vezes
256 é o comprimento pretendido da chave final que é derivado 256
O quatro-way handshake
O quatro-aperto de mão é usado para derivar o Transient Key Pairwise (PTK), acha deste criptografia como temporário usado para criptografar os dados e confirmar a identidade de todos os clientes sem fio tentando se conectar ao ponto de acesso. O aperto de mão também contém o Temporal Key Group (GTK), que é usada para descriptografar o tráfego multicast e broadcast.
O PTK é gerado concatenando juntos os seguintes atributos: PMK, nonce AP (ANonce), STA nonce (SNonce), endereço MAC do AP, e endereço MAC STA. Este é, então, colocado através de uma função pseudo-aleatório.
PTK é a transientes pairwise chave que é de 64 bytes
PMK é o Master Key Pairwise aka a chave pré-partilhada ou PSK
1 - AP uso único (ANonce) é um número arbitrário ou valor enviado para a estação cliente STA ou utilizada apenas uma vez no primeiro pacote do ponto de acesso
2 - STA nonce (SNonce) é um número arbitrário ou o valor enviado a partir do cliente para o ponto de acesso com um código de integridade da mensagem (MIC), juntamente com a autenticação que o torna um código de autenticação de integridade da mensagem ou MAIC
3 - O ponto de acesso envia o Temporal Key Group (GTK), incluindo um número de seqüência juntamente com outro MIC para a estação cliente
4 - A estação de cliente envia um aviso confirmando que o ponto de acesso que está tudo ok.
Isto pode ser visto no diagrama abaixo: Agora que nós já passamos por um pouco de informação de fundo sobre isso, é hora de correr Cowpatty simplesmente digitando "cowpatty" no terminal para ver uma lista de filtros que você pode usar 1 - Cowpatty do terminal Cowpatty exige o seguinte, a fim de executar com êxito
1 - Uma lista de palavras
2 - Um arquivo em que o hash da senha foi capturado
3 - O SSID do ponto de acesso de destino
Referindo-se a a lição anterior em rachar uma rede WPA2 você vai precisar do arquivo de captura em que os quatro aperto de mão foi obtido de modo a proceder, se você não tem isso, basta seguir a lição e, em seguida, voltar quando você tem isso e continuar a partir daqui.
Se você olhar no diretório / usr / share / wordlists diretório que você vai ver um monte de palavra diferente lista para escolher já armazenado na Kali 2 - arquivo localizar kali senha
Copiei isso para o meu diretório de trabalho atual para esta lição cowpatty que é / root / WPA_cowpatty 3 - gunzip lista de senhas
Usando gunzip para extrair a lista de palavras atualmente comprimido você pode ver que agora temos um arquivo txt para trabalhar com 4 - Verificar o tamanho wordlist  

Para verificar o tamanho do arquivo acima eu estou usando estatísticas que, por si própria irá dar-lhe o tamanho em bytes, mas pipeing isso em awk que, em seguida, concentrar-se na "Tamanho:" e, em seguida, imprimi-lo cálculo em MB de então neste caso nós veja pena de 133,44 MB de uma lista de palavras para brincar.
  5 - cowpatty criação PMK  
Só assim este não é um desperdício de tempo é provavelmente um bom momento para verificar a senha é, na verdade contida dentro da lista de palavras usando grep
"Grep" para usar grep
"Password12345" esta é a consulta de pesquisa e a senha usada para o WPA2 rachaduras lição anterior
"Rockyou.txt" é o nome do arquivo no qual pesquisar
4.1 - Verificando a senha está na lista de palavras
  Agora, a fim de criar um arquivo de PMK precomputed, a fim de acelerar a rachaduras no SSID que está sendo avaliada é possível executar cowpatty com os seguintes filtros
"Cowpatty" para iniciar cowpatty
"-f" Para especificar o local de sua lista de palavras que é o diretório de trabalho atual no meu caso
"-r" Para especificar o diretório pcap em que o aperto de mão foi obtida neste caso, o diretório de trabalho atual.
"-s" Para especificar o SSID do ponto de acesso que é teste 6 - trabalho cowpatty  
Uma vez funcionando, você verá uma saída como acima no terminal e tal como sugerido que você precisa ser paciente aqui especialmente se fazer isso no Raspberry Pi 2 como eu sou!
Não demorou tanto tempo para encontrar a senha como você pode ver abaixo cowpatty gerado um hash para cada senha na lista de palavras e, em seguida, usando o SSID como uma semente comparou-o com o hash capturado e uma vez que o hash correto foi combinado é exibido na tela, juntamente com a quantidade de frases secretas testados e da quantidade de tempo que levou, que foi de 12 minutos e 34 segundos e muito mais rápido do que correr sem cowpatty. 7 - cowpatty senha recuperada
Agora que temos usado cowpatty para calcular o hash da senha em 12 minutos 24 segundos, seria bom para quebrar a senha ainda mais rápido, gerando um hash para uso futuro no mesmo SSID então vamos fazer isso com genpmk!
Correr genpmk irá mostrar-lhe uma lista de opções que você pode usar: 8 - interruptores genpmk  
"Genpmk" começa genpmk
"-f" É a opção para selecionar sua lista de palavras password
"-d" É a opção para usar para o arquivo que você cria para o seu arquivo de hash precomputed
"-s" É a opção para o SSID que você está criando os hashes pré-computadas para
 9 - geração genpmk  
Algo digno de nota a acrescentar aqui é que isso leva as idades sobre o Raspberry Pi 2 e é por isso que eu estarei cobrindo quebra de senha usando "A nuvem" em uma lição futura, e sim, eu tinha que usar a frase "A nuvem".
Agora depois de deixar esta corrida noite ele ainda está em execução e criou uma enorme arquivo que vai derrubar minha Pi em breve por isso estou indo para matá-lo, mas um exemplo de o que parece que agora está abaixo:
  10 - genpmk ainda em execução  
Tamanho gerado até agora
  11 - Tamanho da lista de palavras gerada  
Tempo para gerar a lista de palavras que até agora foi de 13 horas 37 minutos (13.37) que na verdade é um tempo muito aleatório para parar em hahaha.
  12 - tempo genpmk para gerar arquivo  
Agora que o arquivo foi criado a garantia de ter "password12345" como o funcionamento inicial do cowpatty rachado-lo sem nenhum chave. 15.000 ea lista de hash gerados usando genpmk estava em nenhuma tecla. 979.000, quando eu parei assim que eu decidi executá-lo e ver o quão rápido isso iria quebrar a senha para obter uma resposta antes de eu seguir em frente aqui.
"Cowpatty" para executar cowpatty
"-d" Para o hashfile você estiver usando
"R" é o arquivo pcap em que seu aperto de mão de quatro vias foi capturado
"-s" É seguido pelo SSID do ponto de acesso que você obteve os quatro aperto de mão a partir de 13 - cowpatty com arquivo de hash Como você pode ver acima 15,123 frases secretas foram testados contra em 1,11 segundos o que significa que em vez de 20,44 frases-passe uma segunda como anteriormente tinha sido o caso agora estamos dando um ciclo com 13.651,49 passhrases um segundo que é um salto significativo no Raspberry Pi 2 para quebrar senhas .
Agora é só para que pudéssemos ter alguma comparação com a lista de senhas rockyou I decidiu acabar com isso executando a lista através aircrack-ng para ver poupando o tempo que ganhamos para colocar isto em perspectiva Única testando rockyou contra aircrack-ng - 14 15.146 chaves foram sucederem a uma velocidade de 320.18 chaves por segundo em 3 minutos, 2 segundos, o que é muito mais lento do que usar genpmk como você viu há pouco. 15 - chave aircrack encontrado rockyou Lição aprendida:
WPA / WPA2 craqueamento pode ser acelerado um grande negócio usando coWPAtty e genpmk o que significa que pode, então, calcular a senha muito mais rápido do que usando apenas aircrack-ng para fazê-lo. Vale a pena conferir o seu ponto de senha de acesso contra uma lista como esta ou melhor ainda fazer-se uma passhrase aleatória extremamente longa e não em um dicionário, mas mesmo com algo parecido com suficiente poder computacional qualquer coisa é possível. Isso realmente significa que você fazer um ataque como este mais caro para o atacante para realizar.