Programa generador de diccionarios para bruteforce
Probado en: Debian etch 4
Lenguaje en que está desarrollado: C
Sirve en Windows?: Creo que si, si no me avisan :S jaja, aunque la verdad está pensado para trabajarse en Linux… oh por cierto, lo edité con el Bluefish pues es el editor con el que más me acomodo.
Bueno pues en la tarde me puse a pensar cuando probaba la seguridad de mi red inalámbrica con WPA en que lo más fácil para evitar que la pudieran crackear era poner una contraseña difícil (obviamente) y que no fuera típica de encontrarse en diccionarios, pero ah! luego recordé que hace tiempo hice un programa generador de “diccionarios” el cual los crea haciendo todas las combinaciones posibles en determinados rangos, por decir, puedes decirle al programa (modificando el código fuente) que solo haga el listado de todas las combinaciones posibles para letras mayúsculas, o para letras minúsculas… tal vez solo de números… etc.
El programa creo que es bastante útil, pues lo puedes limitar y de hecho solo crea diccionarios con palabras de un largo definido, es decir… que podemos hacer que genere un diccionario de todas las combinaciones posibles de números cuyo largo sea 5 caracteres (es un ejemplo)… o que solo sea para de largo 3 caracteres!.
Eso nos da un poco más de ventaja, pues podemos nosotros crear el diccionario y definir que combinaciones queremos. Bueno, pues comento todo esto por que hoy en un rato libre que tuve le anexe mas funcionalidades, la más importante creo fue una función que te dice cuánto va a pesar el diccionario que vas a crear, para asi no trabajar a ciegas. Por decir, las predicciones que dio mi programa para un diccionario que involucre todas las combinaciones de números [0-9] con un largo de 10 caracteres es la siguiente:
No. de combinaciones= 10000000000 combinaciones
Tamaño del archivo en bytes= 110000000000 bytes
Tamaño del archivo en kilobytes= 107421875.00 KB
Tamaño del archivo en megabytes= 104904.1748 MB
Tamaño del archivo en gigabytes= 102.4455 GB
También anexe un menu, para que sea más fácil de usar… y un listado de los caracteres ASCII para que sepas como configurar el programa para adaptarlo a tus necesidades.
Así que entonces, les presento la versión 1.5 de mi programa
, si veo necesario y útil, a lo mejor más adelante me animo a meterle interfaz gráfica y más opciones para generar los diccionarios.
En fin, dejo unas capturas de mi pantalla donde explico un mini-howto de como recomiendo usar mi programa pero ya cada quien es libre de trabajarlo como guste, pues creo es bastante intuitivo:

Recomiendo como primer paso (el paso cero es checar el código) el calcular cuanto va a pesar el diccionario que generemos

Y en efecto, una vez generado notamos que todo salió bien... el cálculo del tamaño fue correcto y ya estamos hechos con nuestro diccionario personalizado!
*Nota: Cada que generemos un diccionario, éste se va a ir sobreescribiendo en el archivo diccionario.txt si no queremos ésto, es necesario entrar a la carpeta donde tenemos el programa y el archivo diccionario.txt y renombrar ese archivo por cualquier otro nombre… o simplemente borrarlo
*Nota 2: Para personalizarlo es necesario modificar el código, deje comentado lo que creí importante pero si aun quedan dudas sientanse libres de preguntar.
Puedes bajarlo el código fuente (para que lo compiles) de aqui:http://www.mediafire.com/?yzd9eshah24
—————————
Fuente extra:
Si queremos un buen diccionario con palabras que se usan comúnmente pues dense una vuelta por la siguiente página: http://ftp.se.kde.org/pub/security/tools/net/Openwall/wordlists/
Salu2! y ojala le sea de utilidad a alguien que mínimo a mi me ha dado un par de ayudas jeje.
—————————
Versión mejorada:
Domingo 5 Abril 2009 — Modificado
Freddy Campos Venezuela — Alias Marthianfred
Exnadido de fuciones numericas de 5 a 10 caracteres….
esto hace que el archivo txt pese un poco mas.. de lo normal
Menus mas Amplio.. en tomar decisiones.













Hola estaba buscando esto por mucho tiempo, ahora mi pregunta es, se puede modificar el programa para que me genere un diccionario apartir de unas palabras claves ??? es decir que yo le de palabras como amor, hola, sexo y me haga este tipo de combinaciones
amorholasexo
amorsexohola
holaamorsexo
etc. etc.
espero respuesta gracias y felicitaciones
que tal epsilon, pues creo que tu lo que buscas es un permutador de palabras… y creo que más adelante le agregaré ese módulo a mi programa, me pareció muy buena idea!… lo más parecido que conozco es un programa que vi posteado en los foros de Remote-Exploit, es un “Dictionary permutator” y está hecho en perl… si quieres dale una checada, probablemente te sea de utilidad:
http://forums.remote-exploit.org/showthread.php?t=12981
Mi programa en sí te genera en bruto un dictionario con tooodos los caracteres que le especifiques… si gustas bajate el código para que lo pruebes … al final de esta entrada pongo un link a mediafire que es donde subi el .c, nomás es de que lo compiles y listo:
http://www.mediafire.com/?yzmwwnrtqzr
salu2! y cualquier cosa a tus órdenes… si se te ocurre algo mas que le podamos agregar a mi programa coméntalo jeje, estaría bien
hola amigo..
gracias por la respuesta y por todo, igual lo voy a probar por que hay que hacerlo con varios diccionarios, y si me gustaria que mas adelante se pudiera agregar al tuyo, asi quedaria una herramienta mas completa, de todas formas voy a seguir buscando y a probar el tuyo, muchas gracias por la disposicion, e igualmente, si necesitas algo, puedo ayudarte en lo que se…
saludos
Hola como andas Richie, como ya te habia comentado modifique el archivo que subiste con DevC++ en windows, funciona bien. Tiene algunos detalles con el comando ‘clear’ ya que en win es cls, lo lleve a 16 caracteres con un metodo sencillo vi las primeras 5 instrucciones y me fije que quedaran igual mientras le agregaba la variable siguiente y la instruccion donde se elige la opcion, ah me olvidaba me di cuenta que era lo que a mi parecer hacia algo raro, cuando le puse todos los caracteres 32-127 el 32 es un espacio en blanco eso era lo que me hacia espacios entre medio y al princiopio de las combinaciones.
La verdad muy util para ser que nunca habia hecho nada se me hizo sencillo seguirlo, lo unico que era un poco malo era que tardaba en crear las combinaciones un poco pero debe ser que soy muy impaciente. Dejo el link con el codigo que modifique.
http://www.mediafire.com/?ntwjm2zykoo
Saludos
Loco sos un groso, muy bueno el codigo lo supe leer, pero de pensarlo me falta sabes cuanto, pero se agradece, me interesa los temas de wpa porque necesito probar la seguridad de mi router, si tenes algo similar en C postealo. saludos capooooooo
Amigo muy bueno el programa, y Sergio parece buena la modificacion, pero el archivo ha sido borrado del servidor si alguien lo tiene posteenlo para probarlo, cualquier cosa a mmaldonado@star.com.pe
Hola como te va, no me copa mucho la programacion en c++ mas que para editar algunos codigos de shellbot, la pregunta es la siguiente estoy con el tema de redes wifi, y creando un txt con pass posibles, te consulto si sera posible que este programa funcione con Backtrack, ya que me seria de gran utilidad tenes mi mail espero pronta respuesta