Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
psudohash — Genera millones de mutaciones de contraseñas basadas en palabras clave en segundos. | Kitploit
Herramientas/GitHubGitHub/t3l3machus/psudohash
Descifrado de ContraseñasAtaques de ContraseñasPruebas de Penetración
GitHubt3l3machus/psudohash

psudohash

Genera millones de mutaciones de contraseñas basadas en palabras clave en segundos.

Ver Repositorio
1.5k175hace 1 añoRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

psudohash

Python 3.x License

Nuevas características interesantes de v1.1.0

Agradecimientos especiales a DavidAngelos:
▶️ Se añadió una barra de progreso en cada paso para rastrear la ejecución.
▶️ Se añadieron opciones:

  • Uniones en orden (-i / --inorder): combinar palabras clave solo en el orden original (ej. foo,bar,baz → foo, bar, baz, foobar, foobaz, barbaz, foobarbaz).
  • Combinaciones en todos los órdenes (-c / --combinations): generar cada ordenación de cada subconjunto (ej. foo,bar,baz → foo, bar, baz, foobar, foobaz, barfoo, …, bazbarfoo).
  • Separador personalizado (--sep <cadena>): al unir palabras, insertar esta cadena entre tokens (por defecto sin separador).
  • Tamaño máximo de combinación (--max-combine <N>): limitar cuántas palabras clave sin procesar se unen (por defecto: 2).
  • Filtrado de longitud mínima/máxima de palabras finales (--minlen/--maxlen <N>): filtrar la lista final solo con palabras de la longitud deseada.

Propósito

Psudohash es un generador de listas de contraseñas para orquestar ataques de fuerza bruta y descifrar hashes. Imita ciertos patrones de creación de contraseñas comúnmente utilizados por humanos, como sustituir letras de una palabra con símbolos o números (leet), usar variaciones de mayúsculas/minúsculas, agregar un relleno común antes o después de la frase de paso principal y más. Está basado en palabras clave y es altamente personalizable. 🎥 -> Video Presentación

Pentesting en Entornos Corporativos

Los administradores de sistemas y otros empleados a menudo usan una versión mutada del nombre de la empresa para establecer contraseñas (ej. Am@z0n_2022). Esto es común en dispositivos de red (puntos de acceso Wi-Fi, switches, routers, etc.), aplicaciones o incluso cuentas de dominio. Con las opciones más básicas, psudohash puede generar una lista de palabras con todas las mutaciones posibles de una o varias palabras clave, basándose en patrones comunes de sustitución de caracteres (personalizables), variaciones de mayúsculas/minúsculas, cadenas comúnmente usadas como relleno y más. Observe el siguiente ejemplo:

image

Personalización

Sustitución de Caracteres Leet

El script implementa el siguiente esquema de sustitución de caracteres. Puede agregar/modificar las asignaciones de sustitución editando la lista transformations en psudohash.py y siguiendo la estructura de datos que se muestra a continuación (por defecto):

root@kitploit:~
transformations = [
	{'a' : ['@', '4']},
	{'b' : '8'},
	{'e' : '3'},
	{'g' : ['9', '6']},
	{'i' : ['1', '!']},
	{'o' : '0'},
	{'s' : ['$', '5']},
	{'t' : '7'}
]

Valores de Relleno Comunes

Al establecer contraseñas, creo que es bastante estándar agregar una secuencia de caracteres antes y/o después de la frase de paso principal para hacerla "más segura". Por ejemplo, alguien puede establecer una contraseña "dragon" y agregar un valor como "!!!" o "!@#" al final, resultando en "dragon!!!", "dragon!@#", etc. Psudohash lee estos valores de common_padding_values.txt y los usa para mutar las palabras clave proporcionadas, añadiéndolos antes (-cpb) o después (-cpa) de cada variación de palabra clave generada. Puede modificarlo como prefiera.

Valores de Año

Al agregar un valor de año a una palabra clave mutada, psudohash lo hará utilizando varios separadores. Por defecto, usará los siguientes separadores, que puede modificar editando la lista year_separators:

root@kitploit:~
year_seperators = ['', '_', '-', '@']

Por ejemplo, si la palabra clave dada es "amazon" y se usó la opción -y 2023, la salida incluirá "amazon2023", "amazon_2023", "amazon-2023", "amazon@2023", "amazon23", "amazon_23", "amazon-23", "amazon@23".

Instalación

Instale Python 3.x y tqdm primero:

root@kitploit:~
pip3 install tqdm

Luego clone el repositorio y haga el script ejecutable:

root@kitploit:~
git clone https://github.com/t3l3machus/psudohash.git
cd ./psudohash
chmod +x psudohash.py

Uso

root@kitploit:~
./psudohash.py [-h] -w WORDS [-i] [-c] [--sep SEP] [--max-combine N] [-an LEVEL] [-nl LIMIT] [-y YEARS] [-ap VALUES] [-cpb] [-cpa] [-cpo] [-o FILENAME] [-q]

El diálogo de ayuda [ -h, --help ] incluye detalles de uso y ejemplos.

Opciones

  • -w, --words <kw1,kw2,…>
    Palabras clave separadas por comas (obligatorio).

  • -i, --inorder
    Unir hasta --max-combine palabras clave en el orden dado (ej. foo,bar,baz → foo, bar, baz, foobar, foobaz, barbaz, foobarbaz).

  • -c, --combinations
    Generar todas las permutaciones de cada subconjunto (hasta --max-combine) (ej. foo,bar,baz → foo, bar, baz, foobar, foobaz, barfoo, …).

  • --max-combine <N> (por defecto: 2)
    Número máximo de palabras clave sin procesar para unir en una sola cadena base.

  • --sep <cadena>
    Al unir palabras ( o ), colocar esta cadena entre tokens. Por defecto es una cadena vacía.

Ejemplos de Uso

  1. Sin palabras múltiples (solo singletons)

    root@kitploit:~
    ./psudohash.py -w foo,bar,baz -cpa
    # → foo, bar, baz
    
  2. Uniones en orden (-i, hasta 2 palabras por defecto)

    root@kitploit:~
    ./psudohash.py -w foo,bar,baz -i
    # → foo, bar, baz, foobar, foobaz, barbaz
    
  3. Combinaciones en todos los órdenes (-c, hasta 2 palabras por defecto)

    root@kitploit:~
    ./psudohash.py -w foo,bar,baz -c
    # → foo, bar, baz, foobar, foobaz, barfoo, barbaz, bazfoo, bazbar
    
  4. Cambiar separador entre palabras unidas

    root@kitploit:~
    ./psudohash.py -w foo,bar,baz -i --sep "_"
    # → foo, bar, baz, foo_bar, foo_baz, bar_baz
    
  5. Filtrado de longitud (--minlen/--maxlen)

    root@kitploit:~
     ./psudohash.py -w apple,banana -i --minlen 10
     # Advertencia: no se puede determinar el tamaño exacto debido a los filtros de longitud.
     # Ejemplos de salidas finales podrían incluir “applebanana” (11 caracteres), “bananaapple” (11 caracteres).
    

Consejos de Uso

  1. Combinar las opciones --years y --append-numbering con un --numbering-limit ≥ los últimos dos dígitos de cualquier año de entrada, probablemente producirá palabras duplicadas debido a los patrones de mutación implementados por la herramienta.
  2. Si agrega valores de relleno personalizados y/o modifica los valores de relleno comunes predefinidos en el código fuente, en combinación con múltiples parámetros opcionales, existe una pequeña posibilidad de que ocurran palabras duplicadas. psudohash incluye controles de filtrado de palabras, pero por velocidad, estos son limitados.
  3. Al usar --minlen o --maxlen, el script no puede precalcular el número exacto de palabras; verá una advertencia de "no se puede determinar el tamaño exacto" y se calculará el tamaño sin este filtro; el tamaño final será menor.

Individuos

En cuanto a las personas, creo que todos hemos (más o menos) establecido contraseñas usando una mutación de una o más palabras que significan algo para nosotros, por ejemplo, nuestro nombre o el de nuestra esposa/hijo/mascota/banda, agregando el año en que nacimos al final o quizás un relleno súper seguro como "!@#". Bueno, ¿adivina qué?

usage_example_png

Futuro

Estoy recopilando información sobre patrones comunes de creación de contraseñas para mejorar las capacidades de la herramienta.

Descargar herramienta
-i
-c
  • --minlen <N>
    Descartar cualquier contraseña final más corta de N caracteres.

  • --maxlen <N>
    Descartar cualquier contraseña final más larga de N caracteres.

  • -an, --append-numbering <NIVEL>
    Agregar sufijos numerados (con ceros a la izquierda hasta <NIVEL> dígitos) a cada mutación de palabra.

  • -nl, --numbering-limit <LÍMITE>
    Número máximo hasta el cual contar al agregar números (por defecto: 50).

  • -y, --years <años>
    Agregar uno o más años a cada mutación (ej. 1990-2000, o 2022,2023).

  • -ap, --append-padding <valores>
    Agregar valores de relleno personalizados (separados por comas). Debe usarse con -cpb o -cpa.

  • -cpb, --common-paddings-before
    Anteponer valores de common_padding_values.txt antes de cada mutación.

  • -cpa, --common-paddings-after
    Añadir valores de common_padding_values.txt después de cada mutación.

  • -cpo, --custom-paddings-only
    Usar solo rellenos proporcionados por el usuario (sin valores predeterminados). Debe usarse con -ap.

  • -o, --output <archivo>
    Escribir los resultados en <archivo> (por defecto: output.txt).

  • -q, --quiet
    Suprimir el banner de arte ASCII al inicio.

  • Combinar hasta 3 palabras (en lugar de las 2 por defecto)
    (Nota: el ejemplo continúa pero el texto original se corta; asumimos que es intencional y no traducimos más allá de lo proporcionado)