From cd5f66eb160e473b2c59ec90b933b32a5e7717a5 Mon Sep 17 00:00:00 2001 From: nanometer5088 Date: Thu, 3 Nov 2022 19:06:19 -0300 Subject: [PATCH] files and base code --- README.md | 3 +- VERSION | 1 + main.py | 14 ++++++ palavras.txt | 24 ++++++++++ src/encrypt.py | 8 ++++ src/funcoes.py | 85 ++++++++++++++++++++++++++++++++++ src/generic.py | 9 ++++ src/init.py | 0 usuarios_senhascodificadas.txt | 22 +++++++++ 9 files changed, 165 insertions(+), 1 deletion(-) create mode 100644 VERSION create mode 100644 main.py create mode 100644 palavras.txt create mode 100644 src/encrypt.py create mode 100644 src/funcoes.py create mode 100644 src/generic.py create mode 100644 src/init.py create mode 100644 usuarios_senhascodificadas.txt diff --git a/README.md b/README.md index 638bea7..513da09 100644 --- a/README.md +++ b/README.md @@ -1 +1,2 @@ -# quebrando-senhas \ No newline at end of file +# WIP - Password brute-force +** This software is not feature-complete nor is it functional at the moment** \ No newline at end of file diff --git a/VERSION b/VERSION new file mode 100644 index 0000000..d1c6331 --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +0.01 \ No newline at end of file diff --git a/main.py b/main.py new file mode 100644 index 0000000..4537db6 --- /dev/null +++ b/main.py @@ -0,0 +1,14 @@ +from src.generic import * +from src.encrypt import * +from src.funcoes import * + +#print(senhas()[0]) + +#frase = input("senha") +#aha = codificar_senha(frase) +#print(aha) + +#senhas_para_arquivo('k') +#print(find('JqnPIZYP5+WTMI+tIAplfXhbY0tUd82xgV+wrss7ucbHumwI5bs5epKQ7SO7v6y5c3RzHNhF+0V+ivSbRgamqA==')) + +print(len(combinations())) diff --git a/palavras.txt b/palavras.txt new file mode 100644 index 0000000..ced7639 --- /dev/null +++ b/palavras.txt @@ -0,0 +1,24 @@ +alho +amendoas +banana +bife +bolo +brigadeiro +calabreza +caramelo +chocolate +cobertura +flocos +milk +morango +palmito +pimenta +pistache +pizza +queijo +shake +sorvete +suco +tempura +tomate +torta \ No newline at end of file diff --git a/src/encrypt.py b/src/encrypt.py new file mode 100644 index 0000000..f2f9a51 --- /dev/null +++ b/src/encrypt.py @@ -0,0 +1,8 @@ +import hashlib, base64 + +def codificar_senha(senha): + senha_encoded = senha.encode('utf-8') + digest = hashlib.sha512(senha_encoded).digest() + digest_b64_encoded = base64.b64encode(digest) + digest_b64_encoded_utf8_decoded = digest_b64_encoded.decode('utf-8') + return digest_b64_encoded_utf8_decoded \ No newline at end of file diff --git a/src/funcoes.py b/src/funcoes.py new file mode 100644 index 0000000..0246844 --- /dev/null +++ b/src/funcoes.py @@ -0,0 +1,85 @@ +def listas(): + i = 0 + vazio = '' + arquivo = open('usuarios_senhascodificadas.txt', 'r', encoding='utf-8') + linhas = arquivo.readlines() + tamanho = len(linhas) + arquivo.close() + vet = [0] * tamanho + arquivo = open('usuarios_senhascodificadas.txt', 'r', encoding='utf-8') + while True: + lelinha = arquivo.readline().rstrip() + if lelinha == vazio: + break + vet[i] = lelinha.split(':') + i += 1 + arquivo.close() + return vet + +def senhas(): + senha_com_nome = listas('usuarios_senhascodificadas.txt') + listadesenhas = [] + listadenomes = [] + for i in range(len(senha_com_nome)): + listadesenhas.append(senha_com_nome[i][1]) + for i in range(len(senha_com_nome)): + listadenomes.append(senha_com_nome[i][0]) + return listadesenhas, listadenomes + +def find(senha_criptografada): + senha = senhas()[0] + for i in range(len(senha)): + if senha_criptografada == senha[i]: + return senhas()[1][i] + +def combinations(): + from src.generic import escrever_arquivo + def lista(): + i = 0 + vazio = '' + arquivo = open('palavras.txt', 'r', encoding='utf-8') + linhas = arquivo.readlines() + tamanho = len(linhas) + arquivo.close() + vet = [0] * tamanho + arquivo = open('palavras.txt', 'r', encoding='utf-8') + while True: + lelinha = arquivo.readline().rstrip() + if lelinha == vazio: + break + vet[i] = lelinha + i += 1 + arquivo.close() + return vet + + from itertools import product + listafinal = [] + lista = lista() + + lista1 = list(product(lista, repeat=1)) + lista2 = list(product(lista, repeat=2)) + lista3 = list(product(lista, repeat=3)) + lista4 = list(product(lista, repeat=4)) + lista5 = list(product(lista, repeat=5)) + listatotal = lista1 + lista2 + lista3 + lista4 + lista5 + + for i in range(len(listatotal)): + if len(listatotal[i]) == 1: + listafinal.append(listatotal[i][0]) + + elif len(listatotal[i]) == 2: + listafinal.append(listatotal[i][0]+' '+listatotal[i][1]) + + elif len(listatotal[i]) == 3: + listafinal.append(listatotal[i][0]+' '+listatotal[i][1]+' '+listatotal[i][2]) + + elif len(listatotal[i]) == 4: + listafinal.append(listatotal[i][0]+' '+listatotal[i][1]+' '+listatotal[i][2]+' '+listatotal[i][3]) + + elif len(listatotal[i]) == 5: + listafinal.append(listatotal[i][0]+' '+listatotal[i][1]+' '+listatotal[i][2]+' '+listatotal[i][3]+' '+listatotal[i][4]) + + for i in range(len(listafinal)): + escrever_arquivo('arquivograndeprakaralho', listafinal[i]) + escrever_arquivo('arquivograndeprakaralho', '\n') + return listafinal \ No newline at end of file diff --git a/src/generic.py b/src/generic.py new file mode 100644 index 0000000..ae59275 --- /dev/null +++ b/src/generic.py @@ -0,0 +1,9 @@ +def senhas_para_arquivo(senha): + with open('senhas_quebradas.txt', 'a') as arquivo: + arquivo.write(senha+'\n') + arquivo.close() + +def escrever_arquivo(arquivo, string): + with open(arquivo, 'a') as arquivo: + arquivo.write(string) + arquivo.close() \ No newline at end of file diff --git a/src/init.py b/src/init.py new file mode 100644 index 0000000..e69de29 diff --git a/usuarios_senhascodificadas.txt b/usuarios_senhascodificadas.txt new file mode 100644 index 0000000..11485af --- /dev/null +++ b/usuarios_senhascodificadas.txt @@ -0,0 +1,22 @@ +ana:yg3QTN6kHOLc29iovY6TL52d0ApyFOBmSFnl9hGcF2jskKn0P5P5Oz2sxFRRH3Ms5M2BB1+qg/Avu095wng93w== +bob:B0vwv2bJD23Tl+qtVAs41oART2rLiKTdMVLdDPEEFgH3Lis5mqGLEXfvstdsmThEU6XoYoXFJYPSmrgenBd8Ow== +charles:TChOuV5fmjqqkzX6tKVnbABRMhOBdSq6K5rzn01UAjNPIFMz5pAYgl1GK7LJGERgeEEa2KNosT2ZTC3+DCvCXg== +daniel:xwzdFeAF9+pSCBvoJNesfHt9q8OXeZm81+IEzoLj99JrwHqLIQEZIjqh5dT6HNP9OqDMt4wkB0T/0NcyRRr+Yg== +edna:UgLdLqLBsaLCFbJvOVZ2CwUIHJlUybKCGwuQlAk3QSRM0rXj5QO4jkd7yWdevxQielsJsno9t3apIdjHzPxtjg== +fabiana:lNHDRuUWRttImtoWH7gYrN6Om8jbQdrQlH+TqWp3ojl9j2CCjfJxGZVmS1bKmnL57V2qxJtwQTjFzWsKXvgtuA== +gabriela:TxeQkBAYPOMwSYXcN7Xhc7ZSE7iieIkUFzyPUFB8rS0q+rLn44KBgz85jzSHu+IV9TR5aPqUcoDTQi085ySgNA== +henrique:Vd4XhGmn0+pbQLOkJEuwyFw8hfKDapntTKsPGmvL2RrGzRoH6KKCLF48IMlj8KEuwWvDPpJ3znDfiqv2ngat/w== +irene:OWz/vGlkKZe7pnNKqvYXqRm9Mx/fJeXluIVY1AoDDDX0TFsoLdulv3Dxi7V4rohx7iO1lhQ0QnL55Zd8apxjMg== +joel:ZwWFbD0/2Tq0fYloqXO8Y9iaYaWojvdYT8zT5vIh2fij2THHOBeZUmy0PJiyqKqjdmtfe6m/j1rb23b6fglL5w== +kramer:BqftFNb10QwAkzzEDxxGY8cwX4ttvyOqj0vbDxMEGrVvgLuqsGnWOdgbcNKx0mk+g30cWp988R8HmCmnGTvCSQ== +leandro:8OUxPEjNN/ANP+KspLs/yX4J81oN9OeWDYdnDC8ptCeHo35sBEUIqihyZsq3R9WLfAzR+WzIUYaj9P3RZU/Wjw== +mariana:4UQRolT6v0E8wYMEe4tCIURcOyuFAN05ixD8oJxVxm1npBZYLzffHlMQ03SPhSmT9LlFLYvb2rhTyYPoPD6T3Q== +nivaldo:L0uAjMg0y4G5RvO9uesJfmcPJd4kn7iaDgJZQVR14xKgdT0eJyLuuXhrQE3XPG/WaTgseC6vWF40T1cW67JUSQ== +orlando:aR1ZULRUSClW+D0vrkvAsyzQpTrGhgfr8BEEt1fR+hDdAsUNabGMKffsLySLARxCmoZP72PQaZZ8R6+K5OGl7g== +paula:DWXtuLLpgiY5HXBkaCzUcmFI/nt+GiCmM614FrbJaOPGexb+veBkaacSxCxSBRh0zArWNIixdwyXsfIFhaDaIw== +reinaldo:xXrxc0YCkZ1FEV5cPpal3cvBq0YKJDUPPHcAI65tcHnchoYq84rTnecvMTLcVWVOGgSA6Ckncu094v345KnvcA== +silvia:bZB97fjhpaPNCepnOckNcIyl5viK1Q/k1fM0FUzX+uGdk86ESL4JIVv8/pesRRT1wtRmvGCxntz5sBl+zAqc6g== +tatiana:+FyCtoHrjZI73lXE+p/pj0Q5MyTiNDNvZF9m5jmrpBX/bD3nTL7o83DTbR3Xv74y8xbZC3/1ndo0qDRdKcc6vQ== +ulisses:JqnPIZYP5+WTMI+tIAplfXhbY0tUd82xgV+wrss7ucbHumwI5bs5epKQ7SO7v6y5c3RzHNhF+0V+ivSbRgamqA== +vanessa:U6b0ErYiGvb7urRLNKuIK6L6ZCgT35EYAfdil9wMBFGSLiJcKPbSxhE2Avcr8nAjXcJhTWO300lKAg/4wBTihw== +wesley:fv5cI163MF1I6dbefEiWOVxnS1pSdYormQ7F5U222HeZ9HMFAW5TKMgWfZmtro1Z49COzmFIa0kdcDRB7lcVfg==