6.5 milhões de passwords foram roubadas à LinkedIn (Slashdot, anúncio da LinkedIn, Mashable, NY Times) e um ficheiro que as contém foi disponibilizado online. Bem, não com as passwords a sério, apenas as hashes, mas com algum esforço é possível recuperá-las. Para além disso, nada nos garante que as passwords neste ficheiro foram as únicas roubadas, especialmente tendo em conta que o nome do ficheiro é “SHA1.txt_1.rar” - aquele “_1” faz-me pensar se há algum ficheiro chamado “SHA1.txt_2.rar” algures…
De qualquer modo, deve definitivamente mudar a sua password do LinkedIn, bem como a password de todos os outros sites onde use a mesma password.
Se quiser verificar se a sua password está no ficheiro, há duas maneiras para o fazer.
A primeira não é definitivamente a minha favorita, pois há algo inerentemente errado em verificar se nos roubaram uma password enviando-a para um site completamente desconhecido. Mas fica aqui de qualquer forma, pois algumas pessoas não saberão utilizar o segundo método. Use por sua conta e risco: LeakedIn
O segundo método é seguro, pois não tem que introduzir a sua password em lado nenhum a não ser no seu terminal local.
Primeiro obtenha uma cópia do ficheiro que contém as hashes das passwords.
Depois tem de obter uma hash SHA1 da sua password. Eu usei um script em Python para isso:
import hashlib
print hashlib.sha1(“a sua password aqui”).hexdigest()
Isto dar-lheá a hash SHA1 da sua password password. Pode então verificar se ela se encontra no ficheiro com este comando:
grep “hash obtida anteriormente” SHA1.txt
Algumas das hashes no ficheiro têm os primeiros cinco caracteres substituídos por zeros, portanto poderá querer procurar apenas pelos últimos 10 caractéres da hash que obteve acima.
Finalmente, algumas observações sobre o ficheiro, de um comentário no ycombinator (não vou traduzir mas se quiserem o Google Translate deve servir para o pretendido):
Some observations on this file:
This is a file of SHA1 hashes of short strings (i.e. passwords).
There are 3,521,180 hashes that begin with 00000. I believe that these represent hashes that the hackers have already broken and they have marked them with 00000 to indicate that fact.
Evidence for this is that the SHA1 hash of ‘password’ does not appear in the list, but the same hash with the first five characters set to 0 is.
5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8 is not present 000001e4c9b93f3f0682250b6cf8331b7ee68fd8 is present
Same story for ‘secret’:
e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4 is not present 00000a1ba31ecd1ae84f75caaa474f3a663f05f4 is present
And for ’linkedin’:
7728240c80b6bfd450849405e8500d6d207783b6 is not present 0000040c80b6bfd450849405e8500d6d207783b6 is present
There are 2,936,840 hashes that do not start with 00000 that can be attacked with JtR.
The implication of #1 is that if checking for your password and you have a simple password then you need to check for the truncated hash.
This may well actually be from LinkedIn. Using the partial hashes (above) I find the hashes for passwords linkedin, LinkedIn, L1nked1n, l1nked1n, L1nk3d1n, l1nk3d1n, linkedinsecret, linkedinpassword, …
The file does not contain duplicates. LinkedIn claims a user base of 161m. This file contains 6.4m unique password hashes. That’s 25 users per hash. Given the large amount of password reuse and poor password choices it is not improbable that this is the complete password file. Evidence against that thesis is that password of one person that I’ve asked is not in the list.
Raúl Santos