Script para encontrar Salt de Hash [RESOLVIDO]

1. Script para encontrar Salt de Hash [RESOLVIDO]

Leandro Carvalho
leandrokrs

(usa Kali)

Enviado em 14/01/2023 - 00:15h

Olá a todos!

No meu Curso de Cibersegurança temos um desafio.... Nos foi passado um Hash de uma senha do arquivo Shadow com o Salt oculto. Eu não saco nada de programação. Nosso desafio seria encontrar esse Salt (não faço a mínima) de como ficar comparando entre diversos e encontrar o corretp. Alguém tem alguma ideia... Algum script pronto? Desde já agradecido!!


  


2. Re: Script para encontrar Salt de Hash [RESOLVIDO]

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 14/01/2023 - 00:15h

R: Olá! O primeiro passo para encontrar o salt de um hash é recuperar o hash da senha do arquivo shadow. Isso pode ser feito usando o comando cat no terminal. Por exemplo, para recuperar o hash de uma senha chamada "password", use o comando:

$ cat /etc/shadow 


Com o hash da senha em mãos, você terá que criar um programa para comparar o hash recuperado com hashes gerados com diferentes sais e verificar o que se encaixa no hash. Isso exigirá um certo conhecimento em linguagens de programação e scripts. Se você não tiver a experiência necessária, uma boa opção é encontrar um script já existente que realize esta tarefa. Você pode encontrar algumas dessas ferramentas e scripts open source, mas você deve fazer sua própria verificação para certificar-se da segurança e qualidade do script. Se você precisar de mais ajuda, pode se inscrever no fórum Viva o Linux (http://www.vivaolinux.com.br/forum/) e pedir ajuda a outros usuários Linux. Boa sorte!


3. Re: Script para encontrar Salt de Hash

Buckminster
Buckminster

(usa Debian)

Enviado em 16/01/2023 - 21:11h

Por exemplo, no /etc/shadow você tem uma entrada dessas:

admin:YtChlvAGYzva2:16318:0:99999:7:::

Os dois primeiros caracteres Yt, no caso representam o salt (em português 'sal', uma mistura para dificultar a quebra da criptografia).

O formato do /etc/shadow é assim:

username
The user (login) name

passwd
The encoded password

UID
Numerical user ID

GID
Numerical default group ID

full_name
The user's full name - Actually this field is called the GECOS (General Electric Comprehensive Operating System) field and can store information other than just the full name. The Shadow commands and manual pages refer to this field as the comment field.

directory
User's home directory (Full pathname)

shell
User's login shell (Full Pathname)

Por exemplo:
username:Npge08pfz4wuk:503:100:Full Name:/home/username:/bin/sh

Onde Np é o salt e ge08pfz4wuk é a senha codificada. O salt/senha codificado poderia facilmente ter sido kbeMVnZM0oL7I que os dois seriam exatamente a mesma senha. Existem 4096 codificações possíveis para a mesma senha em SHA 256, ainda o padrão do /etc/shadow que é um padrão bastante seguro. (A senha de exemplo neste caso foi 'password', uma senha muito ruim).

Resumindo: o salt são os dois primeiros caracteres do hash do arquivo /etc/shadow, porém, esses dois caracteres permitem 4096 combinações diferentes junto com a senha, por isso que uma mesma senha é codificada com um hash diferente.
Por exemplo, se eu entrar com a minha senha no Linux "senha" e você entrar com a mesma "senha" na tua conta de usuário, teremos dois hashes diferentes.

https://tldp.org/HOWTO/Shadow-Password-HOWTO-2.html


________________________________________________
Always listen the Buck!


4. Re: Script para encontrar Salt de Hash [RESOLVIDO]

Leandro Carvalho
leandrokrs

(usa Kali)

Enviado em 16/01/2023 - 21:28h

Obrigado man, eu consegui resolver!


Buckminster escreveu:

Por exemplo, no /etc/shadow você tem uma entrada dessas:

admin:YtChlvAGYzva2:16318:0:99999:7:::

Os dois primeiros caracteres Yt, no caso representam o salt (em português 'sal', uma mistura para dificultar a quebra da criptografia).

O formato do /etc/shadow é assim:

username
The user (login) name

passwd
The encoded password

UID
Numerical user ID

GID
Numerical default group ID

full_name
The user's full name - Actually this field is called the GECOS (General Electric Comprehensive Operating System) field and can store information other than just the full name. The Shadow commands and manual pages refer to this field as the comment field.

directory
User's home directory (Full pathname)

shell
User's login shell (Full Pathname)

Por exemplo:
username:Npge08pfz4wuk:503:100:Full Name:/home/username:/bin/sh

Onde Np é o salt e ge08pfz4wuk é a senha codificada. O salt/senha codificado poderia facilmente ter sido kbeMVnZM0oL7I que os dois seriam exatamente a mesma senha. Existem 4096 codificações possíveis para a mesma senha em SHA 256, ainda o padrão do /etc/shadow que é um padrão bastante seguro. (A senha de exemplo neste caso foi 'password', uma senha muito ruim).

Resumindo: o salt são os dois primeiros caracteres do hash do arquivo /etc/shadow, porém, esses dois caracteres permitem 4096 combinações diferentes junto com a senha, por isso que uma mesma senha é codificada com um hash diferente.
Por exemplo, se eu entrar com a minha senha no Linux "senha" e você entrar com a mesma "senha" na tua conta de usuário, teremos dois hashes diferentes.

https://tldp.org/HOWTO/Shadow-Password-HOWTO-2.html


________________________________________________
Always listen the Buck!





5. Re: Script para encontrar Salt de Hash [RESOLVIDO]

Leandro Carvalho
leandrokrs

(usa Kali)

Enviado em 16/01/2023 - 21:29h

Obrigado man, consegui resolver!


Buckminster escreveu:

Por exemplo, no /etc/shadow você tem uma entrada dessas:

admin:YtChlvAGYzva2:16318:0:99999:7:::

Os dois primeiros caracteres Yt, no caso representam o salt (em português 'sal', uma mistura para dificultar a quebra da criptografia).

O formato do /etc/shadow é assim:

username
The user (login) name

passwd
The encoded password

UID
Numerical user ID

GID
Numerical default group ID

full_name
The user's full name - Actually this field is called the GECOS (General Electric Comprehensive Operating System) field and can store information other than just the full name. The Shadow commands and manual pages refer to this field as the comment field.

directory
User's home directory (Full pathname)

shell
User's login shell (Full Pathname)

Por exemplo:
username:Npge08pfz4wuk:503:100:Full Name:/home/username:/bin/sh

Onde Np é o salt e ge08pfz4wuk é a senha codificada. O salt/senha codificado poderia facilmente ter sido kbeMVnZM0oL7I que os dois seriam exatamente a mesma senha. Existem 4096 codificações possíveis para a mesma senha em SHA 256, ainda o padrão do /etc/shadow que é um padrão bastante seguro. (A senha de exemplo neste caso foi 'password', uma senha muito ruim).

Resumindo: o salt são os dois primeiros caracteres do hash do arquivo /etc/shadow, porém, esses dois caracteres permitem 4096 combinações diferentes junto com a senha, por isso que uma mesma senha é codificada com um hash diferente.
Por exemplo, se eu entrar com a minha senha no Linux "senha" e você entrar com a mesma "senha" na tua conta de usuário, teremos dois hashes diferentes.

https://tldp.org/HOWTO/Shadow-Password-HOWTO-2.html


________________________________________________
Always listen the Buck!





6. Re: Script para encontrar Salt de Hash [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 16/01/2023 - 21:39h

De nada, mas em relação a um script não tem como. A criptografia sha 256 é assimétrica ou one-way ou unidirecional, não tem como descriptografar.


________________________________________________
Always listen the Buck!


7. Re: Script para encontrar Salt de Hash [RESOLVIDO]

Leandro Carvalho
leandrokrs

(usa Kali)

Enviado em 16/01/2023 - 23:41h

A questão era que o salt estava oculto em outro local e criptografado... Achei que precisava criar um script para gerar um Salt, por isso fiquei confuso. Sim, eu sei que somente na Base64.... Mas tenho scripts para fazer comparações caso tenha mais de uma criptografia em um mesmo hash. Obrigado!


Buckminster escreveu:

De nada, mas em relação a um script não tem como. A criptografia sha 256 é assimétrica ou one-way ou unidirecional, não tem como descriptografar.


________________________________________________
Always listen the Buck!





8. Re: Script para encontrar Salt de Hash [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 17/01/2023 - 00:38h


Buckminster escreveu:

Por exemplo, no /etc/shadow você tem uma entrada dessas:

admin:YtChlvAGYzva2:16318:0:99999:7:::

Os dois primeiros caracteres Yt, no caso representam o salt (em português 'sal', uma mistura para dificultar a quebra da criptografia).

O formato do /etc/shadow é assim:

username
The user (login) name

passwd
The encoded password

UID
Numerical user ID

GID
Numerical default group ID

full_name
The user's full name - Actually this field is called the GECOS (General Electric Comprehensive Operating System) field and can store information other than just the full name. The Shadow commands and manual pages refer to this field as the comment field.

directory
User's home directory (Full pathname)

shell
User's login shell (Full Pathname)

Por exemplo:
username:Npge08pfz4wuk:503:100:Full Name:/home/username:/bin/sh

Onde Np é o salt e ge08pfz4wuk é a senha codificada. O salt/senha codificado poderia facilmente ter sido kbeMVnZM0oL7I que os dois seriam exatamente a mesma senha. Existem 4096 codificações possíveis para a mesma senha em SHA 256, ainda o padrão do /etc/shadow que é um padrão bastante seguro. (A senha de exemplo neste caso foi 'password', uma senha muito ruim).

Resumindo: o salt são os dois primeiros caracteres do hash do arquivo /etc/shadow, porém, esses dois caracteres permitem 4096 combinações diferentes junto com a senha, por isso que uma mesma senha é codificada com um hash diferente.
Por exemplo, se eu entrar com a minha senha no Linux "senha" e você entrar com a mesma "senha" na tua conta de usuário, teremos dois hashes diferentes.

https://tldp.org/HOWTO/Shadow-Password-HOWTO-2.html


________________________________________________
Always listen the Buck!

Boa noite Buckminster,
Somente um "detalhe"....
A descrição postada, refere-se ao arquivo /etc/passwd.
Do link que voce postou:
2.2 Format of the /etc/passwd file
A non-shadowed /etc/passwd file has the following format:

O arquivo /etc/passwd, não sombreado, possui o seguinte formato
username
The user (login) name

passwd
The encoded password

UID
Numerical user ID

GID
Numerical default group ID
......
O Ítem:
2.3 . .
é o referente ao arquivo '/etc/shadow'

______________________________________________________________________

Att.: Marcelo Oliver
______________________________________________________________________



9. Re: Script para encontrar Salt de Hash [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 17/01/2023 - 21:42h

msoliver
É verdade, enganei-me na hora de copiar e colar, mas está ali no link o formato dos dois arquivos.


________________________________________________
Always listen the Buck!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts