
Um scanner baseado em plugins que auxilia pesquisadores de segurança a identificar problemas em vários CMSs, principalmente Drupal e Silverstripe.
Um scanner baseado em plugins que auxilia pesquisadores de segurança a identificar problemas em vários CMS.
O uso do droopescan para atacar alvos sem consentimento mútuo prévio é ilegal. É responsabilidade do usuário final obedecer todas as leis locais, estaduais e federais aplicáveis. Os desenvolvedores não assumem nenhuma responsabilidade e não são responsáveis por qualquer uso indevido ou dano causado por este programa. Observe que, embora o droopescan produza a versão mais provável do CMS instalada no host remoto, qualquer correlação entre números de versão e vulnerabilidades deve ser feita manualmente pelo usuário.
CMS suportados são:
Funcionalidade parcial para:
computer:~/droopescan$ droopescan scan drupal -u http://example.org/ -t 32
[+] No themes found.
[+] Possible interesting urls found:
Default changelog file - https://www.example.org/CHANGELOG.txt
Default admin - https://www.example.org/user/login
[+] Possible version(s):
7.34
[+] Plugins found:
views https://www.example.org/sites/all/modules/views/
https://www.example.org/sites/all/modules/views/README.txt
https://www.example.org/sites/all/modules/views/LICENSE.txt
token https://www.example.org/sites/all/modules/token/
https://www.example.org/sites/all/modules/token/README.txt
https://www.example.org/sites/all/modules/token/LICENSE.txt
pathauto https://www.example.org/sites/all/modules/pathauto/
https://www.example.org/sites/all/modules/pathauto/README.txt
https://www.example.org/sites/all/modules/pathauto/LICENSE.txt
https://www.example.org/sites/all/modules/pathauto/API.txt
libraries https://www.example.org/sites/all/modules/libraries/
https://www.example.org/sites/all/modules/libraries/CHANGELOG.txt
https://www.example.org/sites/all/modules/libraries/README.txt
https://www.example.org/sites/all/modules/libraries/LICENSE.txt
entity https://www.example.org/sites/all/modules/entity/
https://www.example.org/sites/all/modules/entity/README.txt
https://www.example.org/sites/all/modules/entity/LICENSE.txt
google_analytics https://www.example.org/sites/all/modules/google_analytics/
https://www.example.org/sites/all/modules/google_analytics/README.txt
https://www.example.org/sites/all/modules/google_analytics/LICENSE.txt
ctools https://www.example.org/sites/all/modules/ctools/
https://www.example.org/sites/all/modules/ctools/CHANGELOG.txt
https://www.example.org/sites/all/modules/ctools/LICENSE.txt
https://www.example.org/sites/all/modules/ctools/API.txt
features https://www.example.org/sites/all/modules/features/
https://www.example.org/sites/all/modules/features/CHANGELOG.txt
https://www.example.org/sites/all/modules/features/README.txt
https://www.example.org/sites/all/modules/features/LICENSE.txt
https://www.example.org/sites/all/modules/features/API.txt
[... snip for README ...]
[+] Scan finished (0:04:59.502427 elapsed)
Você pode obter uma lista completa de opções executando:
droopescan --help
droopescan scan --help
Porque o droopescan:
A instalação é fácil usando pip:
apt-get install python-pip
pip install droopescan
A instalação manual é a seguinte:
git clone https://github.com/droope/droopescan.git
cd droopescan
pip install -r requirements.txt
./droopescan scan --help
O branch master corresponde à última versão (o que está no pypi). O branch de desenvolvimento é instável e todos os pull requests devem ser feitos contra ele.
Instalação do pacote BlackArch (mantido por terceiros):
sudo pacman -S droopescan
Você pode construir uma imagem docker e executar o droopescan a partir do Docker:
git clone https://github.com/droope/droopescan.git
cd droopescan
docker build -t droope/droopescan .
# exibir ajuda
docker run --rm droope/droopescan
# exemplo escaneando um site drupal
docker run --rm droope/droopescan scan drupal -u https://drupal.example.com
O Droopescan visa ser o mais preciso por padrão, sem sobrecarregar o servidor alvo devido a requisições concorrentes excessivas. Devido a isso, por padrão, um grande número de requisições será feito com quatro threads; altere essas configurações usando os argumentos --number e --threads, respectivamente.
Esta ferramenta é capaz de realizar quatro tipos de testes. Por padrão, todos os testes são executados, mas você pode especificar um dos seguintes com a flag -e ou --enumerate:
Você pode especificar um host específico para escanear passando o parâmetro -u ou --url:
droopescan scan drupal -u example.org
Você também pode omitir o argumento drupal. Isso acionará a “identificação do CMS”, da seguinte forma:
droopescan scan -u example.org
Várias URLs podem ser escaneadas utilizando o parâmetro -U ou --url-file. Este parâmetro deve ser definido como o caminho de um arquivo que contém uma lista de URLs.
droopescan scan drupal -U list_of_urls.txt
O parâmetro drupal também pode ser omitido neste exemplo. Para cada site, serão feitas várias requisições GET para realizar a identificação do CMS, e se o site for considerado um CMS suportado, ele é escaneado e adicionado à lista de saída. Isso pode ser útil, por exemplo, para executar o droopescan em todos os sites da sua organização.
droopescan scan -U list_of_urls.txt
O bloco de código abaixo contém um exemplo de lista de URLs, uma por linha:
http://localhost/drupal/6.0/
http://localhost/drupal/6.1/
http://localhost/drupal/6.10/
http://localhost/drupal/6.11/
http://localhost/drupal/6.12/
Um arquivo contendo URLs e um valor para substituir o cabeçalho de host padrão, separados por tabulações ou espaços, também é aceitável para arquivos de URL. Isso pode ser útil ao realizar um escaneamento em uma grande faixa de hosts e você deseja evitar consultas DNS desnecessárias. Para esclarecer, um exemplo abaixo:
192.168.1.1 example.org
http://192.168.1.1/ example.org
http://192.168.1.2/drupal/ example.org
É bastante tentador testar se o scanner funciona para um CMS específico escaneando o site oficial (por exemplo, wordpress.org para wordpress), mas os sites oficiais raramente executam instalações puras de seus respectivos CMS ou fazem coisas não ortodoxas. Por exemplo, wordpress.org executa a versão bleeding edge do wordpress, que não será identificada como wordpress pelo droopescan porque as somas de verificação não correspondem a nenhuma versão conhecida do wordpress.