VIP Vitalício Renato Ribeiro Postado Janeiro 4, 2019 VIP Vitalício Compartilhar Postado Janeiro 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. [root@centos ~]# 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: [root@centos ~]# 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: [root@centos ~]# 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! [root@centos ~]# cat HSLinuxPWD.py Use o código: https://github.com/TiagoANeves/TDTLinuxPWD Executando o script: [root@centos ~]# 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 para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados
Crie uma conta ou entre para comentar
Você precisar ser um membro para fazer um comentário
Criar uma conta
Crie uma nova conta em nossa comunidade. É fácil!
Crie uma nova contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora