Enunciado
This hash was stolen during a session interception on a critical application, errors may have occurred during transmission. No crack attempt has resulted so far; hash format seems unknown. Find the corresponding plaintext. The answer is the SHA-1 of this password.
Hash - SHA-2
Metade do desafio é legal, a outra metade é um Guessing CTF, então fica dificil defender.
Nos foi fornecido a hash 96719db60d8e3f498c98d94155e1296aac105ck4923290c89eeeb3ba26d3eef92
. Não consegui identificar visualmente o tipo dela, nenhum identificador de hash reconheceu, o proprio desafio nos revela que pode ter ocorrido erros na transmissão, então minha alternativa foi ler a rfc5754 e não achei uma resposta relevante, então comecei a procurar os atributos que definem um hash SHA2.
Após algumas buscas, houve 2 atributos que me chamaram a atenção: Quantidade de caracteres na hash e Caracteres que compõem uma hash SHA2. Resumindo a novela, a hash tem que possuir 64 caracteres e os caracteres tem que ser 0-9a-fA-F. A nossa hash possui 65 caracteres e percorrendo a olho nu achei o caractere k na hash, o qual não faz parte do grupo de composição.
Retirando o caractere k, já podemos identificar pelo hash-identifier e ele confirmar que é um SHA-256. Agora é realizar o bruteforce com o john e conforme solicitado no desafio, informar a hash dessa password em SHA1.
Agora vem a parte que não gosto desses desafios, a wordlist necessária pra quebrar a hash não era nenhuma das mais conhecidas. Ah tulio, mas qual o problema disso?
Perca de tempo mesmo, não há motivos pra partir um bruteforce cru, caractere por caractere. A idéia do desafio é boa, aprendi sobre a composição do SHA2, mas complica quando eu passo 2 horas procurando por uma wordlist que funcione e bytheWay, pasmem, não achei. Fui ler writes e só tem a string 4dM1n como refêrencia.
Ah tulio, mas você poderia ter feito uma rule pra testar o l33t speak
. Sim, mas denovo, vira Guessing, apenas adivinhação.
Enfim, Após o bruteforce com o john, só fazer o hash SHA1 de 4dM1n.