Новая версия Plecost 1.0.1 — программы для поиска уязвимостей WordPress

Подготовлено на основе справочной информации из Kali.Tools 

Про Plecost мы уже писали («Сканируем на уязвимости WordPress: WPScanner и Plecost»). В той статье указывается, что проект давно не обновлялся, а для WordPress, которая обновляется быстро и автоматически или с помощью простых действий в графическом интерфейсе, все не обновляемые сканеры быстро «протухают» и становятся бесполезными.

Не так давно автор Plecost показал нам третью версию своей программы, которая получила номер 1.0.1.

Новое в Plecost 1.0.1:

  • Исправлены ошибки.
  • Новый движок: более быстрый и для него нужно меньше памяти.
  • Улучшена система CVE и хранения: теперь Plecost получает уязвимости напрямую от NIST и создаёт локальную базу SQLite с отфильтрованной информация для WordPress и его плагинов.
  • Уязвимости WordPress: теперь Plecost также работает с уязвимостями WordPress (а не только его плагинов).
  • Локальная база данных уязвимостей поддерживает запросы. Теперь по ней можно искать для конкретной версии wordpress или плагина.
  • Ну а все изменения в файле CHANGELOG.

Установка Plecost 1.0.1

В Kali Linux Plecost уже установлен. НО: на данный момент в Kali до сих пор старая версия, которая уже мало интересна. Я покажу установку на примере дистрибутива LMDE 2 (аналогично делается в Debian, Mint, Ubuntu). Установить в Kali у меня не получилось — кто знает как, подскажите в комментариях.

sudo apt-get install python3-pip python3-dev python3-wheel
sudo python3 -m pip install plecost

Работа с Plecost 1.0.1

01

Сканирование теперь запускается элементарной командой:

plecost https://www.salesforce.com/products/platform/overview/

Чуть более сложное сканирование: увеличиваем подробность и экспортируем результаты в форматах JSON и XML:

JSON

plecost -v https://www.salesforce.com/products/platform/overview/ -o results.json

XML

plecost -v https://www.salesforce.com/products/platform/overview/ -o results.xml

Продвинутые опции сканирования Plecost 1.0.1

Без проверки версии WordPress, только плагинов:

plecost -nc https://www.salesforce.com/products/platform/overview/

Всё равно сканируем, даже если это не WordPress:

plecost -f https://www.salesforce.com/products/platform/overview/

Отображать только короткий баннер:

plecost -nb https://www.salesforce.com/products/platform/overview/

Список доступных wordlists

mial@mint ~ $ plecost -nb -l 

// Plecost - WordPress finger printer Tool - v1.0.0

Available word lists:
   1 - plugin_list_50.txt
   2 - plugin_list_1000.txt
   3 - plugin_list_100.txt
   4 - plugin_list_250.txt
   6 - plugin_list_huge.txt
   7 - plugin_list_10.txt

mial@mint ~ $ 

Выбираем wordlist в списке:

plecost -nb -w plugin_list_10.txt https://www.salesforce.com/products/platform/overview/

Повышение параллелизма (ИСПОЛЬЗОВАТЬ ОСТОРОЖНО, МОЖЕТ ПОЛОЖИТЬ ТЕСТИРУЕМЫЙ ВЕБ-САЙТ!)

plecost --concurrency 10 https://www.salesforce.com/products/platform/overview/

Или…

plecost -c 10 https://www.salesforce.com/products/platform/overview/

Ещё больше опций по команде —help:

plecost -h

Обновление Plecost

Новые версии и уязвимости открываются ежедневно, вы можете загрузить их в локальную базу:

Обновление базы данных уязвимостей:

sudo plecost --update-cve

Обновление списка плагинов:

sudo plecost --update-plugins

Чтение локальной базы данных уязвимостей

Список всех известных плагинов с уязвимостями:

mial@mint ~ $ plecost -nb --show-plugins

// Plecost - WordPress finger printer Tool - v1.0.0

[*] Plugins with vulnerabilities known:

    { 0 } - ab_google_map_travel
    { 1 } - acobot_live_chat_%26_contact_form
    { 2 } - activehelper_livehelp_live_chat
    { 3 } - ad-manager
    { 4 } - alipay
    { 5 } - all-video-gallery
    { 6 } - all_in_one_seo_pack
    { 7 } - all_in_one_wordpress_security_and_firewall
    { 8 } - another_wordpress_classifieds_plugin
    { 9 } - anyfont
    { 10 } - april%27s_super_functions_pack
    { 11 } - audio_player
    { 12 } - banner_effect_header
    { 13 } - bannerman
    { 14 } - bib2html
    { 15 } - bic_media_widget
    { 16 } - bird_feeder
    { 17 } - blogstand-smart-banner
    { 18 } - blue_wrench_video_widget
    { 19 } - bookx
    { 20 } - bradesco_gateway
    { 21 } - bsk_pdf_manager
    { 22 } - bulletproof-security
    { 23 } - bulletproof_security
    { 24 } - cakifo

       ……..

Показать уязвимости по конкретному плагину:

plecost -nb -vp google_analytics

Показать подробности по конкретной CVE:

plecost -nb --cve CVE-2014-9174

Нужны подопытные? Список ста тысяч веб-сайтов на WordPress.

2 комментария

  1. Установил Plecost:
    sudo apt-get install python3-pip python3-dev python3-wheel
    sudo python3 -m pip install plecost

    Plecost (plecost-1.0.7) установился в директорию: /usr/local/lib/python3.5/dist-packages
    Запустил: plecost
    Выдало ошибку: «TypeError: multiple bases have instance lay-out conflict»
    Обновил aiohttp: sudo python3 -m pip install —upgrade aiohttp==0.15.3
    Поправил версию aiohttp на 0.15.3 в файле: gedit /usr/local/lib/python3.5/dist-packages/plecost-1.0.7.egg-info/requires.txt
    Запустил: plecost
    Ошибка исчезла.

    Запустил обновление: plecost —update-cve
    Выдало ошибку: «ImportError: cannot import name ‘HTMLParseError»
    Обновил beautifulsoup4: sudo python3 -m pip install —upgrade beautifulsoup4==4.4.1
    Поправил версию beautifulsoup4 на 4.4.1 в файле: gedit /usr/local/lib/python3.5/dist-packages/plecost-1.0.7.egg-info/requires.txt
    Запустил обновление: plecost —update-cve
    Ошибка исчезла.

    Запустил сканирование сайта по http: plecost http://TARGET
    Сканирование не работает, выполняется один процесс «Looking for WordPress installation…» и все.
    Запустил сканирование сайта по http с флагом -f: plecost -f http://TARGET
    Выдало ошибку: «RuntimeError: Event loop is closed»

    Добавил в файл: gedit /usr/local/lib/python3.5/dist-packages/plecost_lib/plecost.py
    после строки: def main():
    следующий код (соблюдайте табуляцию):
    try:
    from asyncio import JoinableQueue as Queue
    except ImportError:
    from asyncio import Queue

    Заменил в файле: gedit /usr/local/lib/python3.5/dist-packages/plecost_lib/libs/utils.py
    строку: self.q = asyncio.JoinableQueue (loop=self.loop)
    на строку: self.q = asyncio.Queue(loop=self.loop)

    Запустил сканирование сайта по http с флагом -f: plecost -f http://TARGET
    Ошибка исчезла.

    Весь остальной функционал тоже починился. Все.
    Можно PDF книги? Спасибо.

  2. Единственное, в коментарие выше импорты Queue нужно добавлять не после def main(): а до, тогда все работает.

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *