
Análise WhiteBox de CMS
CoMisSion é uma ferramenta para analisar rapidamente uma instalação de CMS. A ferramenta:
🔥 Atenção: O CoMisSion não procura vulnerabilidades analisando o código-fonte. As vulnerabilidades são obtidas de bancos de dados públicos como wpvulndb. Encontrar novas vulnerabilidades não é o propósito desta ferramenta.
Um relatório completo pode ser gerado nos seguintes formatos:
A ferramenta foi testada em Linux e Windows. Para evitar poluição na saída, recomendo definir a opção --no-color no Windows.
./commision.py -c wordpress -d /cms_dir -o report.xlsx -t XLSX
A ferramenta precisa de pelo 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 obter vulnerabilidades para WordPress, você precisa definir o argumento --wpvulndb_token. Você pode obter um token com uma conta no wpvulndb.
Você pode fornecer um arquivo de configuração. Veja example.conf como referência.
Ainda não estamos publicando nenhuma imagem oficial. Para usar a ferramenta com docker, você pode construir uma imagem. Na pasta do projeto, construa com:
docker build -t isec/comission .
Em seguida, execute com:
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
Tenha cuidado para alterar os caminhos "TARGET_PATH" e "OUTPUT_DIR" para corresponder às suas pastas.
Testes unitários estão disponíveis na pasta tests. Antes de iniciar o teste, você deve criar um diretório test-data-set contendo subdiretórios drupal e wordpress, e um arquivo test.conf contendo pelo menos um valor wpvulndb_token.
Paul Mars (Intrinsec)
Baseado em uma ideia de Etienne Boursier (Intrinsec)
Esta ferramenta é distribuída sob a licença GPLv3. Mas tenha cuidado, a ferramenta usa a API wpvulndb para obter informações sobre o core e plugins do WordPress.