comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[Aporte] Generador de diccionarios para fuerza bruta

  • 1 Respuestas
  • 1816 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado WHK

  • *
  • Underc0der
  • Mensajes: 68
  • Actividad:
    0%
  • Reputación 3
  • 吴阿卡
    • Ver Perfil
    • WHK
« en: Enero 25, 2016, 03:01:25 pm »
Hola, hice un generador de diccionarios en python, lo pueden descargar desde acá:
No tienes permisos para ver links. Registrate o Entra con tu cuenta

Uso:

Código: No tienes permisos para ver links. Registrate o Entra con tu cuenta
whk@machine:~/$ python whk-dict-maker.py
- WHK Dictionary Maker 1.0, for pentesting purposes.
- Enter max longitude of word [4]        :
- Use letters?                [Y/n]      :
- Use lowercase?              [Y/n]      :
- Use uppercase?              [y/N]      :
- Use numbers?                [Y/n]      :
- Use special chars?          [y/N]      :
- Filename of dictionary      [dict.txt] :

  Summary                                             
  -----------------------------------------------------
- Max longitude of word                  : 4
- Total number of characters to use      : 36
- Total of words                         : 1,727,604
- Use letters                            : Yes
- Use lowercase letters                  : Yes
- Use uppercase letters                  : No
- Use numbers                            : Yes
- Use special chars                      : No
- Filename of dictionary                 : dict.txt
- File size estimated of dictionary      : 8.19MB
  -----------------------------------------------------
- You want to proceed?        [Y/n]      :
- End!                                                 

whk@machine:~/$ ls -lah
total 8,3M
drwxrwxr-x 3 whk whk 4,0K ene 24 20:24 .
drwxrwxr-x 4 whk whk 4,0K ene 24 20:09 ..
-rw-rw-r-- 1 whk whk 8,2M ene 24 20:24 dict.txt
-rw-rw-r-- 1 whk whk 7,0K ene 24 20:09 whk-dict-maker.py
whk@machine:~/$

Código:

Código: Python
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3.  
  4. import sys
  5. import os
  6. import math
  7.  
  8. class MainCLS:
  9.  
  10.     total_of_words      = 0
  11.     total_of_characters = 0
  12.     current             = 0
  13.     user_longitude      = 0
  14.     user_use_letters    = False
  15.     user_use_lowercase  = False
  16.     user_use_uppercase  = False
  17.     user_use_numbers    = False
  18.     user_use_specials   = False
  19.     user_filename       = ''
  20.     list_string         = ''
  21.  
  22.  
  23.     def processWord(self, str):
  24.         self.current = self.current + 1
  25.         self.file_handler.write("%s\n" % str)
  26.         sys.stdout.write("\r- Progress: %d/%d (%s)                " % (self.current, self.total_of_words, str))
  27.         sys.stdout.flush()
  28.  
  29.  
  30.     def loop(self, prefix, loops):
  31.         if loops == 0:
  32.             return
  33.        
  34.         last_list = []
  35.         for id_letter in range(0, len(self.list_string)):
  36.             final_str = prefix + self.list_string[id_letter]
  37.             last_list.append(final_str)
  38.             self.processWord(final_str)
  39.  
  40.         for id_array in range(0, len(last_list)):
  41.             self.loop(last_list[id_array], loops - 1)
  42.  
  43.  
  44.     def getInput(self, message, type_inp, default_value):
  45.         inp = raw_input(message)
  46.         inp = inp.strip()
  47.  
  48.         if inp == '':
  49.             inp = default_value
  50.  
  51.         if type_inp == 'int':
  52.             try:
  53.                 val = int(inp)
  54.                 if val > -1:
  55.                     return val
  56.                 else:
  57.                     print '- That\'s not an number. Try again.'
  58.                     return self.getInput(message, type_inp, default_value)
  59.  
  60.             except ValueError:
  61.                 print '- That\'s not an number. Try again.'
  62.                 return self.getInput(message, type_inp, default_value)
  63.  
  64.         elif type_inp == 'bool':
  65.             if inp.lower() == 'y':
  66.                 return True
  67.             elif inp.lower() == 'n':
  68.                 return False
  69.             else:
  70.                 print '- Please, respond with yes (y) or not (n). Try again.'
  71.                 return self.getInput(message, type_inp, default_value)
  72.  
  73.         elif type_inp == 'file':
  74.             if os.path.isfile(inp):
  75.                 respond = self.getInput('- The file exists.You want to replace it? [y/N] : ', 'bool', 'n')
  76.                 if respond == False:
  77.                     return self.getInput(message, type_inp, default_value)
  78.                 else:
  79.                     return inp
  80.             else:
  81.                 return inp
  82.  
  83.         else:
  84.             return inp
  85.  
  86.     def printSummary(self):
  87.         print '                                                       '
  88.         print '  Summary                                              '
  89.         print '  -----------------------------------------------------'
  90.         print '- Max longitude of word                  : ' + '{0:,}'.format(self.user_max_longitude)
  91.         print '- Total number of characters to use      : ' + '{0:,}'.format(len(self.list_string))
  92.         print '- Total of words                         : ' + '{0:,}'.format(self.total_of_words)
  93.  
  94.         if self.user_use_letters == True:
  95.             print '- Use letters                            : Yes'
  96.             print '- Use lowercase letters                  : ' + ('Yes' if self.user_use_lowercase  else 'No')
  97.             print '- Use uppercase letters                  : ' + ('Yes' if self.user_use_uppercase  else 'No')
  98.         else:
  99.             print '- Use letters                            : No'
  100.  
  101.  
  102.         print '- Use numbers                            : ' + ('Yes' if self.user_use_numbers  else 'No')
  103.         print '- Use special chars                      : ' + ('Yes' if self.user_use_specials else 'No')
  104.         if os.path.isfile(self.user_filename):
  105.             print '- Filename of dictionary                 : ' + self.user_filename + ' (override)'
  106.         else:
  107.             print '- Filename of dictionary                 : ' + self.user_filename
  108.  
  109.         print '- File size estimated of dictionary      : ' + self.convertSize(self.total_of_characters)
  110.            
  111.         print '  -----------------------------------------------------'
  112.         return self.getInput('- You want to proceed?        [Y/n]      : ', 'bool', 'y')
  113.  
  114.  
  115.     def convertSize(self, size, precision=2):
  116.         # size = size + 0.0
  117.         suffixes=['B','KB','MB','GB','TB','PB']
  118.         suffixIndex = 0
  119.         while size > 1024 and suffixIndex < 4:
  120.             suffixIndex += 1 #increment the index of the suffix
  121.             size = size/1024.0 #apply the division
  122.         return ("%.*f%s" % (precision, size, suffixes[suffixIndex]))
  123.  
  124.  
  125.     def __init__(self):
  126.  
  127.         print '- WHK Dictionary Maker 1.0, for pentesting purposes.';
  128.         # self.user_min_longitude = self.getInput('- Enter min longitude of word [0]        : ', 'int',  '0')
  129.         self.user_max_longitude = self.getInput('- Enter max longitude of word [4]        : ', 'int',  '4')
  130.  
  131.         self.user_use_letters   = self.getInput('- Use letters?                [Y/n]      : ', 'bool', 'y')
  132.         if self.user_use_letters == True:
  133.             self.user_use_lowercase   = self.getInput('- Use lowercase?              [Y/n]      : ', 'bool', 'y')
  134.             self.user_use_uppercase   = self.getInput('- Use uppercase?              [y/N]      : ', 'bool', 'n')
  135.  
  136.         self.user_use_numbers   = self.getInput('- Use numbers?                [Y/n]      : ', 'bool', 'y')
  137.         self.user_use_specials  = self.getInput('- Use special chars?          [y/N]      : ', 'bool', 'n')
  138.         self.user_filename      = self.getInput('- Filename of dictionary      [dict.txt] : ', 'file', 'dict.txt')
  139.  
  140.         self.list_string = ''
  141.  
  142.         if self.user_use_letters == True:
  143.  
  144.             if self.user_use_lowercase == True:
  145.                 self.list_string = self.list_string + 'abcdefghijklmnopqrstuvwxyz'
  146.  
  147.             if self.user_use_uppercase == True:
  148.                 self.list_string = self.list_string + 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
  149.  
  150.         if self.user_use_numbers == True:
  151.             self.list_string = self.list_string + '0123456789'
  152.        
  153.         if self.user_use_specials == True:
  154.             self.list_string = self.list_string + '\\/\'"@#$%&/()=?¿!¡+-*_.:,;'
  155.  
  156.  
  157.         self.total_of_words      = 0
  158.         self.total_of_characters = 0
  159.         for n in range(0, self.user_max_longitude):
  160.             total = (len(self.list_string)**(n + 1))
  161.             self.total_of_words      = self.total_of_words + total
  162.             # (word length * count words) + \n
  163.             self.total_of_characters = self.total_of_characters + (total * (n + 1)) + total
  164.  
  165.         # Summary
  166.         response = self.printSummary()
  167.         if response == False:
  168.             return
  169.  
  170.         # Load file
  171.         if os.path.isfile(self.user_filename):
  172.             os.remove(self.user_filename)
  173.         self.file_handler = open(self.user_filename, 'w')
  174.  
  175.         # Execute all
  176.         self.loop('', self.user_max_longitude)
  177.  
  178.         # End
  179.         self.file_handler.close()
  180.         print "\r                                                       \r- End!"
  181.    
  182. if __name__ == '__main__':
  183.     mainCLS = MainCLS()
  184.  

Enjoy.

Desconectado Stiuvert

  • *
  • Colaborador
  • *
  • Mensajes: 2668
  • Actividad:
    1.67%
  • Reputación 14
    • Ver Perfil
  • Skype: stiuvert@gmail.com
  • Twitter: @Stiuvert
« Respuesta #1 en: Enero 26, 2016, 06:12:01 am »
Muy bueno @No tienes permisos para ver links. Registrate o Entra con tu cuenta!
Se agradece, será de mucha utilidad  :)

Saludos

 

¿Te gustó el post? COMPARTILO!



Eternal - Un escáner para Eternal Blue

Iniciado por puntoCL

Respuestas: 2
Vistas: 2008
Último mensaje Julio 23, 2017, 10:37:05 pm
por puntoCL
[Phishing] Página de phishing para Twitter

Iniciado por bernatixer

Respuestas: 8
Vistas: 4599
Último mensaje Enero 07, 2016, 10:23:35 am
por ANTRAX
Paso a paso para ser un verdadero < HACKER > lo mejor que hay

Iniciado por smown

Respuestas: 5
Vistas: 1944
Último mensaje Agosto 17, 2018, 09:20:02 am
por ANTRAX
Un Redirect en Facebook para hacer Phishing a Facebook

Iniciado por Stiuvert

Respuestas: 4
Vistas: 4340
Último mensaje Enero 09, 2014, 11:46:26 pm
por Snifer
Sniffer para windows "RawCap"

Iniciado por s747ik

Respuestas: 1
Vistas: 2146
Último mensaje Junio 12, 2011, 04:08:03 pm
por staRgan