VIP Lifetime Renato Ribeiro Posted January 4, 2019 VIP Lifetime Share Posted January 4, 2019 Ver este tutorial 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! Autor Renato Ribeiro Categoria Hacker | Invasão Enviado 04-01-2019 03:45 1 Link to comment Share on other sites More sharing options... 507 763 15
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now