Programa para descriptografar o arquivo linux shadow

10

Existe algum programa ou script disponível para descriptografar o arquivo de sombra do Linux?

Kumar
fonte

Respostas:

29

As senhas em um sistema Linux não são criptografadas, elas são hash, o que é uma enorme diferença.

Não é possível reverter uma função de hash por definição. Para mais informações, consulte a entrada Hash Wikipedia .

Qual função de hash é usada, depende da configuração do sistema. MD5 e blowfish são exemplos comuns de funções de hash usadas.

Portanto, a senha "real" de um usuário nunca é armazenada no sistema.

Se você fizer login, a string digitada como senha será hash e verificada no seu arquivo / etc / shadow. Se corresponder, você obviamente digitou a senha correta.

De qualquer forma, ainda existem alguns vetores de ataque contra os hashes de senha. Você pode manter um dicionário de senhas populares e experimentá-las automaticamente. Existem muitos dicionários disponíveis na internet. Outra abordagem seria apenas experimentar todas as combinações possíveis de caracteres que consumirão uma quantidade enorme de tempo. Isso é conhecido como ataque de força bruta.

As tabelas Rainbow são outro bom vetor de ataque contra hashes. A idéia por trás desse conceito é simplesmente pré-calcular todos os hashes possíveis e, em seguida, basta pesquisar um hash nas tabelas para encontrar a senha correspondente. Existem vários projetos de computação distribuída para criar essas tabelas , o tamanho varia de acordo com os caracteres usados ​​e geralmente é de vários TB.

Para minimizar o risco dessas tabelas de pesquisa, é uma prática comum e o comportamento padrão no Unix / Linux adicionar um chamado " salt " ao hash da senha. Você hash sua senha, adicione um valor aleatório de sal ao hash e hash essa nova sequência novamente. Você precisa salvar o novo hash e o salt para poder verificar se um valor inserido é a senha correta. A grande vantagem desse método é que você precisaria criar novas tabelas de pesquisa para cada sal exclusivo.

Uma ferramenta popular para executar ataques de dicionário ou força bruta contra senhas de usuários de diferentes sistemas operacionais é John The Ripper (ou JTR). Veja a página inicial do projeto para mais detalhes:

John the Ripper é um cracker de senha rápido, atualmente disponível para muitos tipos de Unix, Windows, DOS, BeOS e OpenVMS. Seu principal objetivo é detectar senhas fracas do Unix.

echox
fonte
Existem tutoriais de animação disponíveis para explicar essas coisas?
Kumar
3
Quais coisas? Não conheço nenhum, mas IMHO os recursos vinculados explicam os tópicos com clareza suficiente e tenho certeza que você encontrará muito mais informações se fizer um pouco de esforço na pesquisa / leitura.
echox 24/09/10
1
Eu acho que eles estão pedindo um tutorial do youtube porque a compreensão de leitura é uma habilidade superestimada atualmente.
Shadur
1

É praticamente impossível descriptografar essas senhas, pois elas são criptografadas unidirecionalmente.

Bertrand Marron
fonte
Você pode pls falar sobre criptografia unidirecional?
Kumar
3
Criptografado unidirecional significa que você não armazena a senha, mas apenas seu valor de hash. E a propriedade especial do hash é que você não pode recriar a senha a partir dele. Pense nisso como apenas armazenando um número como a quantidade de letras. Se eu armazenar um "5", posso verificar rapidamente se a palavra "Kumar" pode ser a senha. Mas a partir de "5" Eu não posso calcular volta para "Kumar" (exemplo simplificado, o hash é mais complexa e colisões são a forma menos comum (se não raro) com algoritmos de hash modernos)
tante
1

Você só pode descriptografar o arquivo de sombra com força bruta: ele inclui hashes das senhas; portanto, sua única chance é adivinhar senhas, calcular o hash e verificar se os hashes são idênticos. Consulte a Wikipedia para obter detalhes sobre a geração de hash.

fschmitt
fonte
1

Como outros já disseram, você não pode realmente descriptografar o arquivo de sombra.

A única coisa que você pode tentar é adivinhar com força bruta a senha usando uma ferramenta como John, o Estripador . Isso pode ou não ser bem-sucedido e quase certamente levará muito tempo.

Kristof Provost
fonte
1

As senhas são criptografadas usando um algoritmo que usa uma senha e cria um hash exclusivo para essa senha. Esse hash é armazenado no arquivo / etc / shadow. Não é possível recuperar a senha do hash. O único método de recuperar uma senha é forçar com força todo o espaço de chaves inteiro ou usar algum tipo de ataque de dicionário . As primeiras funções de hash usavam o padrão DES. O aumento no poder da computação tornou possível forçar o espaço da chave DES em um tempo razoável. As funções modernas de hash usadas para criptografar senhas incluem MD5, SHA etc. Mais informações sobre a biblioteca crypt (3) podem ser encontradas aqui .


fonte