
Un scanner basé sur des plugins qui aide les chercheurs en sécurité à identifier des problèmes sur plusieurs CMS, principalement Drupal et Silverstripe.
Un scanner basé sur des plugins qui aide les chercheurs en sécurité à identifier des problèmes avec plusieurs CMS.
L'utilisation de droopescan pour attaquer des cibles sans consentement mutuel préalable est illégale. Il est de la responsabilité de l'utilisateur final de respecter toutes les lois locales, étatiques et fédérales applicables. Les développeurs n'assument aucune responsabilité et ne sont pas responsables des abus ou dommages causés par ce programme. Veuillez noter que bien que droopescan produise la version la plus probable du CMS installée sur l'hôte distant, toute corrélation entre les numéros de version et les vulnérabilités doit être effectuée manuellement par l'utilisateur.
Les CMS supportés sont :
Fonctionnalité partielle pour :
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)
Vous pouvez obtenir une liste complète des options en exécutant :
droopescan --help
droopescan scan --help
Parce que droopescan :
L'installation est facile avec pip :
apt-get install python-pip
pip install droopescan
L'installation manuelle est la suivante :
git clone https://github.com/droope/droopescan.git
cd droopescan
pip install -r requirements.txt
./droopescan scan --help
La branche master correspond à la dernière version (ce qui est dans pypi). La branche de développement est instable et toutes les pull requests doivent lui être adressées.
Installation du package BlackArch (maintenu par un tiers) :
sudo pacman -S droopescan
Vous pouvez construire une image docker et exécuter droopescan depuis Docker :
git clone https://github.com/droope/droopescan.git
cd droopescan
docker build -t droope/droopescan .
# affichage de l'aide
docker run --rm droope/droopescan
# exemple de scan d'un site drupal
docker run --rm droope/droopescan scan drupal -u https://drupal.example.com
Droopescan vise à être le plus précis par défaut, tout en ne surchargeant pas le serveur cible en raison de requêtes concurrentes excessives. Pour cette raison, par défaut, un grand nombre de requêtes seront effectuées avec quatre threads ; modifiez ces paramètres en utilisant respectivement les arguments --number et --threads.
Cet outil est capable d'effectuer quatre types de tests. Par défaut, tous les tests sont exécutés, mais vous pouvez spécifier l'un des suivants avec l'option -e ou --enumerate :
Vous pouvez spécifier un hôte particulier à scanner en passant le paramètre -u ou --url :
droopescan scan drupal -u example.org
Vous pouvez aussi omettre l'argument drupal. Cela déclenchera « l'identification CMS », comme ceci :
droopescan scan -u example.org
Plusieurs URLs peuvent être scannées en utilisant le paramètre -U ou --url-file. Ce paramètre doit être défini sur le chemin d'un fichier contenant une liste d'URLs.
droopescan scan drupal -U list_of_urls.txt
Le paramètre drupal peut également être omis dans cet exemple. Pour chaque site, il effectuera plusieurs requêtes GET afin de réaliser l'identification CMS, et si le site est considéré comme un CMS supporté, il est scanné et ajouté à la liste de sortie. Cela peut être utile, par exemple, pour exécuter droopescan sur tous les sites de votre organisation.
droopescan scan -U list_of_urls.txt
Le bloc de code ci-dessous contient un exemple de liste d'URLs, une par ligne :
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/
Un fichier contenant des URLs et une valeur pour remplacer l'en-tête de l'hôte par défaut, séparés par des tabulations ou des espaces, est également acceptable pour les fichiers d'URLs. Cela peut être pratique lors d'un scan sur une large gamme d'hôtes et que vous souhaitez éviter des requêtes DNS inutiles. Pour clarifier, un exemple ci-dessous :
192.168.1.1 example.org
http://192.168.1.1/ example.org
http://192.168.1.2/drupal/ example.org