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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Seguridad (Moderador: r32)
| | |-+  Tengo Una Idea (Attack Broken locks)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Tengo Una Idea (Attack Broken locks)  (Leído 4,078 veces)
Kr0pl0its

Desconectado Desconectado

Mensajes: 8



Ver Perfil
Tengo Una Idea (Attack Broken locks)
« en: 16 Octubre 2016, 23:39 pm »

Saludos, Necesito Un Consejo Acerca De Un Programa Que Eh Estado Desarrollando En Estos Días, Que Tiene Como Función Realizar Un Procedimiento Similar a El De Fuerza Bruta Con La Diferencia De Que Debería Funcionar De La Siguiente Manera:    El Programa Contiene Todas Las Letras,Símbolos y Números Posibles. Realiza Una Lista De Cien Millones De Combinaciones ilógicas y Luego Utiliza Un Procedimiento Que Le Permitirá Comparar Todos Los Caracteres de Manera Que Buscara Combinaciones Lógicas (Combinaciones Posibles Para Lograr Acceder) Luego Las Va a Codificar Siguiendo Ciertas Instrucciones  Que Permitirán Descifrar y Almacenar a Las Mejores Combinaciones Es Decir El Programa Mete Una Lista de Contraseña Cifradas Siguiendo El Algoritmo de Cifrado del objetivo (Se Debe Especifica) Realizando Lo Que Yo Llamaría Broken locks... En Fin, Quiero Decir El Programa Rompe a La Fuerza Utilizando El Procedimiento de Cryptografia del objetivo (Es Decir Solo Funciona En Sistemas Débiles ) Busca Las Vulnerabilidades y Genera Combinaciones que permiten acceder a el objetivo (Debe Meterse la lista de forma automática y los patrones deben ser cifrados...) este procedimiento puede tardar un poco, pero con las instrucciones y manejo correcto puede funcionar sin ningún problema.. Eh Estado Pensado en Utilizar Python... Solo Necesito Unos Consejos..  ;D Saludos
Código
  1. #include <iostream>
  2. #include <conio.h>
  3. #include <windows.h>
  4. #include <stdlib.h>
  5. #include <stdio.h>
  6. #include <string>
  7. #include <time.h>
  8.  
  9.  
  10.  
  11. void encriptarArchivo();
  12. void desencriptarArchivo();
  13. using namespace std;
  14. int main ()
  15. {
  16.  
  17.  
  18. char cadena[5185]={'A','B','C','D','E','F','G','H','I','J','K','L',
  19.                 'M','N','O','P','Q','R','S','T','U','V','W','X',
  20.                 'Y','Z','0','1','2','3','4','5','6','7','8','9',
  21.         'a','b','c','d','e','f','g','h','i','j','k','l',
  22.                 'm','n','o','p','q','r','s','t','u','v','w','x',
  23.                 'y','z','0','1','2','3','4','5','6','7','8','9',
  24. 'A','B','C','D','E','F','G','H','I','J','K','L',
  25.                 'M','N','O','P','Q','R','S','T','U','V','W','X',
  26.                 'Y','Z','0','1','2','3','4','5','6','7','8','9',
  27.         'a','b','c','d','e','f','g','h','i','j','k','l',
  28.                 'm','n','o','p','q','r','s','t','u','v','w','x',
  29.                 'y','z','0','1','2','3','4','5','6','7','8','9',
  30. '/','-','_','#','%'};
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  int cont=0;
  37.  
  38.      FILE *arch;
  39.  
  40.  char c;
  41.     int a,e,i,o,u; //contadores
  42.    char digito[0];
  43.   char resultado[0];  //array donde vamos a guardar los resultados
  44.  
  45.    unsigned char caracter='a';  //variable usada para las compraraciones
  46.    int ok=0;
  47.    int y=0;
  48.    int j=0;
  49.    int k=0;
  50.  
  51.  
  52.  
  53.  
  54.  
  55. while("pause")
  56.     {
  57. system ("title Brutal");
  58. system("color 9a");
  59.  
  60. arch=fopen("datos.txt","a");
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67. srand(time(NULL));
  68.  
  69.  
  70. while (cont!=100000){ // Numero de Cifras a Generar
  71.  
  72.  
  73.  
  74. for(u=0;u<=10;u++)
  75. {
  76.  
  77.  
  78.  
  79.    for(y=0;y<4;y++){  //bucle que compara y encuentra el 1º caracter
  80.    caracter=(char)y;
  81.         for(j=0;j<8;j++){  //bucle que compara y encuentra el 2º caracter
  82.              caracter=(char)j;
  83.              for(k=0;k<16;k++){  //bucle que compara y encuentra el 3º caracter
  84.                    caracter=(char)k;
  85.                    if(cadena[0 > 2]==caracter){
  86.                        resultado[0 > 4]=caracter;
  87.                        ok++;
  88.                        if(ok==0){break;}
  89.                    }
  90.                    caracter++;            
  91.  
  92.              if(cadena[0 > 4]==caracter){
  93.                  resultado[0 > 8]=caracter;
  94.                  ok++;
  95.              }
  96.              caracter++;
  97.         }
  98.         if(cadena[0 > 8]==caracter){
  99.             resultado[0 > 16]=caracter;
  100.             ok++;
  101.         }
  102.  
  103.  if(cadena[0 < 2]==caracter){
  104.                        resultado[0 < 4]=caracter;
  105.                        ok++;
  106.                        if(ok==0){break;}
  107.                    }
  108.                    caracter++;            
  109.              }
  110.              if(cadena[0 < 4]==caracter){
  111.                  resultado[0 < 8]=caracter;
  112.                  ok++;
  113.              }
  114.              caracter++;
  115.         }
  116.         if(cadena[0 < 8]==caracter){
  117.             resultado[0 < 16]=caracter;
  118.             ok++;
  119.         }
  120. }
  121.         caracter++;
  122.  
  123.  
  124.  
  125. printf ("%c",resultado[rand() % 201]);
  126. printf("\t\t ");
  127. printf ("%c",resultado[rand() % 201]);
  128. printf("\t\t ");
  129. printf ("%c",resultado[rand() % 201]);
  130. printf("\t\t ");
  131. printf ("%c",resultado[rand() % 201]);
  132. printf("\t\t ");
  133. printf ("%c",resultado[rand() % 201]);
  134. printf("\t\t ");
  135. printf ("%c",resultado[rand() % 201]);
  136. printf("\t\t ");
  137. printf ("%c",resultado[rand() % 201]);
  138. printf("\t\t ");
  139. printf ("%c",resultado[rand() % 201]);
  140. printf("\t\t ");
  141. printf ("%c",resultado[rand() % 201]);
  142. printf("\t\t ");
  143. printf ("%c",resultado[rand() % 201]);
  144. printf("\n\t\t ");
  145.  
  146.  
  147. fputs(resultado, arch);
  148.  
  149.  
  150. caracter++;
  151.  
  152.  
  153.    printf("\n\t");
  154.  
  155.  
  156. }
  157. }
  158.  
  159.  
  160.   getch ();
  161. }
  162.  
  163.  

 No Eh Hecho Mucho En El Programa Le Faltan Las Funciones Más Importantes...


« Última modificación: 16 Octubre 2016, 23:56 pm por simorg » En línea

“Concéntrate en el momento. Siente, no pienses, usa tu instinto.” Qui-Gon Jinn.
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Tengo Una Idea (Attack Broken locks)
« Respuesta #1 en: 17 Octubre 2016, 00:45 am »

no mezcles librerías de C con las de C++

Código
  1. #include <iostream>
  2. #include <conio.h> //no la usas aquí, no la uses en general... quitala
  3. #include <windows.h> //no la usas aqui, si puedes evitala, te limita la plataforma
  4. #include <stdlib.h>   //c++ -> <cstdlib>
  5. #include <stdio.h> //c++ -> <cstdio> aunque ya usas iostream
  6. #include <string>  
  7. #include <time.h> //<ctime>

Código:
 char cadena[5185]= ...
por que usas 5185 espacios? es preferible que la declares del tamaño que usarás... a demás, estás usando la librerís string, no es necesario que uses char directamente aqui


qué es esto? que quieres hacer aquí?
Código:
cadena[0 > 2]


en general no comprendo que intenta hacer el sistema... por cierto, no es en general eficiente pasar pot todas las posibilidades y descartar... lo correcto es predecir las posibilidades y evitar en lo absoluto usar cciclos para las no posibles (ya que perderás temipo de calculo descartando)




En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Kr0pl0its

Desconectado Desconectado

Mensajes: 8



Ver Perfil
Re: Tengo Una Idea (Attack Broken locks)
« Respuesta #2 en: 17 Octubre 2016, 01:00 am »


Código
  1. #include <iostream>
  2. #include <stdlib.h>
  3. #include <string>
  4. #include <time.h>
  5. #include <cstdlib>
  6.  
  7.  
  8. void encriptarArchivo();
  9. void desencriptarArchivo();
  10. using namespace std;
  11. int main ()
  12. {
  13.  
  14.  
  15. char cadena[201]={'A','B','C','D','E','F','G','H','I','J','K','L',
  16.                 'M','N','O','P','Q','R','S','T','U','V','W','X',
  17.                 'Y','Z','0','1','2','3','4','5','6','7','8','9',
  18.         'a','b','c','d','e','f','g','h','i','j','k','l',
  19.                 'm','n','o','p','q','r','s','t','u','v','w','x',
  20.                 'y','z','0','1','2','3','4','5','6','7','8','9',
  21. 'A','B','C','D','E','F','G','H','I','J','K','L',
  22.                 'M','N','O','P','Q','R','S','T','U','V','W','X',
  23.                 'Y','Z','0','1','2','3','4','5','6','7','8','9',
  24.         'a','b','c','d','e','f','g','h','i','j','k','l',
  25.                 'm','n','o','p','q','r','s','t','u','v','w','x',
  26.                 'y','z','0','1','2','3','4','5','6','7','8','9',
  27. '/','-','_','#','%'};
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  int cont=0;
  34.  
  35.      FILE *arch;
  36.  
  37.  char c;
  38.     int a,e,i,o,u; //contadores
  39.    char digito[0];
  40.   char resultado[0];  //array donde vamos a guardar los resultados
  41.  
  42.    unsigned char caracter='a';  //variable usada para las compraraciones
  43.    int ok=0;
  44.    int y=0;
  45.    int j=0;
  46.    int k=0;
  47.  
  48.  
  49.  
  50.  
  51.  
  52. while("pause")
  53.     {
  54.  
  55.  
  56. arch=fopen("datos.txt","a");
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63. srand(time(NULL));
  64.  
  65.  
  66. while (cont!=100000){ // Numero de Cifras a Generar
  67.  
  68.  
  69.  
  70. for(u=0;u<=10;u++)
  71. {
  72.  
  73.  
  74.  
  75.    for(y=0;y<4;y++){  //bucle que compara y encuentra el 1º caracter
  76.    caracter=(char)y;
  77.         for(j=0;j<8;j++){  //bucle que compara y encuentra el 2º caracter
  78.              caracter=(char)j;
  79.              for(k=0;k<16;k++){  //bucle que compara y encuentra el 3º caracter
  80.                    caracter=(char)k;
  81.                    if(cadena[0]==caracter){
  82.                        resultado[0]=caracter;
  83.                        ok++;
  84.                        if(ok==0){break;}
  85.                    }
  86.                    caracter++;            
  87.  
  88.              if(cadena[0]==caracter){
  89.                  resultado[0]=caracter;
  90.                  ok++;
  91.              }
  92.              caracter++;
  93.         }
  94.         if(cadena[0]==caracter){
  95.             resultado[0]=caracter;
  96.             ok++;
  97.         }
  98.  
  99.  if(cadena[0]==caracter){
  100.                        resultado[0]=caracter;
  101.                        ok++;
  102.                        if(ok==0){break;}
  103.                    }
  104.                    caracter++;            
  105.              }
  106.              if(cadena[0]==caracter){
  107.                  resultado[0]=caracter;
  108.                  ok++;
  109.              }
  110.              caracter++;
  111.         }
  112.         if(cadena[0]==caracter){
  113.             resultado[0]=caracter;
  114.             ok++;
  115.         }
  116. }
  117.         caracter++;
  118.  
  119.  
  120.  
  121. printf ("%c",resultado[rand() % 201]);
  122. printf("\t\t ");
  123. printf ("%c",resultado[rand() % 201]);
  124. printf("\t\t ");
  125. printf ("%c",resultado[rand() % 201]);
  126. printf("\t\t ");
  127. printf ("%c",resultado[rand() % 201]);
  128. printf("\t\t ");
  129. printf ("%c",resultado[rand() % 201]);
  130. printf("\t\t ");
  131. printf ("%c",resultado[rand() % 201]);
  132. printf("\t\t ");
  133. printf ("%c",resultado[rand() % 201]);
  134. printf("\t\t ");
  135. printf ("%c",resultado[rand() % 201]);
  136. printf("\t\t ");
  137. printf ("%c",resultado[rand() % 201]);
  138. printf("\t\t ");
  139. printf ("%c",resultado[rand() % 201]);
  140. printf("\n\t\t ");
  141.  
  142.  
  143. fputs(resultado, arch);
  144.  
  145.  
  146. caracter++;
  147.  
  148.  
  149.    printf("\n\t");
  150.  
  151.  
  152. }
  153. }
  154.  
  155.  
  156.   getch ();
  157. }
  158.  
  159.  

soy un  fracaso  :huh: 
[/quote]
En línea

“Concéntrate en el momento. Siente, no pienses, usa tu instinto.” Qui-Gon Jinn.
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Tengo Una Idea (Attack Broken locks)
« Respuesta #3 en: 17 Octubre 2016, 01:13 am »

si eres un fracaso o no, está de tu parte decidirlo

veo que lo haces a los golpes que es el problema, tienes que sentarte con calma, recomiendo  usar una libreta y "simular" el codigo (la salida) que quieres a mano para visualizarlo...

explica paso a paso que se supone que haga (no la explicación que diste, sino realmente paso a paso) para ver si te podemos ayudar...

si, python podría ser util para esto, su manejo de cadenas es efectivo y simple, pero c++, es enormemente más rápido y potente

Citar
De Cien Millones De Combinaciones ilógicas y Luego Utiliza Un Procedimiento Que Le Permitirá Comparar Todos Los Caracteres de Manera Que Buscara Combinaciones Lógicas

100.000.000 de combionaciones son apenas 4 letras (y la mitad de camino de la 5ta) luego de generarlas tardarás x tiempo decidiendo cuales son buenas o no... eso tomará tiempo... y si lo escribes en disco para leerlo desde allí, taradrá una cantida ridicula de tiempo, es preferible que llenes la ram y hacer todo desde allí

En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Kr0pl0its

Desconectado Desconectado

Mensajes: 8



Ver Perfil
Re: Tengo Una Idea (Attack Broken locks)
« Respuesta #4 en: 17 Octubre 2016, 06:40 am »

Gracias, Me Pondré a Trabajar con calma el programa... cuando lo termine o tenga un avance.. paso código  ;D
En línea

“Concéntrate en el momento. Siente, no pienses, usa tu instinto.” Qui-Gon Jinn.
Kr0pl0its

Desconectado Desconectado

Mensajes: 8



Ver Perfil
Re: Tengo Una Idea (Attack Broken locks)
« Respuesta #5 en: 20 Octubre 2016, 05:59 am »

Es lo que Hecho Hasta Ahora, me gustaría saber como evitar windows.h
Código
  1. #include <iostream>
  2. #include <conio.h>
  3. #include <cstdlib>
  4. #include <string>
  5. #include <ctime>
  6. #include <fstream>
  7. #include <windows.h>  //quiero evitar esto, pero es la unica forma de que funcione keybd_event();
  8.  
  9. using namespace std;
  10.  
  11.  
  12. int main ()
  13. {
  14.  
  15.  
  16. char cadena[201]={'A','B','C','D','E','F','G','H','I','J','K','L',
  17.                 'M','N','O','P','Q','R','S','T','U','V','W','X',
  18.                 'Y','Z','0','1','2','3','4','5','6','7','8','9',
  19.         'a','b','c','d','e','f','g','h','i','j','k','l',
  20.                 'm','n','o','p','q','r','s','t','u','v','w','x',
  21.                 'y','z','0','1','2','3','4','5','6','7','8','9',
  22. 'A','B','C','D','E','F','G','H','I','J','K','L',
  23.                 'M','N','O','P','Q','R','S','T','U','V','W','X',
  24.                 'Y','Z','0','1','2','3','4','5','6','7','8','9',
  25.         'a','b','c','d','e','f','g','h','i','j','k','l',
  26.                 'm','n','o','p','q','r','s','t','u','v','w','x',
  27.                 'y','z','0','1','2','3','4','5','6','7','8','9',
  28. '/','-','_','#','%'};  //Letras, Numeros y Simbolos a Utilizar.
  29.  
  30.  
  31.  
  32.  
  33. int cont=0;
  34. char c;
  35. int a,e,i,o,u; //contadores
  36. char digito[0];
  37. char resultado[0];  //array donde vamos a guardar los resultados
  38. unsigned char caracter='a';  //variable usada para las compraraciones
  39.    int ok=0;
  40.    int y=0;
  41.    int j=0;
  42.    int k=0;
  43.  
  44.  
  45. srand(time(NULL));
  46.  
  47.  
  48. while (cont!=100000){ // Numero de Cifras a Generar
  49.  
  50.  
  51.  
  52. for  (i = 0; cadena[i]!='\0';i++) //se generar toda la cadena para luego descodificar (Criptografia Inversa).
  53.       {
  54.  
  55.  
  56.  
  57. for(u=0;u<=100;u++)
  58. {
  59.  
  60. for(u=0;u<=100;u++)
  61. {
  62.  
  63. cadena[i]-=i; //se descodifica
  64. printf("%c ",cadena[i]);
  65.  
  66. for(u=0;u<=100;u++)
  67. {
  68.  
  69. for(u=0;u<=100;u++)
  70. {
  71.  
  72. for(u=0;u<=100;u++)
  73. {
  74.  
  75. for(u=0;u<=100;u++)
  76. {
  77.  
  78.  
  79. for  (e = 0; resultado[e]!='\0';e++) //Se Generan Los Resultados
  80.       {
  81.  
  82.  
  83. printf("%c ",resultado[rand() % 201]);
  84. printf ("%c",resultado[rand() % 201]);
  85. printf("\t\t ");
  86. printf ("%c",resultado[rand() % 201]);
  87. printf("\t\t ");
  88. printf ("%c",resultado[rand() % 201]);
  89. printf("\t\t ");
  90. printf ("%c",resultado[rand() % 201]);
  91. printf("\t\t ");
  92. printf ("%c",resultado[rand() % 201]);
  93. printf("\t\t ");
  94. printf ("%c",resultado[rand() % 201]);
  95. printf("\t\t ");
  96. printf ("%c",resultado[rand() % 201]);
  97. printf("\t\t ");
  98. printf ("%c",resultado[rand() % 201]);
  99. printf("\t\t ");
  100. printf ("%c",resultado[rand() % 201]);
  101. printf("\t\t ");
  102. printf ("%c",resultado[rand() % 201]);
  103.  
  104.  
  105.  
  106. resultado[e]-=e; //se descodifican los resultados
  107. printf("%c ",resultado[e]);
  108.  
  109.  
  110. keybd_event((BYTE)VkKeyScan(resultado[rand() % 201]), 0, 0, 0); //se escriben en pantalla
  111. keybd_event((BYTE)VkKeyScan(resultado[rand() % 201]), 0, 0, 0);
  112.  
  113.  
  114. keybd_event(VK_RETURN, 0, 0, 0); //Pulsamos enter
  115. keybd_event(VK_RETURN, 0, 0, 0); //Levantamos enter
  116. printf("\n\t\t ");
  117.  
  118.  
  119. }
  120.  
  121.  
  122.  
  123.  
  124. }
  125.  
  126. }
  127.  
  128. }
  129.  
  130. }
  131.  
  132. }
  133.  
  134. }
  135.  
  136.  
  137.  
  138.  
  139. }
  140.  
  141.  
  142. caracter++; //se siguen generando
  143.  
  144.    printf("\n\t");
  145.  
  146.  keybd_event(VK_RETURN, 0, 0, 0); //Pulsamos enter
  147. keybd_event(VK_RETURN, 0, 0, 0); //Levantamos enter
  148.  
  149. }
  150.  
  151.  
  152.  
  153.  
  154.   getch ();
  155. }
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
En línea

“Concéntrate en el momento. Siente, no pienses, usa tu instinto.” Qui-Gon Jinn.
MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.471


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Tengo Una Idea (Attack Broken locks)
« Respuesta #6 en: 20 Octubre 2016, 22:22 pm »

Si llamas  a las APIs de windows, creo que no puedes prescindir de windows.h, a menos que especifiques el prototipo de la función/es a las que llamas (osea, lo mismo que hace el .h)

Pero bueno, no programo mucho de C/C++.

Saludos!
En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[MOD] NO TENGO NI IDEA DONDE TENGO QUE METER MI DUDA (rippear cd de audio)
Multimedia
elvis2013 4 4,959 Último mensaje 16 Febrero 2013, 13:52 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines