
Анализ CMS WhiteBox
CoMisSion — это инструмент для быстрого анализа CMS. Инструмент:
🔥 Внимание: CoMisSion не ищет уязвимости путём анализа исходного кода. Уязвимости собираются из публичных баз данных, таких как wpvulndb. Поиск новых уязвимостей не является целью этого инструмента.
Полный отчёт может быть сгенерирован в следующих форматах:
Инструмент протестирован на Linux и Windows. Чтобы избежать загрязнения вывода, рекомендуется использовать опцию --no-color в Windows.
./commision.py -c wordpress -d /cms_dir -o report.xlsx -t XLSX
Инструмент требует как минимум 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.
🔥 Для получения уязвимостей для WordPress необходимо задать аргумент --wpvulndb_token. Вы можете получить один токен, имея учётную запись на wpvulndb.
Вы можете указать файл конфигурации. Смотрите example.conf для справки.
Мы ещё не публикуем официальные образы. Чтобы использовать инструмент с docker, вы можете собрать образ. В папке проекта выполните сборку:
docker build -t isec/comission .
Затем запустите его:
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
Не забудьте изменить пути "TARGET_PATH" и "OUTPUT_DIR" на ваши папки.
Модульные тесты находятся в папке tests. Перед запуском тестов необходимо создать каталог test-data-set, содержащий подкаталоги drupal и wordpress, а также файл test.conf, содержащий хотя бы значение wpvulndb_token.
Paul Mars (Intrinsec)
Основано на идее Etienne Boursier (Intrinsec)
Этот инструмент распространяется под лицензией GPLv3. Но будьте внимательны: инструмент использует wpvulndb API для сбора информации о ядре и плагинах WordPress.