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
wordlist.rb — Una librería y CLI de Ruby para generar y trabajar con wordlists. | Kitploit
Herramientas/GitHubGitHub/postmodern/wordlist.rb
Ataques de ContraseñasFuzzingPruebas de PenetraciónUtilidades y Frameworks
GitHubpostmodern/wordlist.rb

wordlist.rb

Una librería y CLI de Ruby para generar y trabajar con wordlists.

Ver Repositorio
483hace 7 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

Wordlist

CI Code Climate Gem Version

  • Código
  • Problemas
  • Documentación

Descripción

Wordlist es una librería y CLI de Ruby para leer, combinar, mutar y construir wordlists de forma eficiente.

Características

  • Soporta la lectura de wordlists .txt y de .gz, .bz2, .xz, .zip, y .7z comprimidas.
  • Soporta la construcción de wordlists a partir de texto arbitrario. También soporta compresión .gz, .bz2, .xz, .zip y .7z.
  • Proporciona un lexer avanzado para parsear texto en palabras.
    • Puede parsear/omitir dígitos, caracteres especiales, números enteros y acrónimos.
    • Puede normalizar mayúsculas, apóstrofos y acrónimos.
  • Soporta operaciones con wordlists para combinar múltiples wordlists entre sí.
  • Soporta la modificación o mutación de las palabras de la wordlist sobre la marcha.
  • También proporciona un comando wordlist.
  • Rápido (más o menos)

Ejemplos

Lectura

Abre una wordlist para lectura:

root@kitploit:~
wordlist = Wordlist.open("passwords.txt")

Abre una wordlist comprimida para lectura:

root@kitploit:~
wordlist = Wordlist.open("rockyou.txt.gz")

Itera sobre una wordlist:

root@kitploit:~
wordlist.each do |word|
  puts word
end

Crea una lista en memoria de palabras literales:

root@kitploit:~
words = Wordlist::Words["foo", "bar", "baz"]

Operaciones de lista

Concatena dos wordlists:

root@kitploit:~
(wordlist1 + wordlist2).each do |word|
  puts word
end

Calcula la unión de dos wordlists:

root@kitploit:~
(wordlist1 | wordlist2).each do |word|
  puts word
end

Resta una wordlist de la otra:

root@kitploit:~
(wordlist1 - wordlist2).each do |word|
  puts word
end

Combina cada palabra de wordlist1 con las palabras de wordlist2:

root@kitploit:~
(wordlist1 * wordlist2).each do |word|
  puts word
end

Combina la wordlist consigo misma varias veces:

root@kitploit:~
(wordslist ** 3).each do |word|
  puts word
end

Filtra los duplicados de múltiples wordlists:

root@kitploit:~
(wordlist1 + wordlist2 + wordlist3).uniq.each do |word|
  puts word
end

Manipulación de cadenas

Convierte cada palabra de una wordlist a minúsculas:

root@kitploit:~
wordlist.downcase.each do |word|
  puts word
end

Convierte cada palabra de una wordlist a MAYÚSCULAS:

root@kitploit:~
wordlist.upcase.each do |word|
  puts word
end

Capitaliza cada palabra de una wordlist:

root@kitploit:~
wordlist.capitalize.each do |word|
  puts word
end

Ejecuta String#tr en cada palabra de una wordlist:

root@kitploit:~
wordlist.tr('_','-').each do |word|
  puts word
end

Ejecuta String#sub en cada palabra de una wordlist:

root@kitploit:~
wordlist.sub("fish","phish").each do |word|
  puts word
end

Ejecuta String#gsub en cada palabra de una wordlist:

root@kitploit:~
wordlist.gsub(/\d+/,"").each do |word|
  puts word
end

Realiza todas las mutaciones posibles de cada palabra de una wordlist:

root@kitploit:~
wordlist.mutate(/[oae]/, {'o' => '0', 'a' => '@', 'e' => '3'}).each do |word|
  puts word
end
# dog
# d0g
# firefox
# fir3fox
# firef0x
# fir3f0x
# ...

Enumera todas las variaciones posibles de mayúsculas/minúsculas de cada palabra de una wordlist:

root@kitploit:~
wordlist.mutate_case.each do |word|
  puts word
end
# cat
# Cat
# cAt
# caT
# CAt
# CaT
# cAT
# CAT
# ...

Construcción de una wordlist

root@kitploit:~
Wordlist::Builder.open('path/to/file.txt.gz') do |builder|
  # ...
end

Añade palabras individuales:

root@kitploit:~
builder.add(word)

Añadir un Array de palabras:

root@kitploit:~
builder.append(words)

Parsear texto:

root@kitploit:~
builder.parse(text)

Parsear el contenido de un archivo:

root@kitploit:~
builder.parse_file(path)

Requisitos

  • ruby >= 3.0.0
  • zcat/gzip (para leer/escribir wordlists .gz)
  • bzcat/bzip2 (para leer/escribir wordlists .bz2)
  • xzcat/xz (para leer/escribir wordlists .xz)
  • unzip/zip (para leer/escribir wordlists .zip)
  • 7za (para leer/escribir wordlists .7z)

Instalación

root@kitploit:~
$ gem install wordlist

gemspec

root@kitploit:~
gem.add_dependency 'wordlist', '~> 1.0'

Gemfile

root@kitploit:~
gem 'wordlist', '~> 1.0'

Sinopsis

root@kitploit:~
usage: wordlist { [options] WORDLIST ... | --build WORDLIST [FILE ...] }

Wordlist Reading Options:
    -f {txt|gzip|bz2|xz|zip|7zip},   Sets the desired wordlist format
        --format
        --exec COMMAND               Runs the command with each word from the wordlist.
                                     The string "{}" will be replaced with each word.

Wordlist Operations:
    -U, --union WORDLIST             Unions the wordlist with the other WORDLIST
    -I, --intersect WORDLIST         Intersects the wordlist with the other WORDLIST
    -S, --subtract WORDLIST          Subtracts the words from the WORDLIST
    -p, --product WORDLIST           Combines every word with the other words from WORDLIST
    -P, --power NUM                  Combines every word with the other words from WORDLIST
    -u, --unique                     Filters out duplicate words

Wordlist Modifiers:
    -C, --capitalize                 Capitalize each word
        --uppercase, --upcase        Converts each word to UPPERCASE
        --lowercase, --downcase      Converts each word to lowercase
    -t, --tr CHARS:REPLACE           Translates the characters of each word
    -s, --sub PATTERN:SUB            Replaces PATTERN with SUB in each word
    -g, --gsub PATTERN:SUB           Replaces all PATTERNs with SUB in each word
    -m, --mutate PATTERN:SUB         Performs every possible substitution on each word
    -M, --mutate-case                Switches the case of each letter in each word

Wordlist Building Options:
    -b, --build WORDLIST             Builds a wordlist
    -a, --[no-]append                Appends to the new wordlist instead of overwriting it
    -L, --lang LANG                  The language to expect
        --stop-words WORDS...        Ignores the stop words
        --ignore-words WORDS...      Ignore the words
        --[no-]digits                Allow digits in the middle of words
        --special-chars CHARS        Allows the given special characters inside of words
        --[no-]numbers               Parses whole numbers in addition to words
        --[no-]acronyms              Parses acronyms in addition to words
        --[no-]normalize-case        Converts all words to lowercase
        --[no-]normalize-apostrophes Removes "'s" from words
        --[no-]normalize-acronyms    Removes the dots from acronyms

General Options:
    -V, --version                    Print the version
    -h, --help                       Print the help output

Examples:
    wordlist rockyou.txt.gz
    wordlist passwords_short.txt passwords_long.txt
    wordlist sport_teams.txt -p beers.txt -p digits.txt
    cat *.txt | wordlist --build custom.txt

Leyendo una wordlist:

root@kitploit:~
$ wordlist rockyou.txt.gz

Leyendo múltiples wordlists:

root@kitploit:~
$ wordlist sport_teams.txt beers.txt

Combinando cada palabra de una wordlist con otra:

root@kitploit:~
$ wordlist sport_teams.txt -p beers.txt -p all_four_digits.txt
coors0000
coors0001
coors0002
coors0003
...

Combinando cada palabra de una wordlist consigo misma, N veces:

root@kitploit:~
$ wordlist words.txt -P 3

Mutando cada palabra de una wordlist:

root@kitploit:~
$ wordlist passwords.txt -m o:0 -m e:3 -m a:@
dog
d0g
firefox
fir3fox
firef0x
fir3f0x
...

Ejecutando un comando sobre cada palabra de la wordlist:

root@kitploit:~
$ wordlist directories.txt --exec "curl -X POST -F 'user=joe&password={}' -o /dev/null -w '%{http_code} {}' https://$TARGET/login"

Construyendo una wordlist a partir de un directorio de archivos .txt:

root@kitploit:~
$ wordlist --build wordlist.txt dir/*.txt

Construyendo una wordlist desde STDIN:

root@kitploit:~
$ cat *.txt | wordlist --build wordlist.txt

Benchmarks

root@kitploit:~
                                               user     system      total        real
Wordlist::Builder#parse_text (size=5.4M)   1.943605   0.003809   1.947414 (  1.955960)
Wordlist::File#each (N=1000)               0.000544   0.000000   0.000544 (  0.000559)
Wordlist::File#concat (N=1000)             0.001143   0.000000   0.001143 (  0.001153)
Wordlist::File#subtract (N=1000)           0.001360   0.000000   0.001360 (  0.001375)
Wordlist::File#product (N=1000)            0.536518   0.005959   0.542477 (  0.545536)
Wordlist::File#power (N=1000)              0.000015   0.000001   0.000016 (  0.000014)
Wordlist::File#intersect (N=1000)          0.001389   0.000000   0.001389 (  0.001407)
Wordlist::File#union (N=1000)              0.001310   0.000000   0.001310 (  0.001317)
Wordlist::File#uniq (N=1000)               0.000941   0.000000   0.000941 (  0.000948)
Wordlist::File#tr (N=1000)                 0.000725   0.000000   0.000725 (  0.000736)
Wordlist::File#sub (N=1000)                0.000863   0.000000   0.000863 (  0.000870)
Wordlist::File#gsub (N=1000)               0.001240   0.000000   0.001240 (  0.001249)
Wordlist::File#capittalize (N=1000)        0.000821   0.000000   0.000821 (  0.000828)
Wordlist::File#upcase (N=1000)             0.000760   0.000000   0.000760 (  0.000769)
Wordlist::File#downcase (N=1000)           0.000544   0.000001   0.000545 (  0.000545)
Wordlist::File#mutate (N=1000)             0.004656   0.000000   0.004656 (  0.004692)
Wordlist::File#mutate_case (N=1000)       24.178521   0.000000  24.178521 ( 24.294962)

Licencia

Copyright (c) 2009-2023 Hal Brodigan

Consulta {file:LICENSE.txt} para más detalles.

Descargar herramienta