Pré-requisitos

Pré-requisitos

OK, então baixeitodos os hashes SHA-1 de Have I Been Pwned, exportei tudo do meu gerenciador de senhas e processei isso em um arquivo com uma senha por linha. Como faço para combinar esses arquivos de forma eficaz?

Responder1

Pré-requisitos

  • 7z, que deveria estar emo pacote "p7zip".
  • sha1sume shred, que deve estar no pacote "coreutils".
  • grepdo pacote "grep".

Processo

  1. Crie um arquivo com hashes de senha exclusivos em maiúsculas e um arquivo com senhas e seus hashes correspondentes:

    sort -u passwords.txt | while read -r password
    do
        hash="$(printf '%s' "$password" | \
            sha1sum | \
            cut -d' ' -f1 | \
            tr 'a-f' 'A-F')"
        printf '%s\n' "$hash" >> hashes.txt
        printf '%s\t%s\n' "$hash" "$password" >> passwords-with-hashes.txt
    done
    
  2. Combine seus hashes com todas as entradas no arquivo baixado:

    7z e -so pwned-passwords-sha1-ordered-by-hash-v*.7z | \
    cut -c 1-40 | \
    grep -Fxf hashes.txt | \
    tee matches.txt
    

    Seja paciente – isso levou quase 20 minutos em uma máquina desktop com SSD!

  3. Mostre as senhas relacionadas às partidas:

    grep -Ff matches.txt passwords-with-hashes.txt | cut -f2
    
  4. Remova com segurança os arquivos que você criou:

    shred --remove hashes.txt matches.txt passwords.txt passwords-with-hashes.txt
    

informação relacionada