Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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
gorilla — herramienta para generar listas de palabras o ampliar una existente mediante mutaciones. | Kitploit
Herramientas/GitHubGitHub/andreiverse/gorilla
Descifrado de ContraseñasAtaques de ContraseñasRecopilación de InformaciónCrawler
GitHubandreiverse/gorilla

gorilla

herramienta para generar listas de palabras o ampliar una existente mediante mutaciones.

Ver Repositorio
3902222hace 8 mesesRevisado 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

gorilla

gorilla es la herramienta definitiva de listas de palabras, que incluye un montón de utilidades increíbles como:

  • construcción de listas de palabras basadas en patrones (como crunch)
  • construcción de listas de palabras basadas en formatos comunes de contraseñas/nombres de usuario (como cupp)
  • extracción de palabras de una página web y creación de una lista de palabras a partir de ellas (como cewl)
  • ampliación de listas de palabras existentes mediante mutaciones (como el ataque basado en reglas de hashcat)

instalando con cargo

Con Cargo de Rust instalado, ejecuta cargo install --git https://github.com/d4rckh/gorilla --branch main

Ahora deberías poder ejecutar gorilla --help

compilando con cargo

cargo build --release
# the binary will be located in target/release folder

calculando contraseñas

El argumento --from-pattern/-p se usa para indicar a gorilla que calcule contraseñas basándose en un patrón. Por ejemplo, el siguiente comando imprimirá cada palabra compuesta por 5 letras minúsculas.

gorilla --from-pattern "{a-z}{a-z}{a-z}{a-z}{a-z}"

Otros ejemplos de patrones son administrator{0-9} (administrator0 -> administrator9); hello_world{a-z}{0-9} (hello_worlda0 -> hello_worldz9).

Si quieres guardar la salida en un archivo, puedes usar el argumento --output-file/-o.

image

Gorilla ahora también soporta conjuntos de caracteres. Están definidos en src/char_sets.rs. Aquí hay algunos ejemplos de patrones que los usan: {l} => a b c d ... z; {u} => A B C D ... Z; {d} => 1 2 3 4 ... 9; {s} => (espacio) ! " # $ ... ~. Puedes combinar varios de ellos, por lo que {luds} daría como resultado un conjunto de caracteres que contiene todos los demás conjuntos de caracteres descritos (#45).

Si usas un rango y cada extremo tiene 1 carácter, estarás haciendo un rango de caracteres. Por ejemplo:

  • {a-z} dará como resultado añadir cada carácter del alfabeto, uno a la vez: a, b, c, d, e, f, g,...., x, y y z;
  • {a-c} dará como resultado añadir solo a, b y c, uno a la vez;
  • {0-9} dará como resultado añadir solo 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9, solo uno a la vez. Si usas un rango y uno de los extremos tiene más de 1 carácter, cada extremo se interpretará como un número de 32 bits sin signo y dará como resultado un rango numérico en su lugar. Por ejemplo:
  • {2020-2026} dará como resultado añadir 2020, 2021, 2022, 2023, 2024, 2025 y 2026, uno a la vez.
  • {1-100} dará como resultado añadir números del 1 al 100 (inclusive), uno a la vez.

Experimental: si el interior de tus corchetes contiene una coma, la cadena se dividirá por ella y se añadirá cada parte, una a la vez; por ejemplo, {Jan,Feb,Mar} dará como resultado añadir Jan, Feb y Mar, uno a la vez.

Opcionalmente, puedes lanzar múltiples hilos de patrón usando el parámetro --pattern-threads. Recomiendo establecerlo en la cantidad máxima de hilos disponibles en tu equipo.

modificando listas de palabras existentes con mutaciones/reglas

Usando los argumentos de línea de comandos puedes realizar cualquier mutación soportada, pero estás limitado a solo 1 conjunto de mutaciones. Un conjunto de mutaciones es un conjunto de mutaciones aplicadas a una palabra. A través de la CLI, las mutaciones se proporcionan mediante el argumento --mutation/-m.

gorilla --from-pattern "administrator" --mutation "prepend:_"

image

Normalmente querrás usar el argumento --from-file/-i en lugar de --from-pattern en este caso para especificar una lista de palabras en lugar de una sola palabra, pero para mantener las cosas simples, usaré ese.

El comando anterior toma 1 palabra y devuelve 1 palabra: _administrator. Puedes añadir múltiples mutaciones usando el mismo parámetro.

gorilla --from-pattern "administrator" \
  -m "prepend:_" \
  -m "append:{0-9}"

Esto, una vez más, toma una sola palabra, pero generará 10 diferentes. Añadir la sintaxis {0-9} a prepend y append dará como resultado la generación de múltiples palabras. El comando anterior genera las siguientes palabras.

_administrator0
_administrator1
_administrator2
[.. snip ..]
_administrator8
_administrator9

Si proporcionáramos una lista de palabras mediante el archivo -i, obtendríamos la cantidad de palabras que había en esa lista multiplicada por 10.

Hasta ahora solo hemos aplicado un único conjunto de mutaciones. Normalmente querrás combinar varios de ellos. Esto se hace a través de los archivos yaml. Puedes especificar uno usando el argumento --mutations-file/-f. Un ejemplo se encuentra en el archivo sets/simple.yml de este repositorio y se ve así:

name: simple

mutation_sets:
  - [ nothing ] # => word
  - [ reverse ] # => drow
  - [ remove_last_letter ] # => wor
  - [ remove_first_letter ] # => ord
  - [ uppercase_all ] # => WORD
  - [ "append:{0-9}" ] # => word1, word2, word3
  - [ "2 append:{0-9}" ] # => word11, word22, word33
  - [ "replace:o:0", "replace:a:4", "replace:e:3" ] # => w0rd, h3ll0

image

Cada archivo de mutaciones debe tener un valor name y un valor mutation_sets como se muestra en el ejemplo. Los conjuntos de mutaciones anteriores generarán, a partir de una sola palabra, otras 27 palabras.

administrator
administrator
rotartsinimda
administrato
dministrator
ADMINISTRATOR
administrator0
[.. snip ..]
administrator9
administrator00
[.. snip ..]
administrator99
4dministr4t0r

Si quieres comprobar si tu archivo de mutaciones tiene errores antes de usarlo, puedes usar la siguiente sintaxis para analizarlo e imprimir el resumen.

gorilla --mutations-file muts.yml 

extrayendo palabras de páginas web

(Por ahora) solo puedes extraer palabras de una página específica. Las etiquetas de estilo y script se eliminan automáticamente.

Puedes especificar una página usando el argumento --from-website/-w. Por ejemplo

gorilla --from-website https://example.org/

image

El comando anterior imprimirá cada palabra de ese sitio web. Puedes añadir otros argumentos mostrados anteriormente, como --mutations-file/-f, --mutation/-m y, por supuesto, --output-file/-o para guardarlas (en lugar de imprimirlas).

mutaciones condicionales

Puedes aplicar un conjunto de mutaciones a palabras específicas que cumplan ciertas condiciones/condición. Esto solo tiene sentido en archivos yaml.

El siguiente archivo de mutaciones eliminará las palabras que no contengan la cadena admin. A diferencia de las mutaciones anteriores, este puede eliminar palabras.

name: filtering_words

mutation_sets:
  - [ "if_contains:admin" ]

Otro ejemplo es el siguiente, que añadirá un guion bajo solo a las palabras de más de 5 caracteres.

name: conditional_mutation

mutation_sets:
  - [ "if_length:>5", "append:_" ],
  - [ "! if_length:>5" ]

Observa que tuvimos que añadir otro conjunto de mutaciones que comienza con la versión negada de la primera mutación if; de lo contrario, las palabras de menos de 6 caracteres se eliminarían.

otras mutaciones

Descargar herramienta