
Um scanner de credenciais padrão.
Um scanner de credenciais padrão.

changeme preenche a lacuna onde os scanners comerciais param. Ele foca em detectar credenciais padrão e backdoor, não necessariamente credenciais comuns. Seu modo padrão é escanear credenciais padrão HTTP, mas também suporta outros tipos de credenciais.
changeme é projetado para ser simples de adicionar novas credenciais sem ter que escrever código ou módulos. changeme mantém dados de credenciais separados do código. Todas as credenciais são armazenadas em arquivos yaml para que possam ser facilmente lidas por humanos e processadas pelo changeme. Arquivos de credenciais podem ser criados usando a ferramenta ./changeme.py --mkcred e respondendo algumas perguntas.
changeme suporta os protocolos http/https, mssql, mysql, postgres, ssh, ssh w/key, snmp, mongodb e ftp. Use ./changeme.py --dump para listar todas as credenciais atualmente disponíveis.
Você pode carregar seus alvos usando uma variedade de métodos: endereço IP único/host, sub-rede, lista de hosts, arquivo xml do nmap e consulta Shodan. Todos os métodos exceto Shodan são carregados como um argumento posicional e o tipo é inferido.
changeme só foi testado no Linux e tem problemas conhecidos no Windows e OS X/macOS. Use o docker para executar o changeme nas plataformas não suportadas. Ele suporta uma fila baseada em Redis (mais estável) ou uma fila em memória.
Versões estáveis do changeme podem ser encontradas na página de releases.
Para suporte a mssql, unixodbc-dev precisa ser instalado antes de instalar o pyodbc.
Para suporte a postgres, libpq-dev precisa ser instalado.
PhantomJS é necessário no seu PATH para capturas de tela do relatório HTML.
Use pip para instalar os módulos python necessários: pip install -r requirements.txt
Uma maneira conveniente de executar o changeme é dentro de um contêiner Docker. Você pode executar um contêiner pré-construído do Docker Hub, ou construir o seu próprio usando as instruções abaixo.
O Docker funciona melhor em conjunto com o Redis como back-end de fila. Veja como configurar um contêiner vinculado com Redis.
Obtenha os contêineres mais recentes: docker pull redis && docker pull ztgrace/changeme
Execute o redis em segundo plano: docker run -d --name redis1 redis
Inicie o changeme vinculando o contêiner redis pelo nome e montando um diretório local no diretório /mnt do contêiner: docker run -it -v /tmp/results:/mnt --link redis1:redis ztgrace/changeme:latest /bin/sh
Execute o changeme com --redishost como redis e arquivo --output no volume montado: ./changeme.py --redishost redis --output /mnt/results.csv --protocols ssh --threads 20 -d 192.168.1.0/24
docker build -t changeme .Abaixo estão alguns exemplos de uso comuns.
./changeme.py 192.168.59.100./changeme.py 192.168.59.0/24./changeme.py subnet.xml./changeme.py -n "Apache Tomcat" --timeout 5 192.168.59.0/24./changeme.py --shodan_query "Server: SQ-WEBCAM" --shodan_key keygoeshere -c camera./changeme.py --protocols ssh,ssh_key 192.168.59.0/24./changeme.py snmp://192.168.1.20Veja Exemplos na Wiki para exemplos mais detalhados.
O scanner telnet está quebrado.
Além disso, qualquer coisa registrada em https://github.com/ztgrace/changeme/issues como um bug.
Bugs e melhorias são rastreados em https://github.com/ztgrace/changeme/issues.
Solicite uma credencial: Por favor, adicione uma issue no Github e aplique o rótulo de credencial.
Vote em uma credencial: Se você quiser nos ajudar a priorizar quais credenciais adicionar, você pode adicionar um comentário a uma issue de credencial.
Por favor, veja a wiki para mais detalhes.
Agradecimentos pelas contribuições de código e sugestões.