Wordlist com CeWL
![]() |
Image by Gerd Altmann from Pixabay |
Introdução ao CeWL
O CeWL é um aplicativo desenvolvido em ruby que analisa determinada URL a uma profundidade especificada, seguindo opcionalmente links externos e retorna uma lista de palavras que podem ser usadas para crackear senhas usando como por exemplo o John the Ripper.
Por padrão o CeWL vem instalado no Kali Linux - distribuição na qual foi utilizada para realizar os testes apresentados neste artigo.
Caso a sua distribuiçao GNU/Linux não possua o aplicativo por padrão, é possível clonar o repositório na sua máquina e seguir as instruções de instalação disponíveis no source do projeto.
Para maiores informações sobre o projeto, assim como o guia de instalaçao, acesse o repositório disponível em https://github.com/digininja/CeWL/
Digite "cewl -h" no terminal para mostrar todas as opções disponíveis assim como suas respectivas descrições.
Mostraremos abaixo o uso de algumas opções existentes para exemplificar melhor o poder dessa ferramenta.
Os testes realizados aqui teve como alvo a URL "http://testphp.vulnweb.com/" - aplicação em PHP intencionalmente vulnerável para testes de penetração manuais com propósitos educacionais, disponibilizada pela Acunetix.
- Método Padrão
Digite o comando a seguir e será executado um processo de spidering em uma profundidade específica na página e imprimirá uma lista de palavras que podem ser usadas como um dicionário para quebra de senhas.
cewl http://testphp.vulnweb.com/
- Salvar a wordlist
O método padrão somente imprime a lista de palavras identificadas, não sendo possível usar aquela saída para realizar manutenção dos registros, referências futuras e quebra de senha utilizando como por exemplo o John the Ripper ou o Hydra. Para isso, usaremos o parâmetro -w para salvar a saída em um arquivo de texto.
cewl http://testphp.vulnweb.com/ -w dicionario.txt
- Tamanho
Se você deseja gerar uma lista de palavras com um comprimento de palavra específico, utilize a opção -m <tamanho_mínimo>. A opção padrão retorna palavras com no mínimo 3 caractéres.
cewl http://testphp.vulnweb.com/ -m 9
Como você pode ver na imagem acima, limitei o parâmetro a 9 caractéres no mínimo, portanto a saída retornará palavras maiores ou igual a 9 caractéres.
- Identificando Emails no alvo
A opção -e habilita o recurso de buscar por endereços de email no site. Utilize a opção -n como complemento para omitir as palavras geradas durante o processo de crawling e retornar somente emails.
cewl http://testphp.vulnweb.com/ -n -e
Conforme pode ser visualizado na imagem acima, foi encontrado 1 email no alvo.
- Palavras repetidas no alvo
Se você deseja contar o número de vezes que as palavras se repetem em um site, utilize a opção -c para habilitar o parâmetro count (contador).
cewl http://testphp.vulnweb.com/ -c
Conforme pode ser visualizado na imagem acima, a saída retornou as palavras encontradas seguidas do número de vezes que estas se repetem.
- Aumentar a profundidade de rastreamento
Se você deseja aumentar o nível de spidering (rastreamento) para gerar uma lista maior de palavras e enumerar palavras novas, utilize a opção -d seguida do número do nível de profundidade que queira alcançar.
Por padrão, o nível de profundidade é definido em 2.
cewl http://testphp.vulnweb.com/ -d 3
- Depuração de informação extra
Você pode usar a opção --debug para habilitar o modo de debug (depuração) que mostra erros e detalhes das resquisições enquanto é realizado o processo de crawling.
cewl http://testphp.vulnweb.com/ --debug
- Modo Verbose
Para expandir o resultado do rastreamento do site e recuperar detalhes completos do alvo, você pode usar a opção -v no modo detalhado. Em vez de gerar uma lista de palavras, ela despeja as informações disponíveis no site.
cewl http://testphp.vulnweb.com/ -v
- Autenticação Básica e Digest
Se houver autenticação na página, para ter sucesso na enumeração nesta situação é necessário que a página de autenticação seja ignorada usando os seguintes parâmetros:
–auth_type: Digest ou basic.
–auth_user: Usuário de autenticação.
–auth_pass: Senha de autenticação.
Conforme pode ser visualizado na imagem abaixo, possui a resposta HTTP 200 e, portanto, a lista de palavras é gerada com sucesso.
cewl http://testphp.vulnweb.com/ --auth_type basic --auth_user test --auth_pass test -v
- Proxy URL
Quando qualquer site estiver executando atrás de qualquer servidor proxy, o ceWL não poderá gerar uma lista de palavras com o comando padrão, sendo necessário, portanto, a utilização da opção --proxy para ativar o parâmetro URL do proxy para gerar com sucesso a lista de palavras. Os seguintes parâmetros podem ajudar:
--proxy_host: Host do proxy.
--proxy_port: Porta do proxy, padrão 8080.
--proxy_username: Usuário para o proxy, se necessário.
--proxy_password: Senha para o proxy, se necessário.
cewl --proxy_host 127.0.0.1 --proxy_port 8080 -w saida.txt http://testphp.vulnweb.com/
Chegamos no final do artigo. Espero que vocês tenham gostado do conteúdo passado aqui e que utilizem o conhecimento para fins didáticos e profissionais.
Agora que você já sabe como criar uma wordlist com possíveis senhas geradas a partir de um site, execute esses procedimentos no seu site e verifique se este não está expondo alguma senha ou informação que não deveria ser exibida.
No próximo artigo mostraremos como utilizar essa lista de palavras para realizar ataques de força bruta em serviços na web utilizando ferramentas para este fim.
Referências
https://github.com/digininja/CeWL/
https://www.hackingarticles.in/comprehensive-guide-on-cewl-tool/
0 comentários: