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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware
| | |-+  Abril negro (Moderadores: Man-In-the-Middle, WHK, kub0x, fary)
| | | |-+  Editor de diccionarios de claves
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Editor de diccionarios de claves  (Leído 4,816 veces)
3n31ch


Desconectado Desconectado

Mensajes: 445


Grandes conocimientos engendran grandes dudas


Ver Perfil
Editor de diccionarios de claves
« en: 24 Abril 2017, 02:59 am »

Este es un script pequeño que cree con el objetivo de editar los gigantescos diccionarios de passwords que hay en la red.

Muchas veces utilizamos un diccionario de claves grande pensando que es lo mejor, pero no nos detemos a pensar que en ese diccionario hay claves como "%" y si vemos con mas detalle la mayoria de los sitios restringen las claves a un minimo 5-7 caracteres.

Por tanto es importante limitar los diccionarios a las soluciones viables de una password, es por esto que cree Dictditor: Editor de diccionarios por medio de una exprecion regular.

El uso es muy simple:

Código:
Usage: python dictditor.py [options]

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -i FILE, --input=FILE
                        Dictionary to modify
  -o PATH, --output=PATH
                        Modified dictionary.
  -r REGEX, --regex=REGEX
                        Regular expression to apply.

(En la url del final podran ver un ejemplo de su uso)

El proyecto en la actualidad lo estoy mejorando para poder reordenar el diccionario y a su vez para generar una base de datos online que permita crear diccionarios. Pero por ahora este es el codigo:

Código
  1. __version__ = "1.0"
  2. __author__ = "3n31ch"
  3. __website__ = "http://www.elhacker.net/"
  4.  
  5. import re
  6. from optparse import OptionParser
  7.  
  8. def printError(error):
  9. print "[ERROR] ", error
  10.  
  11. def dictditor(inputPath, outputPath, regex):
  12. inputFile = open(inputPath, "r")
  13. outputFile = open(outputPath, "w")
  14. pattern = re.compile(regex)
  15. for line in inputFile:
  16. word = line.replace("\n", "")
  17. if(pattern.match(word)):
  18. outputFile.write(line)
  19. inputFile.close()
  20. outputFile.close()
  21. return;
  22.  
  23.  
  24. def main():
  25.  
  26. print "DICTDITOR - Dictionary Editor"
  27. print "Author: ",__author__
  28. print __website__
  29.  
  30. parser = OptionParser(usage="usage: python %prog [options]",
  31.                          version= "%prog "+__version__ )
  32. parser.add_option("-i", "--input",
  33. dest="input",
  34. help="Dictionary to modify",
  35. metavar="FILE");
  36. parser.add_option("-o", "--output",
  37. dest="output",
  38. help= 'Modified dictionary.',
  39. metavar="PATH");
  40. parser.add_option("-r", "--regex",
  41. dest="regex",
  42. help= 'Regular expression to apply.',
  43. metavar="REGEX");
  44.  
  45. (options, args) = parser.parse_args()
  46.  
  47. if options.input and options.output and options.regex:
  48. dictditor(options.input, options.output, options.regex)
  49. else:
  50. printError("All options are necessary");
  51. parser.print_help()
  52.  
  53.  
  54. if __name__ == '__main__':
  55. main()

Link github: https://github.com/3n31ch/dictditor


En línea

Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.391


Ver Perfil
Re: Editor de diccionarios de claves
« Respuesta #1 en: 25 Abril 2017, 15:52 pm »

mmm...está bien, pero yo no diría que es un editor, más bien diría que es un 'Extractor/Selector'... ya que mirando el código, busca un patrón y si coincide guarda la clave a un fichero nuevo, pero no edita esa misma clave, solo busca coincidencias y las copia a otro fichero aislado.
   
Citar
for line in inputFile:
      word = line.replace("\n", "")
      if(pattern.match(word)):
         outputFile.write(line)

Desde luego es útil, porque muchas veces un diccionario completo, no va a ser tan útil como uno más específico (cuando se tienen datos para poder restringirlo).

...pero vamos no es un editor, no modifica una clave existente.


« Última modificación: 25 Abril 2017, 15:54 pm por NEBIRE » En línea

3n31ch


Desconectado Desconectado

Mensajes: 445


Grandes conocimientos engendran grandes dudas


Ver Perfil
Re: Editor de diccionarios de claves
« Respuesta #2 en: 27 Abril 2017, 02:45 am »

Claro, tienes razón. Mas acorde es el nombre "extractor", pero lo seguiré mejorando y seguramente no sea ni editor ni extractor sino mas bien... creador.

(O extractor de base de datos grande en un archivo... pero es mas lindo "creador").
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

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