Доброго времени суток, уважаемые форумчане!
В сегодняшней статье я собирался рассмотреть тему использования сканеров уязвимостей и CMS, которые можно использовать в ходе обучения на курсе WAPT. Планировал уделить внимание обзору сканеров OpenVAS, nuclei, Burp Suite Active Scan, а также сканеров CMS (Content Management System или Система управления контентом сайта), таких как WPScan, Joomscan, CMSmap, с которыми студентам так или иначе придется столкнуться. Но в итоге вспомнил, сколько горя принес ученикам сканер OpenVAS, а точнее его установка и решил акцентировать внимание на нем. Все остальное будет рассмотрено в следующей статье.
OpenVAS
Это, пожалуй, самый неоднозначный в установке инструмент, который стоил многочасовых танцев с бубном и не одного килограмма вырванных волос из различных мест у нескольких поколений студентов курса. Все дело в том, что разбор в методических материалах некоторых тасков опирается на него и всем хочется попробовать этот вариант, но вот дело в том, что не у всех получается его установить и использовать для этого. Мне в ходе обучения на WAPTе тоже не удалось это сделать и, разбив пару компов об стену, я бросил это неблагодарное занятие. Немного позже, когда у меня появилось время, мне все-таки удалось его установить и использовать. Потом, я даже внес ссылку на инструкцию по установке в методичку (
1. Для начала обновим систему:
sudo apt update && sudo apt upgrade –y
2. Установим пакеты GVM
sudo apt install gvm
Ссылка скрыта от гостей
), но к сожалению, не всем она помогла, поэтому рассмотрим установку инструмента с использованием этой инструкции по шагам с рассмотрением всех косяков в ходе его установки, чтобы доказать, что она работает. Ставить будем на последний, на настоящий момент, релиз Kali Linux 2023.3. Если у кого-то есть желание установить сканер в Docker, просто перейдите по ссылке
Ссылка скрыта от гостей
и следуйте указаниям, я же рассмотрю вариант установки сканера непосредственно в систему. Провожу установку в реальном времени. У меня будут косяки и откаты, поэтому прежде чем начать, внимательно прочитайте все, что я пишу, чтобы не делать лишних телодвижений.1. Для начала обновим систему:
sudo apt update && sudo apt upgrade –y
2. Установим пакеты GVM
sudo apt install gvm
3. Сканеру нужен запущенный сервер Redis для временного хранение собранной информации по сканированным хостам. Настройка сервера Redis делается так (эти команды нужно выполнить один раз):
wget
wget
Ссылка скрыта от гостей
sudo cp redis-openvas.conf /etc/redis/
sudo chown redis:redis /etc/redis/redis-openvas.conf
echo 'db_address = /run/redis-openvas/redis.sock' | sudo tee /etc/openvas/openvas.conf
sudo chown redis:redis /etc/redis/redis-openvas.conf
echo 'db_address = /run/redis-openvas/redis.sock' | sudo tee /etc/openvas/openvas.conf
Запуск сервера Redis (нужно делать после каждой перезагрузки компьютера):
sudo systemctl start redis-server@openvas.service
или добавить его в автозагрузку
sudo systemctl enable redis-server@openvas.service
sudo systemctl start redis-server@openvas.service
или добавить его в автозагрузку
sudo systemctl enable redis-server@openvas.service
5. Запустим openvas, чтобы загрузить плагины в Redis, используя следующую команду:
sudo openvas –u
6. Поскольку openvas будет запускаться из процесса ospd-openvas с помощью sudo, отредактируем файл sudoers, добавив туда следующую строку ПОЛЬЗОВАТЕЛЬ ALL = NOPASSWD: /usr/sbin/openvas, прописав нужного пользователя:
sudo visudo
sudo openvas –u
6. Поскольку openvas будет запускаться из процесса ospd-openvas с помощью sudo, отредактируем файл sudoers, добавив туда следующую строку ПОЛЬЗОВАТЕЛЬ ALL = NOPASSWD: /usr/sbin/openvas, прописав нужного пользователя:
sudo visudo
7. Запустим скрипт развертывания:
sudo gvm-setup
sudo gvm-setup
8. И вот первая проблема, с которой я столкнулся. Нам говорят, что 16 версия хочет использовать порт 5432, но он занят. Ну что ж, будем решать. Для начала, проверим версию PostgreSQL:
И заглянем в папку /etc/postgresql/
Ну теперь все понятно, у нас установлено две версии, поэтому идет эта муть с портами. Давайте отредактируем файлы конфигураций. Сначала выберем 15 версию и отредактируем файл:
sudo nano /etc/postgresql/15/main/postgresql.conf
в котором значение порта 5432 заменим на 5433
sudo nano /etc/postgresql/15/main/postgresql.conf
в котором значение порта 5432 заменим на 5433
А потом, аналогичным образом изменим файл для 16 версии, в которой вместо 5433 установим порт 5432:
sudo nano /etc/postgresql/16/main/postgresql.conf
9. Снова запускаем sudo gvm-setup и радуемся начавшейся установке.
sudo nano /etc/postgresql/16/main/postgresql.conf
9. Снова запускаем sudo gvm-setup и радуемся начавшейся установке.
Записываем себе в блокнотик креды для аутентификации (логин – admin и пароль – вот эта длинная строка, которую я замазал). Ждем пока установится это творение рук человеческих. Это достаточно долго, можно покурить и выпить кофе. Я, к примеру, успел погулять с собакой, помыть посуду, два раза сходить в магазин за пивом, нажраться, поэтому написание статьи пришлось отложить на пару дней. Когда я вышел из запоя, то увидел, что установка завершилась без ошибок:
10. Странно, на предыдущий релиз Kali Linux, она выкатила кучу ошибок. Проверим, все ли у нас в порядке:
sudo gvm-check-setup
sudo gvm-check-setup
Твою ж за ногу!!! Даже первый шаг не завершен. Я уже был готов раздолбать последний комп, но тогда вы не увидели бы эту статью. Будем исправлять.
11. Попробуем воспользоваться советом из вывода и добавить строку mqtt_server_uri = localhost:1883 в файл /etc/openvas/openvas.conf
11. Попробуем воспользоваться советом из вывода и добавить строку mqtt_server_uri = localhost:1883 в файл /etc/openvas/openvas.conf
Что-то изменилось, но все равно мы получили такое вот го$#о:
12. Изменим права доступа к журналу:
sudo chmod 666 /var/log/gvm/openvas.log
И снова запустим check:
sudo chmod 666 /var/log/gvm/openvas.log
И снова запустим check:
13. Опа! Мы завершили аж 5 шагов, но этого мало. Продолжаем издеваться над Greenbone Vulnerability Management, использовав совет из вывода:
14. Я все ближе и ближе к тому моменту, чтобы выкинуть комп в окно, но упорно продолжаю над собой издеваться. Может gvm не хочет работать с 16 версией postgresql? Попробуем использовать 15 версию. Отредактируем файл /usr/share/gvmd/postgresql-version, написав в нем 15.1 вместо 16.1.
15. Возвращаем порты на место (п. 8). Перегружаем систему. И снова запускаем sudo gvm-check-setup.
Вуа-ля! Установка завершена.
16. Запускаем сканер командой sudo gvm-start и когда сервис запустится, в браузере перейдем по адресу
16. Запускаем сканер командой sudo gvm-start и когда сервис запустится, в браузере перейдем по адресу
Ссылка скрыта от гостей
, где введем креды полученные при установке (п. 9).
Все.
Ну что, опробуем его? Стоит ли он потраченных нервов и времени?
Для издевательства возьмем первую задачу из темы «Системные уязвимости». Этот таск и так досконально распедален, так что я не открою никакой великой тайны и надеюсь, что не буду бит своими бывшими коллегами на очередном ивенте.
Для издевательства возьмем первую задачу из темы «Системные уязвимости». Этот таск и так досконально распедален, так что я не открою никакой великой тайны и надеюсь, что не буду бит своими бывшими коллегами на очередном ивенте.
Видим сайт. Проверим его на уязвимости. Запускаем сканер и заходим во вкладку Configuration-Ports и создаем список портов из нашего диапазона:
Затем заходим во вкладку Configuration-Targets и создаем цель:
После этого во вкладке Scans-Tasks создаем задачу и запускаем ее:
В результатах видим критическую уязвимость:
Нажимаем на нее и наблюдаем рекомендации по ее эксплуатации:
Нам предлагают отправить POST-запрос со следующим содержимым, чтобы выполнилась команда id. Копируем его в буфер обмена, открываем Burp Suite, перехватываем запрос от обновления страницы, загоняем его в Repiter, и вставляем содержимое буфера.
Видим результат и радуемся, что не зря потратили время на установку этого инструмента.
Хочу отметить, что OpenVAS - достаточно мощный сканер, имеет тысячи различных настроек, база уязвимостей регулярно пополняется. Инструмент требует тщательного изучения. Существенным минусом является отсутствие какого-либо серьезного мануала на русском языке. Но ведь это же не проблема?
Хочу отметить, что OpenVAS - достаточно мощный сканер, имеет тысячи различных настроек, база уязвимостей регулярно пополняется. Инструмент требует тщательного изучения. Существенным минусом является отсутствие какого-либо серьезного мануала на русском языке. Но ведь это же не проблема?
На сегодня все. Считаю, что сканер мы побороли. Пишите в комментариях проблемы, которые вы не смогли побороть при установке OpenVAS, будем разбираться вместе.
Всем спасибо за внимание. До новых встреч!
Последнее редактирование: