Cómo utilizar Pydictor: Una Guía Completa
5 (100%) 11 votos

En este artículo exploraré otra herramienta de generación de diccionarios llamada “Pydictor“. Esta es otra herramienta robusta y perfecta para generar diccionarios personalizados.

Lo que más destaca de esta herramienta son las opciones de personalización que ofrece, desde las más comunes hasta las más avanzadas.

1. Qué es Pydictor

Pydictor es una de esas herramientas que tanto los novatos como los profesionales pueden apreciar. Es una herramienta de construcción de diccionarios que es ideal para tener en tu arsenal cuando se trata de pruebas de seguridad de contraseñas. La herramienta ofrece una gran variedad de características que pueden ser usadas para crear ese diccionario perfecto para casi cualquier tipo de situación de prueba.

Qué es Pydictor

Qué es Pydictor

2. Instalar Pydictor

Vamos a empezar, lo primero que hacemos es descargar Pydictor desde GitHub y ejecutarlo usando Python. En el momento en que se ejecuta la herramienta, los comandos en ejecución son visibles para ver otros argumentos opcionales.

git clone https://github.com/LandGrey/pydictor.git
cd pydictor
python pydictor.py
Instalar Pydictor

Instalar Pydictor

3. Crear un diccionario numérico

Comenzamos explorando la opción de crear un diccionario numérico o como lo describe la herramienta, diccionario digital. Comencemos por mantenerlo simple, sólo 5 caracteres de longitud y limitado a número entre 0 – 5. Para ello utilizaremos la opción “-base“.

La salida se guarda por defecto pero en este caso la guardaremos en “diccionario.txt“. La ubicación de almacenamiento siempre aparecerá después de cada ejecución. El comando cat se utiliza para ver la salida en el terminal.


python pydictor.py --len 5 5 -base d -o dict.txt
Crear diccionario numérico con Pydictor

Crear diccionario numérico con Pydictor

4. Crear diccionario alfabético

Vamos a hacer un diccionario que sólo contiene alfabetos en minúsculas, la longitud de las palabras seguirá siendo de 5 caracteres.

python pydictor.py --len 5 5 -base L
Crear diccionario alfabético minúsculas con Pydictor

Crear diccionario alfabético minúsculas con Pydictor

5. Crear diccionario del alfabeto en mayúsculas

Ahora vamos a generar un diccionario con las mismas métricas que antes, con la excepción de cambiar la opción base por alfabetos en mayúsculas.

python pydictor.py --len 5 5 -base c
Crear diccionario alfabético mayúsculas con Pydictor

Crear diccionario alfabético mayúsculas con Pydictor

6. Crear diccionario alfanumérico

Las opciones base de Pydictor se pueden utilizar conjuntamente, en este caso estaremos acoplando alfabetos numéricos (d) y mayúsculas (c). Veamos qué tipo de salida obtenemos.

python pydictor.py --len 4 4 -base dc
Crear diccionario alfanumérico con Pydictor

Crear diccionario alfanumérico con Pydictor

7. Crear diccionario entre mayúsculas y minúsculas

Esta vez serán ambos alfabetos en mayúsculas y minúsculas juntos. Así lo puedes conseguir:

python pydictor.py --len 4 4 -base dL
Crear diccionario entre mayúsculas y minúsculas

Crear diccionario entre mayúsculas y minúsculas

8. Combinación de mayúsculas, minúsculas y números

Ahora vamos a combinar las 3 opciones que hemos estado tratando. Ahora combinaremos mayúsculas, minúsculas y números para crear un diccionario. Para que la salida resulte más rápida, limitaremos la longitud de palabra a 3 caracteres.

python pydictor.py --len 3 3 -base dLc
Diccionario entre mayúsculas, minúsculas y números

Diccionario entre mayúsculas, minúsculas y números

9. Crear diccionario con prefijo estático

Ahora añadiremos un prefijo (head o encabezamiento) a todas las palabras, ten en cuenta que el prefijo es adicional a la longitud de caracteres que se establece. En este caso añadiremos “geek” como un head estático delante de todos los números.

python pydictor.py --len 5 5 --head geek -base d
Crear diccionario con prefijo estático

Crear diccionario con prefijo estático

10. Crear diccionario con sufijo estático

Ahora añadiremos un sufijo (tail o cola) estática a todas las palabras, ten en cuenta que, como se mencionó en el ejemplo anterior, el sufijo es adicional a la longitud de caracteres que se establece. En este caso añadiremos “geek” como un tail estático al final de todos los números.

python pydictor.py --len 5 5 --tail geek -base d
Crear diccionario con Pydictor

Crear diccionario con Pydictor

11. Encode en Pydictor

Pydictor tiene una función encode que podemos utilizar para codificar las palabras del diccionario.


Nos da la opción de elegir entre los algoritmos de codificación más populares como Base64, DES, AES, MD5, SHA256, etc. En este caso usaremos Base64 como nuestro algoritmo preferido para codificar números.

  • Primero generaré los números sin codificar y luego con codificación.
python pydictor.py --len 5 5 -base d
Números sin codificar con Pydictor

Números sin codificar con Pydictor

  • Ahora vemos cómo es la salida codificada de Base64:
python pydictor.py --len 5 5 -base d --encode b64
Diccionario codificado con Base64 Pydictor

Diccionario codificado con Base64

12. Crear diccionario con permutación de caracteres

Podemos utilizar una permutación con una sola palabra. Pydictor nos permite elegir una palabra y producir tantas permutaciones como sea posible.

python pydictor.py -char geek
Crear diccionario con permutaciones

Crear diccionario con permutaciones

13. Permutación de múltiples caracteres

Llevaremos la destreza de permutación de Pydictor un paso más allá utilizando la opción “-chunk“.

Esta vez le daremos múltiples grupos de caracteres que tomará y producirá tantas permutaciones como sea posible. Comienza de una manera sutil con sólo manipular una palabra y luego gradualmente pasa a las otras. Observa la progresión en la siguiente captura de pantalla.

python pydictor.py -chunk abc ABC 123 . _ @ "'"
Permutación de múltiples caracteres con Pydictor

Permutación de múltiples caracteres con Pydictor

14. Diccionario de Ingeniería Social

Pydictor viene con un constructor de diccionarios de ingeniería social incorporado que permite a los testers introducir información de la elaboración de perfiles de un individuo para obtener un diccionario personalizado. Ejecutamos el help desc dentro de la opción de Social Engineering Dictionary Builder para ver los distintos valores por defecto que ofrece.

python pydictor.py --sedb
Social Engineering Dictionary Builder en Pydictor

Social Engineering Dictionary Builder en Pydictor

Diccionario de Ingeniería Social con Pydictor

Diccionario de Ingeniería Social con Pydictor

14. Personalización del Social Engineering Dictionary

La opción “show option” se utiliza dentro del constructor de diccionarios de ingeniería social para establecer los distintos vectores desde la creación de perfiles de un objetivo hasta la generación de un diccionario específico de un objetivo. En este caso, sólo introduciremos el nombre, la fecha de nacimiento, el correo electrónico y el número de teléfono. Los valores se ajustan utilizando el comando “set“.

Diccionario de ingeniería social para hacking

Diccionario de ingeniería social para hacking

Veamos cómo es la salida de nuestro diccionario de ingeniería social.

Diccionario de ingeniería social para fuerza bruta

Diccionario de ingeniería social para fuerza bruta

15. Manipular el filtro de complejidad del diccionario

En este caso haremos dos cosas, ampliaremos un diccionario basado en una regla y separaremos las palabras filtradas según el nivel de complejidad. El nivel de complejidad está configurado a 3 por defecto, lo llevaremos a 4. La longitud de los caracteres está configurada a un mínimo de 1 y un máximo de 6.

python pydictor.py -extend geek --level 4 --len 1 6
Nivel de complejidad del diccionario

Nivel de complejidad del diccionario

16. Usando Plugin en Pydictor

Pydictor tiene plugins incorporados por defecto, vamos a utilizar pid6 que basa su generación en los últimos 6 dígitos de un número de tarjeta de identificación de residente chino. La filtramos con la función “-occur“. Esta opción nos permite definir lo siguiente: letra, número y carácter especial, en ese orden. Sólo buscaremos resultados que tengan números que ocurran 4 veces o más en una sola cadena.

python pydictor.py -plug pid6 --types ">=0" ">=4" ">=0"
Usar plugin en Pydictor

Usar plugin en Pydictor

17. Función Leet

La función leet puede sustituir selectivamente números o caracteres especiales en el lugar de los alfabetos; el leet habilita L331 (por ejemplo, el ‘4’ en lugar de ‘a’). Usaremos la función leet junto con la opción occur y la función extend.

Esta es una consulta más compleja de las que hemos hecho con Pydictor anteriormente. Veamos cómo es nuestra salida:

python pydictor.py -extend /nombres.txt --leet 0 1 2 11 21 --len 4 16 --occur "<=10" ">0" "<=2"
Función Leet con Pydictor

Función Leet con Pydictor

Y así terminamos esta guía de Pydictor, un poderoso y útil constructor de diccionarios hacker para un ataque de fuerza bruta, por cierto hay más métodos para crear un diccionario personalizado, te recomiendo leer 5 Formas de Crear Diccionario para Fuerza Bruta. ¡Hasta pronto!


¡Mantente actualizado!

Suscríbete a nuestro boletín semanal...

Suscríbete a nuestro boletín electrónico para recibir artículos útiles y ofertas especiales. No te perderás absolutamente de nada!

Enviaremos solamente boletines al email y no compartiremos tu email.