
CMS Detection and Exploitation suite — Сканируйте WordPress, Joomla, Drupal и более 180 других CMS
Система управления содержимым (Content Management System, CMS) управляет созданием и изменением цифрового контента. Обычно она поддерживает несколько пользователей в совместной среде. Некоторые известные примеры: WordPress, Joomla, Drupal и др.
- Версия 1.1.3 [25-07-2020]
- Версия 1.1.2 [19-05-2019]
- Версия 1.1.1 [01-02-2019]
- Версия 1.1.0 [28-08-2018]
- Версия 1.0.9 [21-08-2018]
- Версия 1.0.8 [14-08-2018]
- Версия 1.0.7 [07-08-2018]
...
CMSeeK создан с использованием python3, для работы вам понадобится python3, и на данный момент он совместим с системами на базе Unix. Поддержка Windows будет добавлена позже. CMSeeK полагается на git для автообновления, поэтому убедитесь, что git установлен.
Использовать CMSeeK довольно просто, просто убедитесь, что у вас установлены python3 и git (только для клонирования репозитория), и выполните следующие команды:
https://github.com/Tuhinshubhra/CMSeeKДля направленного сканирования:
Или:
Меню справки программы:
ИСПОЛЬЗОВАНИЕ:
python3 cmseek.py (для направленного сканирования) ИЛИ
python3 cmseek.py [ОПЦИИ] <Указание цели>
УКАЗАНИЕ ЦЕЛИ:
-u URL, --url URL Целевой URL
-l LIST, --list LIST Путь к файлу со списком сайтов
для сканирования нескольких сайтов (через запятую или по одному на строку)
УПРАВЛЕНИЕ СКАНИРОВАНИЕМ:
-i cms, --ignore--cms cms Укажите ID CMS, которые следует пропустить, чтобы
избежать ложных срабатываний. Разделять запятыми ","
--strict-cms cms Проверяет цель по списку предоставленных
ID CMS. Разделять запятыми ","
--skip-scanned Пропускает цель, если её CMS была обнаружена ранее.
ПЕРЕНАПРАВЛЕНИЕ (RE-DIRECT):
--follow-redirect Следовать всем/любым перенаправлениям
--no-redirect Пропускать все перенаправления и тестировать введённые цели
ПОЛЬЗОВАТЕЛЬСКИЙ АГЕНТ (USER AGENT):
-r, --random-agent Использовать случайный пользовательский агент
--googlebot Использовать пользовательский агент Googlebot
--user-agent USER_AGENT Указать пользовательский агент вручную
ВЫВОД:
-v, --verbose Увеличить подробность вывода
ВЕРСИЯ И ОБНОВЛЕНИЕ:
--update Обновить CMSeeK (требуется git)
--version Показать версию CMSeeK и выйти
СПРАВКА И РАЗНОЕ:
-h, --help Показать это справочное сообщение и выйти
--clear-result Удалить все результаты сканирования
--batch Никогда не просить нажать Enter после сканирования каждого сайта из списка
ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ:
python3 cmseek.py -u example.com # Сканировать example.com
python3 cmseek.py -l /home/user/target.txt # Сканировать сайты, указанные в target.txt (через запятую)
python3 cmseek.py -u example.com --user-agent Mozilla 5.0 # Сканировать example.com с пользовательским агентом Mozilla 5.0
python3 cmseek.py -u example.com --random-agent # Сканировать example.com со случайным пользовательским агентом
python3 cmseek.py -v -u example.com # Включить подробный вывод при сканировании example.com
Вы можете проверить наличие обновлений либо из главного меню, либо используя команду python3 cmseek.py --update, чтобы проверить и применить автообновление.
P.S.: Пожалуйста, убедитесь, что у вас установлен git, CMSeeK использует git для применения автообновления.
CMSeek обнаруживает CMS с помощью следующего:
В настоящее время CMSeeK может обнаруживать 170+ CMS. Список можно найти в файле cmss.py, который находится в директории cmseekdb.
Все CMS хранятся следующим образом:
cmsID = {
'name':'Название CMS',
'url':'Официальный URL CMS',
'vd':'Обнаружение версии (0 - нет, 1 - да)',
'deeps':'Глубокое сканирование (0 - нет, 1 - да)'
}
Все результаты сканирования сохраняются в JSON-файле с именем cms.json. Логи можно найти в директории Result\<Целевой сайт>, а результаты перебора сохраняются в текстовый файл в той же директории результатов сайта.
Вот пример отчёта в JSON:

CMSeeK имеет модульную систему перебора, что означает, что вы можете добавить свои собственные модули перебора для работы с cmseek. Документация по созданию модулей будет создана позже, но если вы уже разобрались, как это сделать (довольно легко после анализа готовых модулей), всё, что вам нужно сделать, это:
Добавить комментарий именно такого вида: # <Название CMS> Bruteforce module. Это поможет CMSeeK определить название CMS с помощью регулярных выражений.
Добавить ещё один комментарий ### cmseekbruteforcemodule, это поможет CMSeeK понять, что это модуль.
Скопировать и вставить модуль в директорию brutecms в папке CMSeeK.
Открыть CMSeeK и перестроить кеш, введя R в первом меню.
Если всё сделано правильно, вы увидите что-то вроде этого (см. скриншот ниже), и ваш модуль будет отображаться в меню перебора при следующем запуске CMSeeK.
Если ничего другого, вы всегда можете насладиться выходом из CMSeeK (пожалуйста, не делайте этого), он попрощается с вами случайным прощальным сообщением на разных языках.
Также вы можете попробовать почитать комментарии в коде — они довольно случайны и странны!
Главное меню
Результат сканирования
Результат сканирования WordPress
Пожалуйста, убедитесь, что при открытии нового issue вы приложили следующую информацию:
Issues без этой информации могут остаться без ответа!
Использование CMSeeK для тестирования или эксплуатации веб-сайтов без предварительного взаимного согласия может считаться незаконной деятельностью. Ответственность за соблюдение всех применимых местных, государственных и федеральных законов лежит на конечном пользователе. Авторы не несут ответственности за любое неправильное использование или ущерб, причинённый этой программой.
CMSeeK лицензирован на условиях GNU General Public License v3.0