
Un escáner basado en plugins que ayuda a los investigadores de seguridad a identificar problemas en varios CMS, principalmente Drupal y Silverstripe.
Un escáner basado en plugins que ayuda a los investigadores de seguridad a identificar problemas en varios CMS.
El uso de droopescan para atacar objetivos sin consentimiento mutuo previo es ilegal. Es responsabilidad del usuario final cumplir con todas las leyes locales, estatales y federales aplicables. Los desarrolladores no asumen ninguna responsabilidad y no se hacen responsables por el uso indebido o daños causados por este programa. Tenga en cuenta que, aunque droopescan muestra la versión más probable del CMS instalado en el host remoto, cualquier correlación entre los números de versión y las vulnerabilidades debe realizarse manualmente por el usuario.
Los CMS compatibles son:
Funcionalidad 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)
Puede obtener una lista completa de opciones ejecutando:
droopescan --help
droopescan scan --help
Porque droopescan:
La instalación es fácil usando pip:
apt-get install python-pip
pip install droopescan
La instalación manual es la siguiente:
git clone https://github.com/droope/droopescan.git
cd droopescan
pip install -r requirements.txt
./droopescan scan --help
La rama master corresponde a la última versión (lo que está en pypi). La rama de desarrollo es inestable y todas las pull requests deben hacerse contra ella.
Instalación del paquete de BlackArch (mantenido por un tercero):
sudo pacman -S droopescan
Puede construir una imagen docker y ejecutar droopescan desde Docker:
git clone https://github.com/droope/droopescan.git
cd droopescan
docker build -t droope/droopescan .
# mostrar ayuda
docker run --rm droope/droopescan
# ejemplo escaneando un sitio drupal
docker run --rm droope/droopescan scan drupal -u https://drupal.example.com
Droopescan aspira a ser lo más preciso por defecto, sin sobrecargar el servidor objetivo debido a peticiones concurrentes excesivas. Debido a esto, por defecto, se realizará un gran número de peticiones con cuatro hilos; cambie esta configuración usando los argumentos --number y --threads respectivamente.
Esta herramienta es capaz de realizar cuatro tipos de pruebas. Por defecto se ejecutan todas las pruebas, pero puede especificar una de las siguientes con la bandera -e o --enumerate:
Puede especificar un host particular para escanear pasando el parámetro -u o --url:
droopescan scan drupal -u example.org
También puede omitir el argumento drupal. Esto activará la "identificación del CMS", así:
droopescan scan -u example.org
Se pueden escanear múltiples URLs utilizando el parámetro -U o --url-file. Este parámetro debe establecerse en la ruta de un archivo que contenga una lista de URLs.
droopescan scan drupal -U list_of_urls.txt
El parámetro drupal también puede omitirse en este ejemplo. Para cada sitio, realizará varias peticiones GET para realizar la identificación del CMS, y si se considera que el sitio es un CMS compatible, se escanea y se añade a la lista de salida. Esto puede ser útil, por ejemplo, para ejecutar droopescan en todos los sitios de su organización.
droopescan scan -U list_of_urls.txt
El bloque de código a continuación contiene un ejemplo de lista de URLs, una por línea:
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 archivo que contiene URLs y un valor para sobrescribir el encabezado de host predeterminado separados por tabulaciones o espacios también es válido para archivos de URL. Esto puede ser útil cuando se realiza un escaneo a través de un gran rango de hosts y se desea evitar consultas DNS innecesarias. Para aclarar, un ejemplo a continuación:
192.168.1.1 example.org
http://192.168.1.1/ example.org
http://192.168.1.2/drupal/ example.org