Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

UserForge

Gerador de variações de username a partir de nomes completos, feito para acelerar a fase de enumeração de usuários em CTFs e testes de pentest.

Dado um nome (primeiro [meio] último), o UserForge combina um motor de templates com uma lista de "plugins" de formato para gerar dezenas de possíveis nomes de usuário, os mesmos padrões que normalmente se testa manualmente contra SMB, LDAP, RDP, serviços de e-mail etc.

Instalação

git clone https://github.com/MateuzCabral/Userforge
cd userforge
python3 userforge.py -h

Uso rápido

python3 userforge.py Bruno Steelfox

Saída:

# Bruno Steelfox
bruno
steelfox
brunosteelfox
steelfoxbruno
bruno.steelfox
steelfox.bruno
bruno_steelfox
steelfox_bruno
bruno-steelfox
steelfox-bruno
brunos
bruno.s
sbruno
s.bruno
bsteelfox
b.steelfox
steelfoxb
steelfox.b
bs
b.s

Exemplos

# Nome com nome do meio (ativa plugins extras automaticamente)
python3 userforge.py Bruno S Steelfox

# Lista de nomes em arquivo -> salva tudo em outro arquivo
python3 userforge.py -i nomes.txt -o usuarios.txt

# Usar só alguns plugins específicos
python3 userforge.py -f first.last,flast Bruno Steelfox

# Adicionar sufixos de ano, número e domínio de e-mail
python3 userforge.py --years 2025 2026 --numbers 1 12 --suffix @empresa.com Bruno Steelfox

# Manter a capitalização original em vez de forçar minúsculas
python3 userforge.py --preserve-case Bruno Steelfox

# Listar todos os plugins de formato disponíveis
python3 userforge.py -l

Plugins de formato disponíveis

Plugins que usam apenas primeiro nome + sobrenome:

Plugin Template Exemplo (Bruno Steelfox)
first %f bruno
last %l steelfox
firstlast %f%l brunosteelfox
lastfirst %l%f steelfoxbruno
first.last %f.%l bruno.steelfox
last.first %l.%f steelfox.bruno
first_last %f_%l bruno_steelfox
last_first %l_%f steelfox_bruno
first-last %f-%l bruno-steelfox
last-first %l-%f steelfox-bruno
firstl %f%i.l brunos
first.l %f.%i.l bruno.s
lfirst %i.l%f sbruno
l.first %i.l.%f s.bruno
flast %i.f%l bsteelfox
f.last %i.f.%l b.steelfox
lastf %l%i.f steelfoxb
last.f %l.%i.f steelfox.b
initials %i.f%i.l bs
initials.dot %i.f.%i.l b.s

Plugins que só entram quando o nome do meio é informado:

Plugin Template
firstmiddlelast %f%m%l
first.middle.last %f.%m.%l
firstml %f%i.m%l
first.m.last %f.%i.m.%l
fmlast %i.f%i.m%l
fml %i.f%i.m%i.l
mlast %i.m%l

Use python3 userforge.py -l a qualquer momento para ver essa lista diretamente no terminal.

Formato do arquivo de entrada (-i)

Aceita colunas firstname, middlename, lastname, separadas por espaço, vírgula ou TAB (detectado automaticamente pela primeira linha). Se a primeira linha não contiver nenhum desses nomes de coluna, o arquivo é tratado como firstname lastname sem cabeçalho.

Com cabeçalho:

firstname,middlename,lastname
Bruno,S,Steelfox
Maria,,Darkwave

Sem cabeçalho (assume firstname lastname):

Bruno Steelfox
Maria Darkwave

Formato do arquivo de saída (-o)

Um bloco por nome, separado por linha em branco, com o nome completo como comentário:

# Bruno Steelfox
bruno
steelfox
bruno.steelfox
...

# Maria Darkwave
maria
darkwave
maria.darkwave
...

Pronto para ser usado direto como wordlist em ferramentas como Hydra, NetExec, Kerbrute, etc.

Todas as opções

Opção Descrição
nome Nome via linha de comando: primeiro [meio] ultimo
-i, --input-file Arquivo com lista de nomes
-o, --output-file Salva a saída em arquivo (padrão: mostra no terminal)
-f, --select-format Lista de plugins a usar, separados por vírgula (veja -l)
-l, --list-formats Lista os plugins de formato disponíveis e sai
--years [ANOS...] Sufixos de ano a anexar (ex: 2025 2026)
--numbers [NUMS...] Sufixos numéricos a anexar (ex: 1 12 123)
--suffix SUFIXO Sufixo fixo anexado a cada variação (ex: @empresa.com)
--preserve-case Não força minúsculas na saída
-h, --help Mostra a ajuda

Casos de uso comuns

Gerar wordlist de usernames a partir de uma lista de funcionários (OSINT/LinkedIn):

python3 userforge.py -i funcionarios.txt -o usernames.txt

Testar só os formatos mais comuns em ambiente corporativo (first.last, flast):

python3 userforge.py -f first.last,flast -i funcionarios.txt -o usernames.txt

Gerar variações prontas para e-mail:

python3 userforge.py -f first.last -i funcionarios.txt --suffix @empresa.com -o emails.txt

Aviso legal

Use apenas em ambientes autorizados: CTFs, labs próprios, ou testes de pentest com autorização explícita por escrito. Gerar/testar usernames contra sistemas sem autorização pode ser crime na maioria das jurisdições.

About

Gerador de variações de username a partir de nomes completos

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages