Jump to content

Criando Script em Python para quebrar senhas do Linux


Renato Ribeiro
 Share

Recommended Posts

  • VIP Lifetime

Criando Script em Python para quebrar senhas do Linux


Sabemos que existem vários scripts já prontos para quebrar senhas do Linux, porém melhor do que saber usar alguma ferramenta pronta, é saber como ela funciona e como criar seu script. Por este motivo iremos mostrar como criar um script em python para quebrar senhas do Linux através de uma wordlist. Primeiramente precisamos entender como funcionar as senhas no Linux, as senhas no Linux são armazenadas no arquivo /etc/shadow e este arquivo armazena a senha real no formato criptografado (mais parecido com o hash da senha) para a conta do usuário com propriedades adicionais relacionadas à senha do usuário. Basicamente, ele armazena informações seguras da conta do usuário. Todos os campos são separados por dois pontos (:). Ele contém uma entrada por linha para cada usuário listado no arquivo /etc/passwd, conforme exemplo abaixo. [[email protected] ~]# head -n1 /etc/shadow
root:$6$UXCFfDA3$xvrZI5Sn/52dwMAbkjC1wwxepW5AsICxtwpnfCoEErCO7.
8ZjOndhZjr82RFqtQOASFBJ4jyHwcnwKFD8JqKH/:17700:0:99999:7:: 1º Campo: Usuário de acesso.
2º Campo: Senha do usuário criptografada. A senha deve ter no mínimo 8 a 12 caracteres, incluindo caracteres especiais, dígitos, letras minúsculas e muito mais. Geralmente o formato da senha é definido como $id$salt$hash, O $id é o algoritmo usado no GNU/Linux da seguinte forma: $1$ – MD5 $2a$ – Blowfish $2y$ – Blowfish $5$ – SHA-256 $6$ – SHA-512 Vamos apenas focar nos dois primeiros campos pois somente iremos usar eles para descobrirmos a senha do usuário.
Agora vamos para o que interessa, primeiro iremos executar os comandos no modo interativo e no final irei deixar o exemplo de um script para automatizar o processo. Execute o comando python no Linux:
[[email protected] ~]# python
Python 2.7.5 (default, Aug 4 2017, 00:39:18)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> Importe a biblioteca crypt:
>>> import crypt Crie uma variável com id e o salt da senha contida no arquivo shadow:
>>> salt = "$6$UXCFfDA3" Agora iremos executar a função crypt e analisar a saída do comando:
>>> crypt.crypt("password", salt) '$6$UXCFfDA3$xvrZI5Sn/52dwMAbkjC1wwxepW5AsICxtwpnfCoEErCO7.
8ZjOndhZjr82RFqtQOASFBJ4jyHwcnwKFD8JqKH/' A função crypt recebe dois parâmetros, sendo eles, uma senha e o salt com o id. Neste caso estamos passando a senha sendo “password” e o salt com o id que pegamos no arquivo shadow “$6$UXCFfDA3”. Podemos notar que a saída do comando crypt é exatamente igual a linha que temos no arquivo shadow para o usuário root: [[email protected] ~]# head -n1 /etc/shadow
root:$6$UXCFfDA3$xvrZI5Sn/52dwMAbkjC1wwxepW5AsICxtwpnfCoEErCO7.
8ZjOndhZjr82RFqtQOASFBJ4jyHwcnwKFD8JqKH/:17700:0:99999:7:::
>>> crypt.crypt("password", salt)
'$6$UXCFfDA3$xvrZI5Sn/52dwMAbkjC1wwxepW5AsICxtwpnfCoEErCO7.
8ZjOndhZjr82RFqtQOASFBJ4jyHwcnwKFD8JqKH/' Comparando as duas saídas, podemos identificar que a senha do usuário root neste caso é password. Agora conforme prometido, segue o script automático ao qual você irá passar o arquivo shadow e uma wordlist como parâmetro e ele fará todo o resto! [[email protected] ~]# cat HSLinuxPWD.py Use o código: https://github.com/TiagoANeves/TDTLinuxPWD Executando o script: [[email protected] ~]# python HSLinuxPWD.py -s /etc/shadow -w wordlist.txt
Iniciando o programa...
Bruteforcing a senha do usuario root
Testando a senha 123456
Testando a senha 12345
Testando a senha 123456789
Testando a senha password
Senha encontrada! Password Obrigado e até o próximo tutorial!

 

  • Curtir (+1) 1
Link to comment
Share on other sites

  • 507
  • 763
  • 15

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share




×
×
  • Create New...

pc jenkins GIF by South Park

AdBlock extension detected!

GGames is maintained by advertisements for our visitors.

Please disable your browser's AdBlock Extension first, in order to use our Forum.

Rest assured, our ads will not disturb your browsing and reading.

I've Dissable