13/03/2015

Wordlist de data de nascimento em C

o negócio interessante é uma senha, pra senha ser segura não pode ter nenhuma relação com você, e quanto mais difícil de se descobrir uma senha é, também será mais difícil de decora-la.

Me lembro do tempo em que eu usava o orkut, minha senha era minha data de nascimento, hoje em dia não uso mais data de nascimento em senhas, mas não duvido que alguém ainda use.

Enfim, criei esse programa em C pra demonstrar uma maneira de criar uma wordlist de datas. O código é bem simples, mas se alguém tiver alguma dúvida é só comentar que eu respondo.


Wordlist de Datas

11/03/2015

Era uma vez um planeta chamado Terra, e no planeta todos eram obrigados a assinar um contrato capitalista, as cláusulas do contrato eram:

1- O nascimento do ser é a assinatura do Contrato.
2- Ao nascer lhe é emprestada uma quantidade de vida cuja medição é aleatória, respeitando-se a classe/espécie do ser.
3- A Terra(credor) pode a qualquer momento, sem aviso prévio requerer o pagamento da dívida, nesse caso não cabe julgamento/apelação.
4- O devedor pode a qualquer momento pagar a dívida ao credor, mas isso não abaterá o valor total da dívida.
5- O pagamento será feito em uma parcela única, no qual o devedor pagará ao credor o total da dívida.

Cláusula especial:  O falecimento do Credor implicará no uso da cláusula 4 para todos os devedores.


Autor: Ciro Martins

09/03/2012

Wordlist com Números de Celular

  Bem, mais um fim de semana em Sobral e me recordei de um dia em que uma amiga me pediu pra configurar o roteador dela, eu aceitei, no momento de por a senha eu lhe perguntei:

-- Qual senha eu ponho?
-- Essa daqui.

  E me entregou um papel com um número de celular, nesse momento me recordei de uma vizinha que me deu a senha da internet dela uma vez e também era um número de celular, só que com o DDD na frente, pra você ver como é a vida, aqui estou eu recordando de uma coisa que recordei a muito tempo atrás.

  Agora vem a parte que faz sentido, e decidi fazer algo de útil com o algorítimo de força bruta, e  utilizei ele para gerar uma wordlist para quebrar senhas que sejam um número de celular, seja a senha só o numero, com DDD na frente ou com 0 e DDD na frente..

  Primeiramente vamos a teoria, um numero de celular é composto por 2 números contastes(não mudam)  e 6 dígitos que variam de 0 a 9.O algorítimo é simples, não tem nem o que comentar. Exemplo:

  96000001
  96000002
  .
  .
  96120547
  .
  .
  96999999


 Bem, porque gerar uma wordlist?

1 - Pra aprender a programar.
2 - Pra testar a teoria da análise combinatória.
3 - Pra usar no roteador do seu vizinho que utiliza uma WPA ou WPA2. kkkkk

Bem aqui está o código: Wordlista_de_celulares.cpp

Versao 2016: https://github.com/CiroboyBR/Gerador_Wordlists/blob/master/celular.c

pra quem acha que a senha do seu roteador é segura com WPA ou WPA2, mesmo utilizando um número de celular. vale a pena testa-la com o programa Aircrack-ng.






18/12/2011

Algoritmo de força bruta feito em C parte 2

mais um dia se passa e decidi mecher um pouco mais no algoritmo, Fiz uma função para quebrar uma senha que contenha tanto letras minúsculas quanto maísculas,essa função pula do código ASCII '90' = "Z" para o '97'= "a", evitanto assim, 6 caracteres( ], [, \, ^, _, ' ), a mais na força bruta, reduzindo assim o tempo de execução da função. Tambem fiz uma mesma função, só que essa fiz um modo burro, usando tambem os 6 caracteres ( ], [, \, ^, _, ' ), retirados da outra função, meu objetivo era testar se of "IF's" da primeira função retardariam a execução do algoritmo, o que foi provado empiricamente que não retarda mais do o retardo causado pelo uso dos 6 caracteres especiais. Vejamos os resultados


Para quebrar uma senha com apenas letras (a-z, A-Z).

5 Dígitos:    5s Segundos usando Força Bruta (Inteligente)
6 Dígitos:    250s Segundos usando Força Bruta (Inteligente)
Para quebrar uma senha com letras (a-z, A-Z) e os 6 caracteres especials( ], [, \, ^, _, ' ).

5 Dígitos:    7s Segundos usando Força Bruta (Burra)
6 Dígitos:    388s Segundos usando Força Bruta (Burra)

Para quebrar uma senha com letras (a-z, A-Z) e números(0-9) .

5 Dígitos:    14,2s Segundos usando Força Bruta (Inteligente)
6 Dígitos:    887s Segundos(15 min) usando Força Bruta (Inteligente)
  Descidi não usar uma função burra nesse último teste porque prejudicaria muito o desempenho,  mais ainda falta um teste com todos os caracteres da tabela ASCII que depois postarei aqui nesse mesmo tópico. 
  O link do código está logo abaixo:
http://www.4shared.com/file/a0R7mH7d/Forca_Bruta_2.html

Um link da tabela ASCII que usei para fazer o algoritmo :
http://equipe.nce.ufrj.br/adriano/c/apostila/tabascii.htm

17/12/2011

Algoritmo de força bruta feito em C

    Fim de semana chegou! Nada pra fazer! Quando surgiu-me uma idéia! "Vou criar um algoritmo de força bruta pra ver se eu consigo descobrir a senha do servidor do FBI. Vou aproveitar e ver se eu estou sendo procurado e logo depois vou dominar o Mundo!"... kkkkk, claro que o verdadeiro motivo não foi esse, teve muita curiosidade e um pouco de tédio nisso.

    Bem, fiz um algoritimo na linguagem C/C++, nele eu testei uma maneira que descobrir uma senha de no máximo 9 dígitos,  na tentativa e erro (força bruta), nele tem duas funções, uma força bruta(normal) e outra força bruta(inteligente),  a diferença entre as duas funções é que na força bruta inteligente você não precisa controlar o tamanho da senha, já na força bruta normal, nescessita-se igualar o número de for's ao numero de caracteres da senha, algo simples mas chato para algmas pessoas, você deve estar se perguntando,  "por que ele não deixou apenas a função inteligente?", devido ao fato de ser um algoritmo para descobrir senhas, ele nescessita de um maior desempenho e apesar da diferença ser pequena usando apenas números, usando letras ou letras e números essa diferença aumenta muito. Queria também chamar a atenção sobre as impressões das senhas erradas na tela, atrasa muito o a execução do algoritimo, se estiver demorando pra achar a senha retire os printfs de senhas erradas. Vejamos alguns resultados dos testes que realizei em um Notebook Positivo sim+ 1455 Core2 duo 3gb Ram com Windows XP...

Para quebrar uma senha de 9 Dígitos(Apenas números)

    11.5s Segundos usando Força Bruta (Inteligente)
    8.5s   Segundos usando Força Bruta (Normal)

Para quebrar uma senha de 6 Dígitos(Apenas letras minúsculas sem o Ç)

    3.3s Segundos usando Força Bruta (Inteligente)
    2.2s   Segundos usando Força Bruta (Normal)

Para quebrar uma senha de 7 Dígitos(Apenas letras minúsculas sem o Ç)

    85.2s Segundos usando Força Bruta (Inteligente)
    56.6s   Segundos usando Força Bruta (Normal)

    Bem, chegou ao fim minha primeira postagem nesse blog, espero não ser a última. Vou disponibilizar o algoritimo feito em C/C++, compilado na IDE CodeBlocks para quem quiser testar, modificar e aprender ou até critica-lo :), A quem baixar comenta aí os resultados dos seus testes. Abaixo segue o link para o download do código e da IDE caso alguem nescessite.

Código em C/C++

IDE Codeblocks