
Escáner de seguridad CMS de caja blanca que audita versiones del núcleo, plugins y temas, detecta modificaciones no autorizadas y contrasta vulnerabilidades conocidas de bases de datos públicas para WordPress y Drupal.
CoMisSion es una herramienta para analizar rápidamente una instalación de CMS. La herramienta:
🔥 Atención: CoMisSion no busca vulnerabilidades mediante el análisis del código fuente. Las vulnerabilidades se recopilan de bases de datos públicas como wpvulndb. Encontrar nuevas vulnerabilidades no es el propósito de esta herramienta.
Se puede generar un informe completo en los siguientes formatos:
La herramienta ha sido probada en Linux y Windows. Para evitar la contaminación de la salida, recomiendo establecer la opción --no-color en Windows.
./commision.py -c wordpress -d /cms_dir -o report.xlsx -t XLSX
La herramienta necesita al menos python3.6.
git clone https://github.com/Intrinsec/comission
pip install -r requirements.txt
usage: comission.py [-h] -d DIR -c CMS [-o FILE] [-t TYPE] [--skip-core]
[--skip-plugins] [--skip-themes] [--no-color] [-f CONF]
[--log LOGFILE] [--wp-content WP_CONTENT]
[--plugins-dir PLUGINS_DIR] [--themes-dir THEMES_DIR]
[--major VERSION_MAJOR] [-v VERSION]
[--wpvulndb-token WPVULNDB_TOKEN] [--debug]
CoMisSion analyse a CMS and plugins used.
optional arguments:
-h, --help show this help message and exit
-d DIR, --dir DIR CMS root directory
-c CMS, --cms CMS CMS type (drupal, wordpress)
-o FILE, --output FILE
Path to output file
-t TYPE, --type TYPE Type of output (CSV, XLSX, JSON, STDOUT). Default to
XLSX.
--skip-core Set this to skip core analysis
--skip-plugins Set this to skip plugins analysis
--skip-themes Set this to skip themes analysis
--no-color Do not use colors in the output.
-f CONF, --file CONF Configuration file. See example.conf.
--log LOGFILE Log output in given file.
--wp-content WP_CONTENT
Set this to force the wp-content directory location.
--plugins-dir PLUGINS_DIR
Set this to force the plugins directory location.
--themes-dir THEMES_DIR
Set this to force the themes directory location.
--major VERSION_MAJOR
Specify the core major version (eg. 7, 8) when using
--skip-core arg. Works only for Drupal.
-v VERSION, --version VERSION
Specify the core full version (eg. 5.5).
--wpvulndb-token WPVULNDB_TOKEN
Set a token to request wpvulndb API.
--debug Print debug message to help identify errors.
🔥 Para obtener vulnerabilidades para WordPress, debes establecer el argumento --wpvulndb_token. Puedes obtener un token con una cuenta en wpvulndb.
Puedes proporcionar un archivo de configuración. Consulta example.conf como referencia.
Aún no publicamos ninguna imagen oficial. Para usar la herramienta con docker, puedes construir una imagen. En la carpeta del proyecto, construye con:
docker build -t isec/comission .
Luego ejecútala con :
docker run -it --rm -v /TARGET_PATH/:/cms_path/ -v /OUTPUT_DIR/:/output/ isec/comission -d /cms_path/ -c drupal -o /output/test_docker.xlsx -t XLSX
Ten cuidado de cambiar la ruta "TARGET_PATH" y "OUTPUT_DIR" para que coincidan con tus carpetas.
Las pruebas unitarias están disponibles en la carpeta tests. Antes de ejecutar la prueba, debes crear un directorio test-data-set que contenga subdirectorios drupal y wordpress, y un archivo test.conf que contenga al menos un valor wpvulndb_token.
Paul Mars (Intrinsec)
Basado en una idea de Etienne Boursier (Intrinsec)
Esta herramienta se distribuye bajo la licencia GPLv3. Pero ten cuidado, la herramienta utiliza la API de wpvulndb para recopilar información sobre el núcleo de WordPress y los plugins.