elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Como hacer un programa para averiguar contraseñas por fuerza bruta.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Como hacer un programa para averiguar contraseñas por fuerza bruta.  (Leído 22,497 veces)
Anastacio

Desconectado Desconectado

Mensajes: 111



Ver Perfil
Como hacer un programa para averiguar contraseñas por fuerza bruta.
« en: 23 Enero 2012, 23:05 pm »

Hola amigos, he buscado funciones por todos lados, pero no pude encontrar nada que me ayude.

Estoy queriendo que (No que me hagais el programa, jeje), me tireis una ideiiiita para hacer un programa por fuerza bruta por C.

Solo una funcion, o algo asi.

Bueno, si podeis, como si no, muchas gracias.


En línea

You, stop to close my post, you were novice too!!!!!!!!!!!!
soyloqbuskas

Desconectado Desconectado

Mensajes: 218


¡El conocimiento es de todos!


Ver Perfil
Re: Como hacer un programa para averiguar contraseñas por fuerza bruta.
« Respuesta #1 en: 23 Enero 2012, 23:31 pm »

¡Buenas Anastacio!

Lo primero de todo...¿sabes lo que es romper una contraseña por fuerza bruta?
Esto consiste en comprobar todas las combinaciones de caratceres posibles...

Esto es tremendamente lento...pero podrias hacerte un ejemplo rapido...Para ello hazte un programa en el que te declares una cadena de 3 caracteres y la llenas con los 3 caracteres que quieras...Luego te creas 3 bucles anidados
Código:

for(i<0;i<27;i++{
    for(j<0;j<27;i++{
         for(k<0;k<27;i++{
            // Codigo para compara el caratcer 3
         }
          // Codigo para comprar el caracter 2
    }
    // Codigo para comprar el caracter 1
}

Si el resultado de las 3 comparaciones es correcto, entonces has encontrado la cadena

Esto es una pequeña aproximacion de como funciona un rompedor de contraseñas por fuerza bruta...

Espero haberte servido de ayuda, un saludo.


En línea

"Si tienes 1 manzana y yo tengo otra manzana...
y las intercambiamos, ambos seguiremos teniendo 1 manzana.
Pero...si tu tienes 1 idea y yo tengo otra idea...
y las intercambiamos, ambos tendremos 2 ideas."


George Bernard Shaw
Anastacio

Desconectado Desconectado

Mensajes: 111



Ver Perfil
Re: Como hacer un programa para averiguar contraseñas por fuerza bruta.
« Respuesta #2 en: 23 Enero 2012, 23:43 pm »

Como declaro una cadena de caracteres???
En línea

You, stop to close my post, you were novice too!!!!!!!!!!!!
soyloqbuskas

Desconectado Desconectado

Mensajes: 218


¡El conocimiento es de todos!


Ver Perfil
Re: Como hacer un programa para averiguar contraseñas por fuerza bruta.
« Respuesta #3 en: 23 Enero 2012, 23:53 pm »

Código:
char cadena[3]={'o','l','a'};
printf("%c%c%c\n",cadena[0],cadena[1],cadena[2]);
En línea

"Si tienes 1 manzana y yo tengo otra manzana...
y las intercambiamos, ambos seguiremos teniendo 1 manzana.
Pero...si tu tienes 1 idea y yo tengo otra idea...
y las intercambiamos, ambos tendremos 2 ideas."


George Bernard Shaw
Anastacio

Desconectado Desconectado

Mensajes: 111



Ver Perfil
Re: Como hacer un programa para averiguar contraseñas por fuerza bruta.
« Respuesta #4 en: 24 Enero 2012, 00:11 am »

O sea que lo mejor seria crear una cadena de caracteres de todas las letras del alfabeto, mas las vocales con tildes, los numeros, comas, comillas, puntos, punto y coma, etc, los mas comunes, y luego probarlos.

No entiendo para que usas los for ahi. Para que sirven en esa circunstancia???

En línea

You, stop to close my post, you were novice too!!!!!!!!!!!!
Ferno


Desconectado Desconectado

Mensajes: 375


Ver Perfil
Re: Como hacer un programa para averiguar contraseñas por fuerza bruta.
« Respuesta #5 en: 24 Enero 2012, 00:34 am »

Gracias a los for, estarías creando todas las alternativas posibles comenzando por los 3 caracteres que se eligieron en ese ejemplo.
Fuerza bruta está basado justamente en eso, comprobar todas las combinaciones posibles de todos los caracteres hasta que des con el correcto.
En línea

soyloqbuskas

Desconectado Desconectado

Mensajes: 218


¡El conocimiento es de todos!


Ver Perfil
Re: Como hacer un programa para averiguar contraseñas por fuerza bruta.
« Respuesta #6 en: 24 Enero 2012, 00:46 am »

Aqui te dejo el codigo del programa.

Código:
#include<stdio.h>
#include<stdlib.h>

int main(){
    char cadena[3]={'o','l','a'};
    printf("Password: %c%c%c\n",cadena[0],cadena[1],cadena[2]); //escribicmos los 3 caracteres
    
    char resultado[3];  //array donde vamos a guardar los resultados
    unsigned char caracter='a';  //variable usada para las compraraciones
    int ok=0; //Cuando encontremos los 3 caracteres ok sera igual 3
    
    int i=0;
    int j=0;
    int k=0;
    
    for(i=0;i<255;i++){  //bucle que compara y encuentra el 1º caracter
    caracter=(char)i;
         for(j=0;j<255;j++){  //bucle que compara y encuentra el 2º caracter
              caracter=(char)j;
              for(k=0;k<255;k++){  //bucle que compara y encuentra el 3º caracter
                    caracter=(char)k;
                    if(cadena[2]==caracter){
                        resultado[2]=caracter;
                        ok++;
                        if(ok==3){break;break;break;}
                    }
                    caracter++;            
              }
              if(cadena[1]==caracter){
                  resultado[1]=caracter;
                  ok++;
              }
              caracter++;
         }
         if(cadena[0]==caracter){
             resultado[0]=caracter;
             ok++;
         }
         caracter++;
    }
    
    printf("Password encontrado: %c%c%c\n",resultado[0],resultado[1],resultado[2]);
    
    system("pause");
    return 0;
}
« Última modificación: 24 Enero 2012, 16:26 pm por soyloqbuskas » En línea

"Si tienes 1 manzana y yo tengo otra manzana...
y las intercambiamos, ambos seguiremos teniendo 1 manzana.
Pero...si tu tienes 1 idea y yo tengo otra idea...
y las intercambiamos, ambos tendremos 2 ideas."


George Bernard Shaw
Anastacio

Desconectado Desconectado

Mensajes: 111



Ver Perfil
Re: Como hacer un programa para averiguar contraseñas por fuerza bruta.
« Respuesta #7 en: 24 Enero 2012, 02:43 am »

Gracias a todos amigos. Me gustaria hacer un pequeño analisis de este programa. Pronto me hare una version propia, con algunas caracteristicas mas avanzadas, que permitan otras cosas, pero bueno, veamos:

Me cuesta entender el tema del for. Es decir, que mientras i sea menor a 0 y a 225, i sumara uno??

Que representa i en este caso. Uno de los tres caracteres "o, l, a"??
En línea

You, stop to close my post, you were novice too!!!!!!!!!!!!
soyloqbuskas

Desconectado Desconectado

Mensajes: 218


¡El conocimiento es de todos!


Ver Perfil
Re: Como hacer un programa para averiguar contraseñas por fuerza bruta.
« Respuesta #8 en: 24 Enero 2012, 03:45 am »

Un bucle te permite repertir una instruccion tantas veces como quieras. En este caso se repite desde 0 hasta 255 (256 veces, porque el cero tambien se cuenta). El motivo de que se repita 256 veces es porque hay 256 caracteres direferentes.
http://atc.ugr.es/docencia/udigital/img/ap04g.gif

Por tanto, si tenemos 3 caracteres tenemos 256^3 combinaciones de caracteres diferentes. Por eso necesitamos 3 bucles desde 0 hasta 255, uno para cada caracter.

para declarar un bucle for debes hacer esto:

Código:
int posicionInicio; //equivalente a la i

for(posicionInicio=0;  posicionInicio<100;  posicionInicio++){
     //instrucciones que se repetiran 100 veces
     //si en posicionInicio hubiera puesto posicionInicio=10
     //el bucle se repetira 100-10=90 veces
}
« Última modificación: 24 Enero 2012, 03:48 am por soyloqbuskas » En línea

"Si tienes 1 manzana y yo tengo otra manzana...
y las intercambiamos, ambos seguiremos teniendo 1 manzana.
Pero...si tu tienes 1 idea y yo tengo otra idea...
y las intercambiamos, ambos tendremos 2 ideas."


George Bernard Shaw
zugador

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Como hacer un programa para averiguar contraseñas por fuerza bruta.
« Respuesta #9 en: 17 Diciembre 2012, 17:28 pm »

soyloqbuscas podrias colgar el programa entero para romper contraseñas por fuerza c  :huh: muchas gracias con antelacion  :laugh:
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines