Script para repetir a lista de hashes em um arquivo preso à variável da primeira iteração

0

Atualmente estou participando de uma aula sobre segurança de rede e precisamos descobrir senhas com hash. Para fazer isso, usamos o hashcat. Como há muitos hashes, estou tentando escrever um script que testaria a senha com hash com todos os hashes contidos na lista. Meu script é o seguinte:

 1 #! /bin/bash
  2 listhsh="hashlist.txt"
  3 
  4 
  5 while read file; do
  6         echo $file
  7         hashcat -a 0 -m $file -O ~/devoir_PIII_Alice.txt /usr/lib/rockyou.txt
  8 done < $listhsh

o arquivo contém os seguintes valores. Estes são os códigos que definem o tipo de hash a ser testado.

900
0
5100
100
1300
1400
10800
1700
5000
600

O problema que tenho é que o script abre o arquivo, pega a primeira linha que contém o código do tipo de hash a ser testado e executa o hashcat com o valor em $file=900 . No entanto, assim que o teste termina com o primeiro valor, o script executa o hashcat com o mesmo valor de $file=900 . Portanto, o resultado final é o hashcat fazendo o mesmo teste com $file=900 quantas vezes forem os valores na lista.

    
por frepie 31.01.2018 / 22:18

2 respostas

1

Uma opção pode ser um loop for . A opção -m é para os hashes serem executados. O arquivo deve alimentar em valor e fazer um loop em cada tipo de hash.

As seguintes alterações devem ajudar seu script. Eu substituí hash por file .

#!/bin/bash
listhsh="hashlist.txt"

for hash in $(cat $listhsh); do
echo $hash
    hashcat -a 0 -m $hash -O ~/devoir_PIII_Alice.txt /usr/lib/rockyou.txt
done

Como teste, corri a linha como uma linha de eco para ver se funcionaria:

~$ ./hashcat_test 
900
hashcat -a 0 -m 900 -O ~/devoir_PIII_Alice.txt /usr/lib/rockyou.txt
0
hashcat -a 0 -m 0 -O ~/devoir_PIII_Alice.txt /usr/lib/rockyou.txt
5100
hashcat -a 0 -m 5100 -O ~/devoir_PIII_Alice.txt /usr/lib/rockyou.txt
100
hashcat -a 0 -m 100 -O ~/devoir_PIII_Alice.txt /usr/lib/rockyou.txt
1300
hashcat -a 0 -m 1300 -O ~/devoir_PIII_Alice.txt /usr/lib/rockyou.txt
1400
hashcat -a 0 -m 1400 -O ~/devoir_PIII_Alice.txt /usr/lib/rockyou.txt
10800
hashcat -a 0 -m 10800 -O ~/devoir_PIII_Alice.txt /usr/lib/rockyou.txt
1700
hashcat -a 0 -m 1700 -O ~/devoir_PIII_Alice.txt /usr/lib/rockyou.txt
5000
hashcat -a 0 -m 5000 -O ~/devoir_PIII_Alice.txt /usr/lib/rockyou.txt
600
hashcat -a 0 -m 600 -O ~/devoir_PIII_Alice.txt /usr/lib/rockyou.txt

Espero que isso ajude!

    
por Terrance 31.01.2018 / 22:45
0

Você não está citando suas expansões, então elas estão sendo avaliadas pelo shell, o que pode ser problemático. Tente isto:

#! /bin/bash
listhsh="hashlist.txt"
while read file; do
    echo "$file"
    hashcat -a 0 -m "$file" -O ~/devoir_PIII_Alice.txt /usr/lib/rockyou.txt
done < $listhsh

Isso pode ser útil: link
link

    
por Ketzak 31.01.2018 / 22:45