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
psudohash — Gera milhões de mutações de senhas baseadas em palavras-chave em segundos. | Kitploit
Ferramentas/GitHubGitHub/t3l3machus/psudohash
Quebra de SenhasAtaques de SenhaTestes de Penetração
GitHubt3l3machus/psudohash

psudohash

Gera milhões de mutações de senhas baseadas em palavras-chave em segundos.

Ver Repositório
1.5k17516há 1 anoRevisado 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

psudohash

Python 3.x License

Novas Funcionalidades Interessantes da v1.1.0

Agradecimentos especiais a DavidAngelos:
▶️ Adicionada uma barra de progresso em cada etapa para acompanhar a execução.
▶️ Opções adicionadas:

  • Uniões em ordem (-i / --inorder): une palavras-chave apenas na ordem original (ex.: foo,bar,baz → foo, bar, baz, foobar, foobaz, barbaz, foobarbaz).
  • Combinações em todas as ordens (-c / --combinations): gera todas as ordenações de cada subconjunto (ex.: foo,bar,baz → foo, bar, baz, foobar, foobaz, barfoo, …, bazbarfoo).
  • Separador personalizado (--sep <string>): ao unir palavras, insere esta string entre os tokens (padrão: nenhum separador).
  • Tamanho máximo de combinação (--max-combine <N>): limita quantas palavras-chave brutas são unidas (padrão: 2).
  • Filtro de comprimento mínimo/máximo das palavras finais (--minlen/--maxlen <N>): filtra a wordlist final apenas com palavras do comprimento desejado.

Propósito

Psudohash é um gerador de listas de senhas para orquestrar ataques de força bruta e quebrar hashes. Ele imita certos padrões de criação de senha comumente usados por humanos, como substituir letras de uma palavra por símbolos ou números (leet), usar variações de maiúsculas/minúsculas, adicionar um padding comum antes ou depois da frase principal e mais. É baseado em palavras-chave e altamente personalizável. 🎥 -> Apresentação em vídeo

Pentesting em Ambientes Corporativos

Administradores de sistemas e outros funcionários frequentemente usam uma versão mutada do nome da empresa para definir senhas (ex.: Am@z0n_2022). Isso é comum para dispositivos de rede (pontos de acesso Wi-Fi, switches, roteadores, etc.), aplicativos ou até contas de domínio. Com as opções mais básicas, o psudohash pode gerar uma wordlist com todas as mutações possíveis de uma ou mais palavras-chave, baseadas em padrões comuns de substituição de caracteres (personalizáveis), variações de maiúsculas/minúsculas, strings comumente usadas como padding e mais. Veja o exemplo a seguir:

image

Personalização

Substituição de Caracteres Leet

O script implementa o seguinte esquema de substituição de caracteres. Você pode adicionar/modificar mapeamentos de substituição de caracteres editando a lista transformations em psudohash.py e seguindo a estrutura de dados apresentada abaixo (padrão):

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

Valores Comuns de Padding

Ao definir senhas, acredito que seja bastante padrão adicionar uma sequência de caracteres antes e/ou depois da frase principal para torná-la "mais forte". Por exemplo, alguém pode definir uma senha "dragon" e adicionar um valor como "!!!" ou "!@#" no final, resultando em "dragon!!!", "dragon!@#", etc. O psudohash lê esses valores de common_padding_values.txt e os utiliza para mutar as palavras-chave fornecidas, anexando-os antes (-cpb) ou depois (-cpa) de cada variação de palavra-chave gerada. Você pode modificá-lo conforme desejar.

Valores de Ano

Ao anexar um valor de ano a uma palavra-chave mutada, o psudohash o fará utilizando vários separadores. Por padrão, ele usará os seguintes separadores, que você pode modificar editando a lista year_seperators:

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

Por exemplo, se a palavra-chave fornecida for "amazon" e a opção -y 2023 for usada, a saída incluirá "amazon2023", "amazon_2023", "amazon-2023", "amazon@2023", "amazon23", "amazon_23", "amazon-23", "amazon@23".

Instalação

Instale Python 3.x e tqdm primeiro:

root@kitploit:~
pip3 install tqdm

Em seguida, clone o repositório e torne o script executável:

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]

O diálogo de ajuda [ -h, --help ] inclui detalhes de uso e exemplos.

Opções

  • -w, --words <kw1,kw2,…>
    Palavras-chave brutas separadas por vírgula (obrigatório).

  • -i, --inorder
    Une até --max-combine palavras-chave na ordem dada (ex.: foo,bar,baz → foo, bar, baz, foobar, foobaz, barbaz, foobarbaz).

  • -c, --combinations
    Gera toda permutação de cada subconjunto (até --max-combine) (ex.: foo,bar,baz → foo, bar, baz, foobar, foobaz, barfoo, …).

  • --max-combine <N> (padrão: 2)
    Número máximo de palavras-chave brutas para unir em uma única string base.

  • --sep <string>
    Ao unir palavras (-i ou ), coloca esta string entre os tokens. Padrão: string vazia.

Exemplos de Uso

  1. Sem múltiplas palavras (apenas singletons)

    root@kitploit:~
    ./psudohash.py -w foo,bar,baz -cpa
    # → foo, bar, baz
    
  2. Uniões em ordem (-i, até 2 palavras por padrão)

    root@kitploit:~
    ./psudohash.py -w foo,bar,baz -i
    # → foo, bar, baz, foobar, foobaz, barbaz
    
  3. Combinações em todas as ordens (-c, até 2 palavras por padrão)

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

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

    root@kitploit:~
     ./psudohash.py -w apple,banana -i --minlen 10
     # Aviso: o tamanho exato não pode ser determinado por causa dos filtros de comprimento.
     # Exemplos de saídas finais podem incluir “applebanana” (11 caracteres), “bananaapple” (11 caracteres).
    

Dicas de Uso

  1. Combinar as opções --years e --append-numbering com um --numbering-limit ≥ os dois últimos dígitos de qualquer ano de entrada, provavelmente produzirá palavras duplicadas devido aos padrões de mutação implementados pela ferramenta.
  2. Se você adicionar valores de padding personalizados e/ou modificar os valores de padding comuns predefinidos no código-fonte, em combinação com vários parâmetros opcionais, há uma pequena chance de ocorrerem palavras duplicadas. O psudohash inclui controles de filtragem de palavras, mas por questões de velocidade, eles são limitados.
  3. Ao usar --minlen ou --maxlen, o script não pode pré-calcular a contagem exata de palavras; você verá um aviso de “tamanho exato não pode ser determinado” e o tamanho sem esse filtro será calculado, o tamanho final será menor.

Indivíduos

Quando se trata de pessoas, acho que todos nós (mais ou menos) já definimos senhas usando uma mutação de uma ou mais palavras que significam algo para nós, por exemplo, nosso nome ou nomes de esposa/filho/animal de estimação/banda, colocando o ano em que nascemos no final ou talvez um padding super seguro como "!@#". Bem, adivinhe?

usage_example_png

Futuro

Estou reunindo informações sobre padrões comuns de criação de senhas para aprimorar as capacidades da ferramenta.

Baixar ferramenta
-c
  • --minlen <N>
    Descarta qualquer senha final com menos de N caracteres.

  • --maxlen <N>
    Descarta qualquer senha final com mais de N caracteres.

  • -an, --append-numbering <LEVEL>
    Anexa sufixos numerados (preenchidos com zeros até <LEVEL> dígitos) a cada mutação de palavra.

  • -nl, --numbering-limit <LIMIT>
    Número máximo a contar ao anexar números (padrão: 50).

  • -y, --years <years>
    Anexa um ou mais anos a cada mutação (ex.: 1990-2000, ou 2022,2023).

  • -ap, --append-padding <vals>
    Anexa valores de padding personalizados (separados por vírgula). Deve ser usado com -cpb ou -cpa.

  • -cpb, --common-paddings-before
    Prefixa valores de common_padding_values.txt antes de cada mutação.

  • -cpa, --common-paddings-after
    Anexa valores de common_padding_values.txt após cada mutação.

  • -cpo, --custom-paddings-only
    Usa apenas paddings fornecidos pelo usuário (sem padrões). Deve ser usado com -ap.

  • -o, --output <file>
    Escreve os resultados em <file> (padrão: output.txt).

  • -q, --quiet
    Suprime o banner de arte ASCII na inicialização.

  • Combine até 3 palavras (em vez do padrão 2)