Strona 1 z 3 123 OstatniOstatni
Pokaż wyniki 1 do 10 z 29

Temat: [C] generowanie słowników WPA

  1. #1
    Zarejestrowany
    Mar 2010
    Postów
    16

    Domyślnie [C] generowanie słowników WPA

    Witam. Ostatnio napisałem program do generowania słowników w linuxie. Problem tylko w tym, że już pierwsza część 8-znakowa według obliczeń zajmie około 1500 TB. Czytałem na internecie kiedyś że to powinno ważyć 32 gb. A potem to wszystko posprawdzać.. Jest to możliwe? Jak mogę zmodyfikować ten program? Czy to jest głupie ?

    Kod:
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    #include <stdlib.h>
    #include <pthread.h>
    #include <signal.h>
    
    unsigned long long int sec,w,g;
    void* t(void* u)
    { while (1){
     sleep(1); sec++;
     if ((sec % 10) == 0) printf("%d w/s : ",w);
     w = 0;
    }}
    
    FILE *fp; char nm[21],a[32],k;
    
    char fo(char l)
    {
     sprintf(nm,"wpa-dict-%d-1.lst",l);
     fp = fopen(nm,"w"); k = 1;
     if (fp == 0){ perror("failed to open"); return 1; }
     printf("Generating %d-letter words..\n",l);
     return 0;
    }
    
    char fw(char l)
    {
      if (g >= 1073741824 && g < (1073741825+l)){
       g = 0; fclose(fp); k++; sprintf(nm,"wpa-dict-%d-%d.lst",l,k);
       printf("\n--------------------\n%s\n--------------------\n",nm);
       fp = fopen(nm,"w");
       if (fp == 0){ perror("failed to open"); return 1; }
      }
      fwrite(a,1,strlen(a),fp); fputc(10,fp);
      if (w == 0 && sec != 0 && (sec % 10) == 0) printf("[%s]\n",a);
      w++; g+=l+1;
      return 0;
    }
    
    void cpl(char l,char wh)
    {
     fclose(fp);
     printf("\n\n%d-letter words complete",l);
     if (wh == 0) printf("\n------------------------------------");
    }
    
    void quitproc()
    {
     fclose(fp);
     printf("\nStopped.\n");
     exit(0);
    }
    
    int main(int argc, char *argv[])
    {
     printf("\n Ponulaczek WPA/WPA2 Dict-Gen\n\n");
    
     unsigned char wh = 0;
     if (argc > 1){
      wh = atoi(argv[1]);
      if (!(wh >= 8 && wh <= 32)){
       printf(" %d isn't a 8-32 number.\n",wh);
       printf(" You can write nothing number too, to generate the full dictionary.\n");
       return 0;
      }
     }
     
     pthread_t id1; pthread_create(&id1,0,&t,0);
     memset(a,0,sizeof(a)); signal(SIGINT,quitproc);
     
     if (wh == 0 || wh == 8){
      if (fo(8) == 1) return 1;
      for (a[0] = 32; a[0] <= 126; a[0]++){
      for (a[1] = 32; a[1] <= 126; a[1]++){
      for (a[2] = 32; a[2] <= 126; a[2]++){
      for (a[3] = 32; a[3] <= 126; a[3]++){
      for (a[4] = 32; a[4] <= 126; a[4]++){
      for (a[5] = 32; a[5] <= 126; a[5]++){
      for (a[6] = 32; a[6] <= 126; a[6]++){
      for (a[7] = 32; a[7] <= 126; a[7]++){
       if (fw(8) == 1) return 1;
      }}}}}}}}
      cpl(8,wh);
     }
     
     if (wh == 0 || wh == 9){
      if (fo(9) == 1) return 1;
      for (a[0] = 32; a[0] <= 126; a[0]++){
      for (a[1] = 32; a[1] <= 126; a[1]++){
      for (a[2] = 32; a[2] <= 126; a[2]++){
      for (a[3] = 32; a[3] <= 126; a[3]++){
      for (a[4] = 32; a[4] <= 126; a[4]++){
      for (a[5] = 32; a[5] <= 126; a[5]++){
      for (a[6] = 32; a[6] <= 126; a[6]++){
      for (a[7] = 32; a[7] <= 126; a[7]++){
      for (a[8] = 32; a[8] <= 126; a[8]++){
       if (fw(9) == 1) return 1;
      }}}}}}}}}
      cpl(9,wh);
     }
    i tak dalej..
    Kod:
     if (wh == 0 || wh == 32){
      if (fo(32) == 1) return 1;
      for (a[0] = 32; a[0] <= 126; a[0]++){
      for (a[1] = 32; a[1] <= 126; a[1]++){
      for (a[2] = 32; a[2] <= 126; a[2]++){
      for (a[3] = 32; a[3] <= 126; a[3]++){
      for (a[4] = 32; a[4] <= 126; a[4]++){
      for (a[5] = 32; a[5] <= 126; a[5]++){
      for (a[6] = 32; a[6] <= 126; a[6]++){
      for (a[7] = 32; a[7] <= 126; a[7]++){
      for (a[8] = 32; a[8] <= 126; a[8]++){
      for (a[9] = 32; a[9] <= 126; a[9]++){
      for (a[10] = 32; a[10] <= 126; a[10]++){
      for (a[11] = 32; a[11] <= 126; a[11]++){
      for (a[12] = 32; a[12] <= 126; a[12]++){
      for (a[13] = 32; a[13] <= 126; a[13]++){
      for (a[14] = 32; a[14] <= 126; a[14]++){
      for (a[15] = 32; a[15] <= 126; a[15]++){
      for (a[16] = 32; a[16] <= 126; a[16]++){
      for (a[17] = 32; a[17] <= 126; a[17]++){
      for (a[18] = 32; a[18] <= 126; a[18]++){
      for (a[19] = 32; a[19] <= 126; a[19]++){
      for (a[20] = 32; a[20] <= 126; a[20]++){
      for (a[21] = 32; a[21] <= 126; a[21]++){
      for (a[22] = 32; a[22] <= 126; a[22]++){
      for (a[23] = 32; a[23] <= 126; a[23]++){
      for (a[24] = 32; a[24] <= 126; a[24]++){
      for (a[25] = 32; a[25] <= 126; a[25]++){
      for (a[26] = 32; a[26] <= 126; a[26]++){
      for (a[27] = 32; a[27] <= 126; a[27]++){
      for (a[28] = 32; a[28] <= 126; a[28]++){
      for (a[29] = 32; a[29] <= 126; a[29]++){
      for (a[30] = 32; a[30] <= 126; a[30]++){
      for (a[31] = 32; a[31] <= 126; a[31]++){
       if (fw(32) == 1) return 1;
      }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
      
      fclose(fp);
      printf("\n\n 32-letter words complete!");
      if (wh == 0){
       printf("\n\n DoNE! You have now the complete wpa dictionary!");
       printf("\n Let's cracking xD\n");
      }
     }
     
     return 0;
    }
    ps.
    Kod:
    if (g >= 1073741824 && g < (1073741825+l)){
    Ta linijka sprawdza czy jest już 1gb. Nie dało sie zrobić pliku wiekszego niż 2gb.
    Ostatnio edytowane przez ponulaczek : 05-16-2010 - 12:20

  2. #2
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,656

    Domyślnie

    Slowniki maja ta wade ze sa ogromne... dlatego uzywa sie rainbow tables. Poza tym slownik do WPA nie ma sensu bo wszystko zalezy od ESSID sieci wiec slownik bedzie ok ale dla jednej konkretnej nazwy siec wifi i zadnej innej. Szkoda czasu i dysku niestety :-/
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  3. #3
    Zarejestrowany
    Mar 2010
    Postów
    16

    Domyślnie

    A skąd można wziąć rainbow tables? Da sie je wygenerować? Jest do tego jakiś program?
    Nie wiedziałem że hasło zależy od ESSID..
    Poza tym slownik do WPA nie ma sensu bo wszystko zalezy od ESSID sieci wiec slownik bedzie ok ale dla jednej konkretnej nazwy siec wifi i zadnej innej.
    Ale jak dam aircrack-ng sprawdzać wszystko to chyba znajdzie..
    Nie wiem nie znam sie ;P Ja czytałem na internecie że tylko słownik trzeba mieć i w nim musi być hasło.

    Nie dało by sie tak że bez zapisywania na dysku karta graficzna z CUDA szybko sprawdzi wszystkie możliwości i napisze hasło? Istnieje taki program?

  4. #4
    Zarejestrowany
    Jul 2007
    Skąd
    UK
    Postów
    354

    Domyślnie

    Cytat Napisał ponulaczek Zobacz post
    Nie wiedziałem że hasło zależy od ESSID
    chodzilo chyba o tablice,ktore sa generowae na podtsawie slownika i ESSID. Mam gdzies na dysku tablice o wadze cos kolo 30gb czy nieco wiecej, sa gdzies na torrentach, tyle ze jest tam tyle bezsensownych ESSID ze nie wiem po co ktos to wogole generowal:/ ESSID-y jak Netgear belkin itp to ruzumie, ale po co cos w stylu SKY09374? A czemu nie SKY09375? To sa unikalne ESSID-y i sznasa na trafienie takigo jest mniejsza niz trafienie 6 w totka a tablice spuchly przez to niemilosiernie


    edit: ciekaw jestem czy da sie wyedytowac takie tablice i wywalic co zbedne, wie ktos cos nt temat?
    Atheros? - nanzwa mhata yangu

  5. #5
    Zarejestrowany
    Mar 2010
    Postów
    16

    Domyślnie

    chodzilo chyba o tablice,ktore sa generowae na podtsawie slownika i ESSID.
    Cytat Napisał http://www.aircrack-ng.org/doku.php?id=cracking_wpa
    aircrack-ng -w password.lst -b 00:14:6C:7E:40:80 psk*.cap
    nie rozumiem.. ale nie było by chyba problemu gdyby nie te terabajty.

    To sa unikalne ESSID-y i sznasa na trafienie takigo jest mniejsza niz trafienie 6 w totka a tablice spuchly przez to niemilosiernie
    czyli tablic nie ma sensu ściągac.. a program ktoś zna do generowania takich tablic?
    w jaki sposób można potem tego użyć do złamania hasła?
    Ostatnio edytowane przez ponulaczek : 05-16-2010 - 15:20

  6. #6
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,656

    Domyślnie

    Jesli uzywasz aircrack'a i slownika to on robi atak slownikowy czyli to zajmie mase czasu... CUDA to jest rozwiazanie ale trzeba zainwestowac nieco w sprzet. Ja wlasnie kupilem sobie mala karte z CUDA i zobaczymy co bedzie.

    Tak czy inaczej generowanie slownika tak jak sugerujesz (wszystkie mozliwe hasla) nie ma sensu bo i tak samo sprawdzenie potrwa w cholere (ESSID+pass jest mielone 8192 razy - cos jak hashowanie) i to zajmuje tyle najwiecej czasu, wiec samo generowanie 1.5TB slownika mija sie z celem doszczetnie. Owszem - uzyc CPU do generowania permutacj i GPU (CUDA) do sprawdzania reszty bo GPU policzy te 8192 operacje znacznie szybciej.

    Tak czy inaczej samo generowanie slownika aby pozniej go uzyc to mija sie moim zdaniem z celem skoro slownik to mowiac krotko brute-force... Chcesz zlamac haslo do konkretnej sieci to mozesz zaplacic za usluge lamania hasla... Srednio wychodzilo kilkanascie do kilkudziesiecu dolcow za sztuke :P
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  7. #7
    Zarejestrowany
    Jul 2007
    Skąd
    UK
    Postów
    354

    Domyślnie

    przy generowaniu tablic zostaly uzyte anglieskie slowniki, wiecw Pl maly z nich bedzie raczej pozytek, do lamania mozesz uzyc slownikow albo tablic, mi aircrack przeszukuje slownik z predkoscia ok 150 hasel na sek, a tablice 1000x szybciej. Wiecej o tablicahc znajdziesz tu airolib database - Google Search, sa video tutki do tego, krok po kroku.Ogolnie uwazam, ze bawienie sie w lamanie wpa to strata czasu, jak kto ma pojecie w tym temacie to bedzie mila dobre haslo,a dla niewiedzacych providerzy sami ustawiaja hasla na ruterkaach, wstarczy 8 znakow generowanych losowo i mozesz sobie lamac do os..ej smiercico sam zauwazyles w 1-szym poscie
    Ostatnio edytowane przez bemyself : 05-16-2010 - 15:29
    Atheros? - nanzwa mhata yangu

  8. #8
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,656

    Domyślnie

    150 hasel/sek... Procek C2D @2.5GHz robi okolo 440/sek... najslabsza karta graficzna z CUDA zaczyna sie od 3200/sek do powiedzmy 20tys/sek dla mocniejszych kart... a w ukladzie kilku kart nawet 90k/sek mozna zrobic - fajny wykres jest pod http://code.google.com/p/pyrit/ ale od razu mowie - to wymaga odpowiedniej karty graficznej a pozniej mase czasu...
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  9. #9
    Zarejestrowany
    Jul 2007
    Skąd
    UK
    Postów
    354

    Domyślnie

    Cytat Napisał TQM Zobacz post
    150 hasel/sek...
    mam PIII 1.6 GHz i 786 RAM, nie potrzeba mi wiecej ale jak piszesz ze zeby uzyskac dobra wydajnosc trzeba miec dobry sprzet-to jest za droga zabawa dla przecietnego zjadacza hamburgerow. O ile dobry proc to jeszzce nie klopot, o tyle klika dobrych kart graficznyh to nieosiagalna srawa dla wiekszosci ludzi. Lepiej juz zaplacic 50 dolcow.Poza tym co z tego ze przeszukiwanie slownika pojdzie szybko jesli bedziesz mial pare TB slownika Nawet nie wiem mniej wiecej ile to bedzie linijek. Jak dla mnie -strata czasu i niepotrzebne zuzywanie procesora.

    edit: Sport jest drogi, a lamanie wpa to chyba tylko czysty sport, bo broadband jest tanszy niz te 50 dolcow , nie wspominajac juz o kilku CUDA-ch. Inaczej rzecz bysie miala gdyby chodzilo o lamanie algorytmu, ale samo szukanie hasla to j/w-strata czasu.
    Ostatnio edytowane przez bemyself : 05-16-2010 - 16:27
    Atheros? - nanzwa mhata yangu

  10. #10
    Zarejestrowany
    Feb 2010
    Postów
    81

    Domyślnie

    r e k l a m a


    lamanie WPA to nie sport bo ... jest zbyt duzo kombinacji to jest raczej strata czasu.Pewnie jakby usrednic czas lamania zlamanych WPA i przeliczyc to na pobor energii w czasie lamania i zysku z dostepu do uslug po zlamaniu WPA , to by wyszlo cos blisko 0.A juz slownikiem generowanym bruteforcem to mozna to traktowac jako .. sposob na zabicie nudy albo cos w tym stylu.

Strona 1 z 3 123 OstatniOstatni

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj