Vilarejo PK2P
Bem-vindo ao fórum Vilarejo PK2P! O fórum oficial do canal Press Key to Play do Youtube!

Grupo para reunir as pessoas que acompanham os vídeos no canal Press Key to Play e discutir os assuntos abrangidos pelo Blog PK2P.


Você não está conectado. Conecte-se ou registre-se

[artigo] teoria brute force

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

1 [artigo] teoria brute force em 11/9/2017, 01:17

e ae galera beleza to meio sumido esses dias sem muito tempo, minha net tinha ficado off uma semana inteira e varios outros problemas acabaram surgindo nesse mes, além de não aparecer nenhuma mina otaku kawaii querendo brincar comigo ( ͡° ͜ʖ ͡°) (isso é normal nunca aparece mesmo ~ ser otaku é uma merda as vezes kkk), nesse artigo vou falar um pouco sobre o ataque de força bruta vamos entender como ele funciona e como se proteger dele, quando pensamos em força bruta em boa parte das vezes pensamos roubo de senhas já que muitos ataques a sistemas especificos é necessário um ataque de força bruta em conjunto, só que a força bruta não se limita apenas a roubo de senha ja que fora da informática também temos ataque de força bruta, se a gente pensar nos vendedores que vão de porta em porta procurando cliente isso também é um ataque de força bruta, existem diversos tipos de ataques de força bruta alguns são eficientes em certos casos porem tem uma possibilidade menor de conseguir, ja outros tem uma chance maior porem muito mais demorado dependendo do caso

teoria do ataque

o ataque de força bruta consiste em tentativa e erro ou seja tentar todas as possibilidade possíveis de alguma coisa seja de uma senha em um sistema, seja das casas visitadas como vendedor, seja das tentativas falhas de convencer a namorada a alguma coisa nova, seja das tentativas falhas de convencer o pai dela não te matar depois (fui eu nao senhor '-' ), em um ataques de força bruta em sistemas de senhas é inviável fazer manualmente por isso é necessario programas especificos para esse tipo de ataque ja que o ser humano no maximo vai digitar em media umas 1000 tentativas a cada hora enquanto uma maquina pode fazer mil vezes aquele valor em poucos segundos ou ate menos, em ataques de força bruta local na propria maquina usando o computador dependendo do alvo ou do sistema atacado a velocidade do ataque pode fica a cargo do processamento daquela maquina ou seja quanto melhor for o processador mais a maquina ira processar dados com isso mais tentativas por segundo, quando o ataque é pela internet em um servidor a velocidade do ataque depende principalmente da velocidade de requisição naquele servidor que por sua vez depende da velocidade da internet, como tambem é possível fazer ataque de força bruta baseada em GPU usando a placa de video para aumentar a velocidade de processamento e do ataque (inclusive é possível torrar a placa de video dessa forma u.u), é possivel usar varias maquinas em conjunto para ataque distribuidos o que uma unica maquina demoraria horas para o ataque 10 maquinas com as mesmas configurações ia demorar 10 vezes menos (claro que tambem é possivel usar servidores de grande porte como mainframes, computadores cientificos ou ate mesmo um datacenter inteiro para o ataque)

ataque por permutação

esse é o classico é tentar todas as possibilidade para o ataque, sendo que esse ataque tem uma possibilidade de 100% de funcionar (desconsiderando sistemas de proteção e o proprio tempo), o ataque permutável vai alternado cada caracter um a um com base no anterior formando uma nova palavra e checando no sistema a cada nova permutação, se ele tentar todos os caracteres aceitos pelo sistema então a chance de funcionar é 100% ja que uma hora ou outra vai formar a propria palavra (senha), por outro lado se considerar o tempo esse ataque não é nada viavel ja que a cada novo digito na senha o tempo de espera cresce muito, podemos descobrir o tempo de espera a cada novo digito bastando saber a quantidade de caracteres aceita no sistema (o sistema aceita apenas numeros, letras, quais caracteres?), a quantidade de digito que vai ser testando (quero saber quanto tempo vai demorar quebrar uma senha de 10digitos) e por fim a quantidade de checagem em um certo tempo (o programa checa 1000/s), com essas informação podemos dizer quanto tempo demora para uma senha ser quebrada por brute force, a forma para saber é bem simples basta elevar a quantidade de caracteres da senha pelo quantidade de digitos e dividir pela checagem naquele certo tempo

Código:
digito=5
caracteres aceito=256 (ascii)
tempo=1000000/s

256^5 / 1000000 = 1099511s

1099511s =  305h = 12dias

claro que se a quantidade de tipos de caracteres aceita no sistema for menor por exemplo apenas numeros vai demorrar nem 1 segundo diferente do exemplo anterior que usando a tabela ascii (256 caracteres) demora no maximo 12dias para descobrir aquela senha

Código:
digito=5
caracteres aceito=10 (apenas numeros)
tempo=1000000/s

10^5 / 1000000 = 0,1s

0,1s = 100ms

como tambem se aumentar um unico digito aumenta quantidade do tempo sendo que essa quatidade aumenta de forma absurda, exemplo é 5 digitos usando ascii para ser quebrada demora apenas 12 dias por outro lado 6 digitos demora apenas 9 anos, então vou deixa o pc ligado tomar um cafe ali e volto na proxima decada kkkk

Código:
digito=6
caracteres aceito=256 (ascii)
tempo=1000000/s

256^6 / 1000000 = 281474976s

281474976s = 78187h = 9a

evite no maximo uso de senhas com apenas numeros use letras maiúsculas e minúsculas e caracteres especiais na senha, quanto maior e complexa for sua senha mais demorada para quebrar ela

ataque randomico

o ataque randomico funciona com base em probabilidade ele pode ser mais rapido ou demorar milhares de vezes mais que o ataque por permutação, esse ataque gera palavras randomicamente com tamanho aleatorio, as palavras geradas são checadas sendo que existe uma chance da palavra gerada ser a senha, a possibilidade dele gerar a senha é muito pequena então em 5 digitos com uma tabela de 256 caracteres (ascii) a possibilidade da senha sair é uma entre 1.099.511.627.776 (acho que jogar na loteria tem mais chance de ganhar '-' )

Código:
256^5 = 1099511627776 possibilidades diferentes

tambem deve levar em conta o algoritimo que gera a palavra ja que dependendo pode ficar preso em um loop infinito gerando sempre as mesmas palavras depois de uma certa quantidade, algoritimos baseados em entropia são os melhores para esse caso

ataque por dicionario (wordlist)

o ataque baseado em dicionario ou wordlist consiste em usar uma lista de palavras ja formada em um arquivo, esse arquivo pode conter palavras existente de todo dicionario do mundo, senhas padrões e as mais usadas, nomes proprios ou relevantes, nome de celebridade ou ficticio, como também pode ser uma wordlist customizada com apenas informações da propria vitima, diferente do ataque permutável e do randômico que enquanto estiver rodando existe a chance de quebrar a senha o ataque por dicionario a unica possibilidade de quebrar aquela senha seria se a senha em questão tambem estiver naquele dicionario, caso contrario o ataque não vai funciona ja que brute force com base em wordlist não gera novas palavras, então de nada adianta ter uma wordlist grande de 100gb se a senha da vitima não estiver nela, tambem não é nada eficiente se a senha da vitima estiver no final desse wordlist de 100gb sendo que seria necessario checar todas as outras antes, se a gente pensar no ataque de wordlist tambem é um ataque voltado a probabilidade ja que existe uma chance de funcionar ou não funcionar, boa parte dos wordlist são arquivos de texto puro que contem uma palavra embaixo da outra sendo que o programa vai checando linha por linha

Código:
123456
ecchi
kodo
fts315
kami
anime
pantsu

para evitar esse tipo de ataque basta usar senhas que não exista em nenhum dicionario no mundo e uso de caracteres especiais evita palavras existente no dicionario

ataque por tabela de arco iris (rainbow table) '-'

o ataque rainbow table é parecido com o wordlist com diferencial que são dois arquivos um arquivo contem senhas criptografadas e o outro senha ja quebrada de determinado usuario, esse ataque apenas tem utilidade em multiplos alvos no mesmo sistema ou que use o mesmo algoritimo criptografico, com a senha ja quebrada de alguns desses alvos, se existir no mesmo sistema a mesma senha criptografada em alvos diferentes quer dizer que aqueles outros alvos tambem estão usando a mesma senha

Código:
usuario1:Rdsa21daX
usuario2:axaW231d
usuario3:sjdajxaj
usuario4:Rdsa21daX
usuario5:dsad5sdad

Código:
usuario4:123456

no exemplo anterior tanto o usuario1 quanto o usuario4 estão usando a mesma senha porem conhecendo a senha do usuario4 tambem ficamos sabendo a do usuario1 ou de outro usuario com a mesma senha, outro tipo de ataque rainbow table são aqueles bancos de dados de hashs onde voce joga a hash e o sistema retornar qual era a hash descriptografada na hora, sendo que esse processo so é possivel atraves de brute force que foi feito muito antes e armazenado naquele banco de dados por isso é possivel meio que descriptografar as hash por esses sistemas, um exemplo real foi um script que desenvolvi ano passado para fins didático com o db da adobe, mesmo nao conhecendo o algortimo criptografico para um brute force convencional usando outros dbs com senhas puras dava para casar os emails com o db da adobe e assim deduzir qual era senha (claro que deu muito falso positivo tambem porem com um pouco de estatistica daria para arrumar isso kkk)

github



para evitar esse tipo de ataque basta sempre usar senhas diferente para cada tipo de sistema ou seja se seus dados cair a publico algum dia por um desses sistemas nao sera comprometido nos outros

ataque hibrido

os ataques hibridos pode ser varios tipos desses ataques ao mesmo tempo em conjunto por exemplo usar um ataque de wordlist e permutar os caracterer por ele tudo em um unico ataque, não tem muito o que falar desse tipo de ataque ja que ele é uma junção de varios outros e não um padrão de ataque em si

é possivel ver o seu passado e futuro por um brute force

se a gente pensar bem um video gravado é apenas uma forma digitalizada daquele cenario ou seja cada pixel em um video ou foto representa um byte no arquivo, podemos criar um brute force que gera todos esses bytes ou seja podemos gera um arquivo que nao faz nada ate certo momento porem depois de um certo ponto vai gerar uma sequencia de bytes validos que pode ser um arquivo que espelha o seu futuro, o seu passado e o seu presente afinal de contas isso é apenas uma forma digitalizado do mesmo, embora essa possibilidade seja possivel não temos processamento suficiente para tal coisa ainda kkkkk

bom galera brute force é sempre interessante aprender como funciona principalmente desenvolvedores ja que sabendo como esse ataque funciona é facil se prevenir contra ele, tambem devo falar que brute force é muito barulhento se der uma olhada nos log de acesso aquilo dali lota então pode ser facilmente detectado inclusive sistemas de IDS e WAF detecta esse ataque com muita facilidade, alem de um bom captucha na maior parte das vezes acaba barrando esse tipo de ataque \o

ps: lukan tentando dropar as armas raras dos boss tambem é brute force kkkk

by kodo no kami

Ver perfil do usuário https://eofclub.in/forum

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum