Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
gorilla — ferramenta para gerar wordlists ou estender uma existente usando mutações. | Kitploit
Ferramentas/GitHubGitHub/andreiverse/gorilla
Quebra de SenhasAtaques de SenhaColeta de InformaçõesRastreador
GitHubandreiverse/gorilla

gorilla

ferramenta para gerar wordlists ou estender uma existente usando mutações.

Ver Repositório
390229há 7 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

gorilla

gorilla é a ferramenta definitiva de wordlists, reunindo muitas utilidades incríveis, como:

  • construção de wordlists baseadas em padrões (como crunch)
  • construção de wordlists baseadas em formatos comuns de senhas/nomes de usuário (como cupp)
  • extração de palavras de uma página web para construir uma wordlist (como cewl)
  • extensão de wordlists existentes usando mutações (como o ataque baseado em regras do hashcat)

instalando com cargo

Com o Cargo do Rust instalado, execute cargo install --git https://github.com/d4rckh/gorilla --branch main

Agora você deve conseguir executar gorilla --help

compilando com cargo

root@kitploit:~
cargo build --release
# the binary will be located in target/release folder

gerando senhas

O argumento --from-pattern/-p é usado para dizer ao gorilla para gerar senhas com base em um padrão. Por exemplo, o seguinte comando imprimirá todas as palavras contendo 5 letras minúsculas.

root@kitploit:~
gorilla --from-pattern "{a-z}{a-z}{a-z}{a-z}{a-z}"

Outros exemplos de padrões são administrator{0-9} (administrator0 -> administrator9); hello_world{a-z}{0-9} (hello_worlda0 -> hello_worldz9).

Se você quiser salvar a saída em um arquivo, pode usar o argumento --output-file/-o.

image

O Gorilla agora também suporta conjuntos de caracteres. Eles são definidos em src/char_sets.rs. Aqui estão alguns exemplos de padrões que os utilizam: {l} => a b c d ... z; {u} => A B C D ... Z; {d} => 1 2 3 4 ... 9; {s} => (espaço) ! " # $ ... ~. Você pode combinar vários deles, então {luds} resultaria em um conjunto de caracteres contendo todos os outros conjuntos descritos (#45).

Se você usar um intervalo e cada extremidade tiver 1 caractere, estará fazendo um intervalo de caracteres. Por exemplo:

  • {a-z} resultará na adição de cada caractere do alfabeto, um de cada vez: a, b, c, d, e, f, g,...., x, y e z;
  • {a-c} resultará na adição apenas de a, b e c, um de cada vez;
  • {0-9} resultará na adição apenas de 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, apenas um de cada vez. Se você usar um intervalo e uma das extremidades tiver mais de 1 caractere, cada extremidade será interpretada como um número de 32 bits sem sinal e resultará em um intervalo numérico. Por exemplo:
  • {2020-2026} resultará na adição de 2020, 2021, 2022, 2023, 2024, 2025 e 2026, um de cada vez.
  • {1-100} resultará na adição de números de 1 a 100 (inclusive), um de cada vez.

Experimental: Se o interior dos seus colchetes contiver uma vírgula, a string será dividida por ela e cada parte será adicionada, uma de cada vez. Por exemplo, {Jan,Feb,Mar} resultará na adição de Jan, Feb e Mar, um de cada vez.

Opcionalmente, você pode iniciar várias threads de padrão usando o parâmetro --pattern-threads. Recomendo defini-lo como a quantidade máxima de threads disponíveis no seu computador.

modificando wordlists existentes usando mutações/regras

Usando os argumentos de linha de comando, você pode fazer qualquer mutação suportada, mas está limitado a apenas 1 conjunto de mutações. Um conjunto de mutações é um conjunto de mutações aplicadas a uma palavra. Pela CLI, as mutações são fornecidas pelo argumento --mutation/-m.

root@kitploit:~
gorilla --from-pattern "administrator" --mutation "prepend:_"

image

Normalmente, nesse caso, você vai querer usar o argumento --from-file/-i em vez de --from-pattern para especificar uma wordlist em vez de uma única palavra, mas, para manter as coisas simples, usarei isso.

O comando acima recebe 1 palavra e gera 1 palavra: _administrator. Você pode adicionar várias mutações usando o mesmo parâmetro.

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

Isso novamente recebe uma única palavra, mas gerará 10 diferentes. Adicionar a sintaxe {0-9} a prepend e append resultará na geração de várias palavras. O comando acima gera as seguintes palavras.

root@kitploit:~
_administrator0
_administrator1
_administrator2
[.. snip ..]
_administrator8
_administrator9

Se fornecêssemos uma wordlist pelo arquivo -i, obteríamos de volta a quantidade de palavras que tínhamos naquela wordlist vezes 10.

Até agora aplicamos apenas 1 único conjunto de mutações. Normalmente, você vai querer combinar vários deles. Isso é feito por meio dos arquivos yaml. Você especifica um usando o argumento --mutations-file/-f. Um exemplo está localizado no arquivo sets/simple.yml neste repositório e se parece com isto:

root@kitploit:~
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 arquivo de mutações precisa ter um valor name e um valor mutation_sets, como mostrado no exemplo. Os conjuntos de mutações acima gerarão, a partir de uma única palavra, outras 27 palavras.

root@kitploit:~
administrator
administrator
rotartsinimda
administrato
dministrator
ADMINISTRATOR
administrator0
[.. snip ..]
administrator9
administrator00
[.. snip ..]
administrator99
4dministr4t0r

Se você quiser verificar se o arquivo de mutações tem erros antes de usá-lo, pode usar a seguinte sintaxe para analisá-lo e imprimir o resumo.

root@kitploit:~
gorilla --mutations-file muts.yml 

extraindo palavras de páginas web

(Por enquanto) você só pode extrair palavras de uma página específica. Tags de estilo e script são removidas automaticamente.

Você pode especificar uma página usando o argumento --from-website/-w. Por exemplo

root@kitploit:~
gorilla --from-website https://example.org/

image

O comando acima imprimirá todas as palavras daquele site. Você pode adicionar outros argumentos mostrados anteriormente, como --mutations-file/-f, --mutation/-m e, é claro, --output-file/-o para salvá-los (em vez de imprimir).

mutações condicionais

Você pode aplicar um conjunto de mutações a palavras específicas que atendem a determinadas condições/condição. Isso só faz sentido em arquivos yaml.

O seguinte arquivo de mutações removerá palavras que não contenham a string admin. Ao contrário das mutações anteriores, isso pode remover palavras.

root@kitploit:~
name: filtering_words

mutation_sets:
  - [ "if_contains:admin" ]

Outro exemplo é o seguinte, que adicionará um sublinhado apenas a palavras com mais de 5 caracteres.

root@kitploit:~
name: conditional_mutation

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

Observe que tivemos que adicionar outro conjunto de mutações que começa com a versão negada da primeira mutação if, pois, caso contrário, as palavras com menos de 6 caracteres seriam removidas.

outras mutações

gorilla suporta muitas outras mutações e, como a ferramenta está em desenvolvimento inicial, seria muito trabalhoso manter uma lista delas aqui. Se você estiver curioso sobre as outras mutações, pode conferir o enum Action no arquivo src/mutation.rs.

usando formatos comuns de senha/nome de usuário para construir wordlists

Os formatos são definidos em conjuntos de formatação por meio de arquivos yaml e são fornecidos ao gorilla pelo argumento --from-formatting/-q. Atualmente há apenas um conjunto de formatação criado, localizado em sets/formatting/basic_usernames.yml. E ele se parece (de forma semelhante) com isto.

root@kitploit:~
name: basic_usernames

fields:
  - [ f_name ]
  - [ l_name ]

formatting_sets:
  - [ "{f_name}_{l_name}" ]
  - [ "{l_name}{f_name}" ]
  - [ ["{f_name}", [1st_letter]], "_{l_name}" ]
  - [ ["{f_name}", [1st_letter]], "{l_name}" ]

Os campos obrigatórios são name, fields e formatting_sets. O valor de fields é o perfil do usuário e contém informações que são usadas posteriormente nos formatting_sets.

Se você executar o conjunto, será solicitado cada campo e os nomes de usuário serão gerados.

image

note: não torne as mutações dentro dos conjuntos de formatação muito complexas, elas serão executadas todas em thread única! Combine o arquivo de formatação com um arquivo de mutações para executar mutações em paralelo. Não use padrões combinatórios nos conjuntos de mutações dentro dos conjuntos de formatação.

tip: você pode usar os outros argumentos normalmente, como --mutations-file/-f para gerar novas palavras por meio de mutações ou --output-file/-o para salvar as palavras

Cada conjunto de formatação é um array de strings que são posteriormente concatenadas. Portanto, ["{f_name}", "{l_name}"] é equivalente a ["{f_name}{l_name}"]. Em vez de uma string, você pode fornecer um array; isso permite aplicar mutações que você já usou antes para estender wordlists.

root@kitploit:~
- [ "{f_name}_", [ "{l_name}", [ reverse ] ] ]

Se f_name for joe e l_name for doe, a formatação resultante gerará joe_eod. Mutações úteis em conjuntos de formatação são remove_last_letter, remove_first_letter e 1st_letter.

Se você quiser aplicar um conjunto de formatação a muitos perfis de usuário, pode usar o argumento --with-csv/-c para fornecer um arquivo CSV. Para o conjunto de formatação basic_usernames, o CSV deve ser formatado assim:

root@kitploit:~
f_name,l_name
joe,doe
james,smith
robert,smith

image

todas as mutações disponíveis:

básicas

  • append:PATTERN - acrescenta um padrão ou apenas um texto
  • prepend:PATTERN - antepõe um padrão ou apenas um texto
  • replace:TEXT1:TEXT2 - substitui TEXT1 por TEXT2
  • reverse - inverte a palavra
  • uppercase_all - converte tudo para maiúsculas
  • lowercase_all - converte tudo para minúsculas
  • remove_first_letter - remove a primeira letra
  • remove_last_letter - remove a última letra
  • capitalize - capitaliza a palavra (primeira letra maiúscula, restante minúscula)
  • toggle_case - alterna a caixa de cada caractere

avançadas

  • if_length:COND - remove a palavra se ela não corresponder à condição de comprimento (COND = >NUMBER/<NUMBER/=NUMBER)
  • if_contains:TEXT - igual ao anterior, mas remove se não contiver uma palavra
  • clone - clona a palavra
  • wipe - remove tudo da palavra
  • 1st_letter - mantém tudo exceto a primeira letra
  • nothing - não faz nada
Baixar ferramenta