NT-2026.10.09 DOSSIÊ PENTEST
LOLCREDS E CREDSHOUND: DETECTANDO CREDENCIAIS EXPOSTAS
Credenciais expostas são um dos vetores mais comuns em testes de invasão. Ferramentas como LOLCreds e CredsHound automatizam a descoberta de senhas, tokens e chaves de API em sistemas-alvo, reduzindo

Introdução
Quando você acaba de obter acesso a uma máquina-alvo, muitas vezes precisa percorrer cada serviço em execução apenas para descobrir o que está realmente instalado e quais desses aplicativos podem valer uma inspeção mais aprofundada em busca de credenciais em arquivos de configuração. Você não pode pular essa etapa, pois normalmente ela fornece algo que será necessário mais tarde no engajamento, mas ela consome tempo. Muito tempo.
Existem ferramentas mais antigas que tentam fazer algo semelhante, mas as duas que abordamos hoje são mais atuais. LOLCreds e CredsHound vêm do mesmo desenvolvedor e eles cobrem uma enorme quantidade de software.
Vamos ver como elas funcionam.
O que é LOLCreds?
LOLCreds é um site que possui 678 credenciais diferentes. Alguns softwares geram uma senha quando você os instala ou solicitam que você a insira. Também há credenciais estáticas que estão incorporadas no produto. As credenciais de porta dos fundos do D-Link são um bom exemplo do segundo tipo.
LOLCreds também rastreia chaves de API de IA e mostra exatamente onde encontrá-las em um sistema. Aqui está o que ele tem sobre o Cursor.
O MySQL é um exemplo mais básico. Sua senha costuma estar escondida em um arquivo de configuração ou sentada como uma variável no arquivo .env.



O que é CredsHound?
CredsHound é um scanner escrito em Go. Por baixo dos panos, ele puxa modelos do LOLCreds para poder executar verificações conscientes do produto. Ele foi totalmente otimizado para ambientes modernos, então ele vai escanear desde bancos de dados criptografados DBeaver até OpenCode, GitHub Copilot CLI, Hugging Face, OpenAI e mais.
### Preparação
Antes de começar a usar o scanner, você precisa ter o Go instalado.
bash$ > sudo apt install golang
bash$ > go install github.com/haxxm0nkey/credshound/cmd/credshound@latest
Depois que isso terminar, você pode encontrar um problema comum onde os binários do Go ainda não estão incluídos no caminho do seu sistema. Adicione-os você mesmo:
bash$ > sudo echo “export PATH:$PATH:/home/user/go/bin” >> /etc/profile
bash$ > source /etc/profile
Agora estamos prontos.
### Como usar
Existem diferentes maneiras de executá-lo, mas você sempre começa atualizando a biblioteca de modelos. O scanner pode ser usado com diferentes privilégios, mas vamos usar root.
# Atualizar modelos
bash# > credshound -ut
# Escanear /etc
bash# > credshound -t /root/.cache/credshound/templates /etc
Nosso sistema está novo, então ainda não há muito nele. Uma máquina que ficou em produção por um tempo terá resultados mais interessantes, como o abaixo.
CredsHound também pode funcionar com o BloodHound para mostrar as relações entre credenciais como um grafo. Aqui está como configurá-lo:
ubuntu$ > credshound -t ~/lolcreds-templates -bloodhound -o credshound-bloodhound.json .
Em seguida, você importa o arquivo JSON no BloodHound e vê o que aparece.
Quando você coletou muitos desses arquivos JSON de diferentes máquinas, começará a ver a arquitetura do que está testando.
Alguns outros comandos que você encontrará úteis:
# Escanear o diretório atual
bash$ > credshound .
# Escanear várias raízes
bash$ > credshound ~/project /etc
# Escanear apenas variáveis de ambiente
bash$ > credshound -sources env
# Escanear variáveis de ambiente atuais e de processo no Linux
bash$ > credshound -sources env,proc

Preparação do ambiente
Para acompanhar as demonstrações, você precisará de um ambiente isolado e autorizado. Recomenda-se usar uma máquina virtual ou um container Docker com um sistema Linux recente (Ubuntu 22.04 ou superior).
Pré-requisitos:
- Sistema operacional Linux com acesso root ou sudo
- Go instalado (versão 1.20 ou superior)
- Git para clonar repositórios
Instalação e verificação da ferramenta:
- Instale o Go:
“`
sudo apt update
sudo apt install -y golang
“`
- Clone o repositório do CredsHound:
“`
git clone https://github.com/haxxm0nkey/credshound.git
cd credshound
go install ./cmd/credshound
“`
- Verifique a instalação:
“`
credshound –version
“`
- Prepare um diretório de trabalho com arquivos de exemplo contendo credenciais fictícias para teste.
Nota: Todos os testes devem ser realizados em ambientes autorizados. Nunca escaneie sistemas sem permissão explícita.
Demonstração prática
Vamos ver alguns exemplos de como usar o CredsHound em cenários reais.
#### Escaneando arquivos de configuração comuns
Comece atualizando a biblioteca de modelos:
credshound -ut
Em seguida, escaneie diretórios onde arquivos de configuração costumam ficar:
credshound -t ~/.cache/credshound/templates /etc
credshound -t ~/.cache/credshound/templates /home/*/.*config
credshound -t ~/.cache/credshound/templates /opt
credshound -t ~/.cache/credshound/templates /var/www
#### Especificando fontes de busca
O CredsHound permite que você escolha onde procurar credenciais. Por padrão, ele verifica sistemas de arquivos, mas você pode especificar outras fontes:
# Apenas variáveis de ambiente
credshound -sources env
# Variáveis de ambiente e de processo
credshound -sources env,proc
# Apenas arquivos
credshound -sources fs
# Combinação personalizada
credshound -sources fs,env
#### Trabalhando com saídas
Por padrão, o CredsHound exibe os resultados na tela. Você pode redirecionar para um arquivo:
credshound -t ~/.cache/credshound/templates /etc > resultados.txt
Para uso com o BloodHound, gere saída JSON:
credshound -t ~/lolcreds-templates -bloodhound -o credshound-bloodhound.json .
#### Interpretando os resultados
Cada linha de saída representa uma credencial encontrada e inclui:
- O tipo de credencial (senha, token, chave de API, etc.)
- O produto ou serviço associado
- O caminho completo onde foi encontrada
- O valor da credencial (ou parte dele, dependendo da configuração)
Exemplo de saída:
[MYSQL] /etc/mysql/debian.cnf: password = "secretdbpass123"
[GITHUB] /home/user/.config/git/token: token = "ghp_abcdefghijklmnopqrstuvwxyz0123456789"
[API] /var/www/html/wp-config.php: API_KEY = "sk_live_abcdefghijklmnopqrstuvwxyz0123456789"
Sempre verifique se as credenciais encontradas são realmente válidas e pertencem ao contexto do teste.


Integração com BloodHound
Uma das características mais poderosas do CredsHound é sua capacidade de exportar resultados no formato JSON compatível com o BloodHound. Isso permite que você visualize as relações entre credenciais, usuários e máquinas como um grafo, facilitando a identificação de caminhos de ataque e privilégios excessivos.
### Como funciona
Quando você executa o CredsHound com a flag -bloodhound, ele gera um arquivo JSON contendo nós e arestas que representam:
- Nós de credenciais (com o valor e o tipo)
- Nós de máquinas (onde a credencial foi encontrada)
- Arestas de “possui” (máquina possui credencial)
- Arestas de “é válida para” (credencial pode ser usada em determinado serviço)
### Configuração passo a passo
- Certifique-se de ter o BloodHound instalado (versão 4.0 ou superior)
- Gere os modelos atualizados do CredsHound:
“`
credshound -ut
“`
- Execute o scan com saída BloodHound:
“`
credshound -t ~/lolcreds-templates -bloodhound -o discoveries.json /var/www
“`
- Inicie o BloodHound e importe o arquivo JSON:
– Clique em “Upload Data”
– Selecione o arquivo discoveries.json
– Mapeie os tipos de nó conforme necessário
– Inicie a análise
### Visualizando os resultados
No BloodHound, você pode:
- Executar consultas pré-definidas para encontrar caminhos de privilégio elevado
- Visualizar quais máquinas têm credenciais de administrador
- Identificar credenciais reutilizadas em múltiplos sistemas
- Gerar relatórios de descobertas para equipes de defesa
### Limitações
- O BloodHound foi projetado originalmente para Active Directory, então algumas consultas podem precisar de adaptação para ambientes Linux
- O arquivo JSON pode ficar grande em escaneamentos extensos
- Nem todas as credenciais encontradas terão mapeamentos significativos no contexto de AD
Apesar dessas limitações, a combinação de CredsHound e BloodHound fornece uma visão poderosa sobre onde as credenciais estão armazenadas e como elas podem ser exploradas em uma cadeia de ataque.

Mitigação e proteção
Descobrir credenciais expostas é apenas metade da batalha. O próximo passo é corrigir as vulnerabilidades e impedir que novas credenciais vazem no futuro.
#### Gerenciamento seguro de segredos
- Nunca armazene senhas em texto plano em arquivos de configuração
- Use cofres de segredos como HashiCorp Vault, AWS Secrets Manager ou Azure Key Vault
- Para aplicações menores, considere variáveis de ambiente com restrição de acesso ao arquivo
- Implemente rotação automática de credenciais
#### Rotação e revogação de credenciais expostas
- Assim que uma credencial exposta for identificada, revegue-a imediatamente
- Gere novas credenciais e atualize todos os locais onde elas são usadas
- Monitore logs de autenticação para uso não autorizado após a revogação
- Implemente políticas de expiração para chaves de API e tokens
#### Princípio do menor privilégio
- Conceda apenas as permissões necessárias para cada serviço ou aplicação
- Evite usar contas de root ou administrador para processos que não precisam delas
- Use contas de serviço com permissões restritas sempre que possível
- Segmente redes para limitar o acesso lateral em caso de comprometimento
#### Monitoramento e auditoria
- Implemente logging centralizado para acessos a arquivos sensíveis
- Use ferramentas de detecção de vazamento como git-secrets ou talisman em repositórios
- Monitore mudanças inesperadas em arquivos de configuração
- Realize varreduras periódicas com ferramentas como CredsHound em ambientes de produção (com autorização)
#### Prevenção de exposição em repositórios
- Adicione arquivos contendo credenciais ao
.gitignoreantes de fazer o primeiro commit - Use hooks de pre-commit que bloqueiem adição de senhas comuns
- Eduque a equipe sobre os riscos de commitar informações sensíveis
- Varreduras automatizadas em pull requests podem pegar credenciais antes que sejam mescladas
#### Boas práticas de segurança para APIs
- Use chaves de API com escopo limitado sempre que possível
- Implemente rate limiting e monitoramento de uso inadequado
- Armazene chaves de API em cofres de segredos, não no código-fonte
- Rotineiramente revogue e regenere chaves que não estão em uso
- Registre todas as solicitações de API para auditoria
Ao aplicar essas medidas, você reduz significativamente a superfície de ataque relacionada a credenciais expostas e aumenta a resiliência geral do ambiente.
Conclusão
LOLCreds e CredsHound são ferramentas valiosas para profissionais de segurança que precisam identificar credenciais expostas de forma rápida e eficiente. Enquanto o LOLCreds fornece um banco de dados abrangente de credenciais padrão, o CredsHound automatiza o processo de descoberta em sistemas-alvo e oferece integração com ferramentas de análise de grafos como o BloodHound.
Lembre-se de que o uso dessas ferramentas deve sempre ocorrer em ambientes autorizados, com permissão explícita do proprietário do sistema. Os resultados obtidos devem ser tratados com confidencialidade e usados apenas para melhorar a segurança do ambiente.
Próximos passos para aprofundar seus conhecimentos:
- Explore outros scanners de credenciais como truffleHog e git-secrets
- Aprenda sobre gerenciamento de segredos em ambientes de nuvem
- Estude técnicas de detecção de vazamento de credenciais em tempo real
- Participe de programas de bug bounty para aplicar suas habilidades em cenários reais
Com a combinação certa de ferramentas, processos e conscientização, é possível transformar a caça a credenciais de uma tarefa tediosa em uma atividade estratégica de defesa.