Paladin
05.12.2023, 23:00
https://forum.antichat.xyz/attachments/4931803/img_b2c1870e82.png
Доброго времени суток, уважаемые форумчане!
В сегодняшней статье я собирался рассмотреть тему использования сканеров уязвимостей и CMS, которые можно использовать в ходе обучения на курсе WAPT. Планировал уделить внимание обзору сканеров OpenVAS, nuclei, Burp Suite Active Scan, а также сканеров CMS (Content Management System или Система управления контентом сайта), таких как WPScan, Joomscan, CMSmap, с которыми студентам так или иначе придется столкнуться. Но в итоге вспомнил, сколько горя принес ученикам сканер OpenVAS, а точнее его установка и решил акцентировать внимание на нем. Все остальное будет рассмотрено в следующей статье.
OpenVAS
Это, пожалуй, самый неоднозначный в установке инструмент, который стоил многочасовых танцев с бубном и не одного килограмма вырванных волос из различных мест у нескольких поколений студентов курса. Все дело в том, что разбор в методических материалах некоторых тасков опирается на него и всем хочется попробовать этот вариант, но вот дело в том, что не у всех получается его установить и использовать для этого. Мне в ходе обучения на WAPTе тоже не удалось это сделать и, разбив пару компов об стену, я бросил это неблагодарное занятие. Немного позже, когда у меня появилось время, мне все-таки удалось его установить и использовать. Потом, я даже внес ссылку на инструкцию по установке в методичку (Как установить Greenbone Vulnerability Management (GVM) (бывший OpenVAS) в Kali Linux - HackWare.ru), но к сожалению, не всем она помогла, поэтому рассмотрим установку инструмента с использованием этой инструкции по шагам с рассмотрением всех косяков в ходе его установки, чтобы доказать, что она работает. Ставить будем на последний, на настоящий момент, релиз Kali Linux 2023.3. Если у кого-то есть желание установить сканер в Docker, просто перейдите по ссылке Установка OpenVAS в Docker и следуйте указаниям, я же рассмотрю вариант установки сканера непосредственно в систему. Провожу установку в реальном времени. У меня будут косяки и откаты, поэтому прежде чем начать, внимательно прочитайте все, что я пишу, чтобы не делать лишних телодвижений.
1. Для начала обновим систему:
sudo apt update && sudo apt upgrade –y
2. Установим пакеты GVM
sudo apt install gvm
https://forum.antichat.xyz/attachments/4931803/1701800440608.png
3. Сканеру нужен запущенный сервер Redis для временного хранение собранной информации по сканированным хостам. Настройка сервера Redis делается так (эти команды нужно выполнить один раз):
wget https://raw.githubusercontent.com/greenbone/openvas-scanner/master/config/redis-openvas.conf
https://forum.antichat.xyz/attachments/4931803/1701800536577.png
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
https://forum.antichat.xyz/attachments/4931803/1701800586696.png
Запуск сервера Redis (нужно делать после каждой перезагрузки компьютера):
sudo systemctl start redis-server@openvas.service
или добавить его в автозагрузку
sudo systemctl enable redis-server@openvas.service
https://forum.antichat.xyz/attachments/4931803/1701800690341.png4. Проверяем, запущен ли Redis:
sudo systemctl status redis-server@openvas.service
https://forum.antichat.xyz/attachments/4931803/1701800789202.png
5. Запустим openvas, чтобы загрузить плагины в Redis, используя следующую команду:
sudoopenvas –u
6. Поскольку openvas будет запускаться из процесса ospd-openvas с помощью sudo, отредактируем файл sudoers, добавив туда следующую строку ПОЛЬЗОВАТЕЛЬALL = NOPASSWD: /usr/sbin/openvas, прописав нужного пользователя:
sudo visudo
https://forum.antichat.xyz/attachments/4931803/1701800941368.png
7. Запустим скрипт развертывания:
sudo gvm-setup
https://forum.antichat.xyz/attachments/4931803/1701801004245.png
8. И вот первая проблема, с которой я столкнулся. Нам говорят, что 16 версия хочет использовать порт 5432, но он занят. Ну что ж, будем решать. Для начала, проверим версию PostgreSQL:
https://forum.antichat.xyz/attachments/4931803/1701801091739.png
И заглянем в папку /etc/postgresql/
https://forum.antichat.xyz/attachments/4931803/1701801196168.png
Ну теперь все понятно, у нас установлено две версии, поэтому идет эта муть с портами. Давайте отредактируем файлы конфигураций. Сначала выберем 15 версию и отредактируем файл:
sudo nano /etc/postgresql/15/main/postgresql.conf
в котором значение порта 5432 заменим на 5433
https://forum.antichat.xyz/attachments/4931803/1701801263182.png
А потом, аналогичным образом изменим файл для 16 версии, в которой вместо 5433 установим порт 5432:
sudo nano /etc/postgresql/16/main/postgresql.conf
9. Снова запускаем sudogvm-setupи радуемся начавшейся установке.
https://forum.antichat.xyz/attachments/4931803/1701801340365.png
Записываем себе в блокнотик креды для аутентификации (логин – admin и пароль – вот эта длинная строка, которую я замазал). Ждем пока установится это творение рук человеческих. Это достаточно долго, можно покурить и выпить кофе. Я, к примеру, успел погулять с собакой, помыть посуду, два раза сходить в магазин за пивом, нажраться, поэтому написание статьи пришлось отложить на пару дней. Когда я вышел из запоя, то увидел, что установка завершилась без ошибок:
https://forum.antichat.xyz/attachments/4931803/1701801413250.png
10. Странно, на предыдущий релиз Kali Linux, она выкатила кучу ошибок. Проверим, все ли у нас в порядке:
sudo gvm-check-setup
https://forum.antichat.xyz/attachments/4931803/1701801561918.png
Твою ж за ногу!!! Даже первый шаг не завершен. Я уже был готов раздолбать последний комп, но тогда вы не увидели бы эту статью. Будем исправлять.
11. Попробуем воспользоваться советом из вывода и добавить строку mqtt_server_uri = localhost:1883 в файл /etc/openvas/openvas.conf
https://forum.antichat.xyz/attachments/4931803/1701801643133.png
Что-то изменилось, но все равно мы получили такое вот го$#о:
https://forum.antichat.xyz/attachments/4931803/1701801704078.png
12. Изменим права доступа к журналу:
sudo chmod 666 /var/log/gvm/openvas.log
И снова запустим check:
https://forum.antichat.xyz/attachments/4931803/1701801769726.png
13. Опа! Мы завершили аж 5 шагов, но этого мало. Продолжаем издеваться над Greenbone Vulnerability Management, использовав совет из вывода:
https://forum.antichat.xyz/attachments/4931803/1701801860831.png
14. Я все ближе и ближе к тому моменту, чтобы выкинуть комп в окно, но упорно продолжаю над собой издеваться. Может gvm не хочет работать с 16 версией postgresql? Попробуем использовать 15 версию. Отредактируем файл /usr/share/gvmd/postgresql-version, написав в нем 15.1 вместо 16.1.
https://forum.antichat.xyz/attachments/4931803/1701801932084.png
15. Возвращаем порты на место (п. 8). Перегружаем систему. И снова запускаем sudo gvm-check-setup.
https://forum.antichat.xyz/attachments/4931803/1701801989612.png
Вуа-ля! Установка завершена.
16. Запускаем сканер командой sudo gvm-start и когда сервис запустится, в браузере перейдем по адресу https://127.0.0.1:9392, где введем креды полученные при установке (п. 9).
https://forum.antichat.xyz/attachments/4931803/1701802101979.png
Все.
https://forum.antichat.xyz/attachments/4931803/1701802148018.png
Ну что, опробуем его? Стоит ли он потраченных нервов и времени?
Для издевательства возьмем первую задачу из темы «Системные уязвимости». Этот таск и так досконально распедален, так что я не открою никакой великой тайны и надеюсь, что не буду бит своими бывшими коллегами на очередном ивенте.
https://forum.antichat.xyz/attachments/4931803/1701802224346.png
Видим сайт. Проверим его на уязвимости. Запускаем сканер и заходим во вкладку Configuration-Ports и создаем список портов из нашего диапазона:
https://forum.antichat.xyz/attachments/4931803/1701802275730.png
Затем заходим во вкладку Configuration-Targets и создаем цель:
https://forum.antichat.xyz/attachments/4931803/1701802355757.png
После этого во вкладке Scans-Tasks создаем задачу и запускаем ее:
https://forum.antichat.xyz/attachments/4931803/1701802410874.png
В результатах видим критическую уязвимость:
https://forum.antichat.xyz/attachments/4931803/1701802449352.png
Нажимаем на нее и наблюдаем рекомендации по ее эксплуатации:
https://forum.antichat.xyz/attachments/4931803/1701802490652.png
Нам предлагают отправить POST-запрос со следующим содержимым, чтобы выполнилась команда id. Копируем его в буфер обмена, открываем Burp Suite, перехватываем запрос от обновления страницы, загоняем его в Repiter, и вставляем содержимое буфера.
https://forum.antichat.xyz/attachments/4931803/1701802557065.png
Видим результат и радуемся, что не зря потратили время на установку этого инструмента.
Хочу отметить, что OpenVAS - достаточно мощный сканер, имеет тысячи различных настроек, база уязвимостей регулярно пополняется. Инструмент требует тщательного изучения. Существенным минусом является отсутствие какого-либо серьезного мануала на русском языке. Но ведь это же не проблема?
На сегодня все. Считаю, что сканер мы побороли. Пишите в комментариях проблемы, которые вы не смогли побороть при установке OpenVAS, будем разбираться вместе.
Всем спасибо за внимание. До новых встреч!
Доброго времени суток, уважаемые форумчане!
В сегодняшней статье я собирался рассмотреть тему использования сканеров уязвимостей и CMS, которые можно использовать в ходе обучения на курсе WAPT. Планировал уделить внимание обзору сканеров OpenVAS, nuclei, Burp Suite Active Scan, а также сканеров CMS (Content Management System или Система управления контентом сайта), таких как WPScan, Joomscan, CMSmap, с которыми студентам так или иначе придется столкнуться. Но в итоге вспомнил, сколько горя принес ученикам сканер OpenVAS, а точнее его установка и решил акцентировать внимание на нем. Все остальное будет рассмотрено в следующей статье.
OpenVAS
Это, пожалуй, самый неоднозначный в установке инструмент, который стоил многочасовых танцев с бубном и не одного килограмма вырванных волос из различных мест у нескольких поколений студентов курса. Все дело в том, что разбор в методических материалах некоторых тасков опирается на него и всем хочется попробовать этот вариант, но вот дело в том, что не у всех получается его установить и использовать для этого. Мне в ходе обучения на WAPTе тоже не удалось это сделать и, разбив пару компов об стену, я бросил это неблагодарное занятие. Немного позже, когда у меня появилось время, мне все-таки удалось его установить и использовать. Потом, я даже внес ссылку на инструкцию по установке в методичку (Как установить Greenbone Vulnerability Management (GVM) (бывший OpenVAS) в Kali Linux - HackWare.ru), но к сожалению, не всем она помогла, поэтому рассмотрим установку инструмента с использованием этой инструкции по шагам с рассмотрением всех косяков в ходе его установки, чтобы доказать, что она работает. Ставить будем на последний, на настоящий момент, релиз Kali Linux 2023.3. Если у кого-то есть желание установить сканер в Docker, просто перейдите по ссылке Установка OpenVAS в Docker и следуйте указаниям, я же рассмотрю вариант установки сканера непосредственно в систему. Провожу установку в реальном времени. У меня будут косяки и откаты, поэтому прежде чем начать, внимательно прочитайте все, что я пишу, чтобы не делать лишних телодвижений.
1. Для начала обновим систему:
sudo apt update && sudo apt upgrade –y
2. Установим пакеты GVM
sudo apt install gvm
https://forum.antichat.xyz/attachments/4931803/1701800440608.png
3. Сканеру нужен запущенный сервер Redis для временного хранение собранной информации по сканированным хостам. Настройка сервера Redis делается так (эти команды нужно выполнить один раз):
wget https://raw.githubusercontent.com/greenbone/openvas-scanner/master/config/redis-openvas.conf
https://forum.antichat.xyz/attachments/4931803/1701800536577.png
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
https://forum.antichat.xyz/attachments/4931803/1701800586696.png
Запуск сервера Redis (нужно делать после каждой перезагрузки компьютера):
sudo systemctl start redis-server@openvas.service
или добавить его в автозагрузку
sudo systemctl enable redis-server@openvas.service
https://forum.antichat.xyz/attachments/4931803/1701800690341.png4. Проверяем, запущен ли Redis:
sudo systemctl status redis-server@openvas.service
https://forum.antichat.xyz/attachments/4931803/1701800789202.png
5. Запустим openvas, чтобы загрузить плагины в Redis, используя следующую команду:
sudoopenvas –u
6. Поскольку openvas будет запускаться из процесса ospd-openvas с помощью sudo, отредактируем файл sudoers, добавив туда следующую строку ПОЛЬЗОВАТЕЛЬALL = NOPASSWD: /usr/sbin/openvas, прописав нужного пользователя:
sudo visudo
https://forum.antichat.xyz/attachments/4931803/1701800941368.png
7. Запустим скрипт развертывания:
sudo gvm-setup
https://forum.antichat.xyz/attachments/4931803/1701801004245.png
8. И вот первая проблема, с которой я столкнулся. Нам говорят, что 16 версия хочет использовать порт 5432, но он занят. Ну что ж, будем решать. Для начала, проверим версию PostgreSQL:
https://forum.antichat.xyz/attachments/4931803/1701801091739.png
И заглянем в папку /etc/postgresql/
https://forum.antichat.xyz/attachments/4931803/1701801196168.png
Ну теперь все понятно, у нас установлено две версии, поэтому идет эта муть с портами. Давайте отредактируем файлы конфигураций. Сначала выберем 15 версию и отредактируем файл:
sudo nano /etc/postgresql/15/main/postgresql.conf
в котором значение порта 5432 заменим на 5433
https://forum.antichat.xyz/attachments/4931803/1701801263182.png
А потом, аналогичным образом изменим файл для 16 версии, в которой вместо 5433 установим порт 5432:
sudo nano /etc/postgresql/16/main/postgresql.conf
9. Снова запускаем sudogvm-setupи радуемся начавшейся установке.
https://forum.antichat.xyz/attachments/4931803/1701801340365.png
Записываем себе в блокнотик креды для аутентификации (логин – admin и пароль – вот эта длинная строка, которую я замазал). Ждем пока установится это творение рук человеческих. Это достаточно долго, можно покурить и выпить кофе. Я, к примеру, успел погулять с собакой, помыть посуду, два раза сходить в магазин за пивом, нажраться, поэтому написание статьи пришлось отложить на пару дней. Когда я вышел из запоя, то увидел, что установка завершилась без ошибок:
https://forum.antichat.xyz/attachments/4931803/1701801413250.png
10. Странно, на предыдущий релиз Kali Linux, она выкатила кучу ошибок. Проверим, все ли у нас в порядке:
sudo gvm-check-setup
https://forum.antichat.xyz/attachments/4931803/1701801561918.png
Твою ж за ногу!!! Даже первый шаг не завершен. Я уже был готов раздолбать последний комп, но тогда вы не увидели бы эту статью. Будем исправлять.
11. Попробуем воспользоваться советом из вывода и добавить строку mqtt_server_uri = localhost:1883 в файл /etc/openvas/openvas.conf
https://forum.antichat.xyz/attachments/4931803/1701801643133.png
Что-то изменилось, но все равно мы получили такое вот го$#о:
https://forum.antichat.xyz/attachments/4931803/1701801704078.png
12. Изменим права доступа к журналу:
sudo chmod 666 /var/log/gvm/openvas.log
И снова запустим check:
https://forum.antichat.xyz/attachments/4931803/1701801769726.png
13. Опа! Мы завершили аж 5 шагов, но этого мало. Продолжаем издеваться над Greenbone Vulnerability Management, использовав совет из вывода:
https://forum.antichat.xyz/attachments/4931803/1701801860831.png
14. Я все ближе и ближе к тому моменту, чтобы выкинуть комп в окно, но упорно продолжаю над собой издеваться. Может gvm не хочет работать с 16 версией postgresql? Попробуем использовать 15 версию. Отредактируем файл /usr/share/gvmd/postgresql-version, написав в нем 15.1 вместо 16.1.
https://forum.antichat.xyz/attachments/4931803/1701801932084.png
15. Возвращаем порты на место (п. 8). Перегружаем систему. И снова запускаем sudo gvm-check-setup.
https://forum.antichat.xyz/attachments/4931803/1701801989612.png
Вуа-ля! Установка завершена.
16. Запускаем сканер командой sudo gvm-start и когда сервис запустится, в браузере перейдем по адресу https://127.0.0.1:9392, где введем креды полученные при установке (п. 9).
https://forum.antichat.xyz/attachments/4931803/1701802101979.png
Все.
https://forum.antichat.xyz/attachments/4931803/1701802148018.png
Ну что, опробуем его? Стоит ли он потраченных нервов и времени?
Для издевательства возьмем первую задачу из темы «Системные уязвимости». Этот таск и так досконально распедален, так что я не открою никакой великой тайны и надеюсь, что не буду бит своими бывшими коллегами на очередном ивенте.
https://forum.antichat.xyz/attachments/4931803/1701802224346.png
Видим сайт. Проверим его на уязвимости. Запускаем сканер и заходим во вкладку Configuration-Ports и создаем список портов из нашего диапазона:
https://forum.antichat.xyz/attachments/4931803/1701802275730.png
Затем заходим во вкладку Configuration-Targets и создаем цель:
https://forum.antichat.xyz/attachments/4931803/1701802355757.png
После этого во вкладке Scans-Tasks создаем задачу и запускаем ее:
https://forum.antichat.xyz/attachments/4931803/1701802410874.png
В результатах видим критическую уязвимость:
https://forum.antichat.xyz/attachments/4931803/1701802449352.png
Нажимаем на нее и наблюдаем рекомендации по ее эксплуатации:
https://forum.antichat.xyz/attachments/4931803/1701802490652.png
Нам предлагают отправить POST-запрос со следующим содержимым, чтобы выполнилась команда id. Копируем его в буфер обмена, открываем Burp Suite, перехватываем запрос от обновления страницы, загоняем его в Repiter, и вставляем содержимое буфера.
https://forum.antichat.xyz/attachments/4931803/1701802557065.png
Видим результат и радуемся, что не зря потратили время на установку этого инструмента.
Хочу отметить, что OpenVAS - достаточно мощный сканер, имеет тысячи различных настроек, база уязвимостей регулярно пополняется. Инструмент требует тщательного изучения. Существенным минусом является отсутствие какого-либо серьезного мануала на русском языке. Но ведь это же не проблема?
На сегодня все. Считаю, что сканер мы побороли. Пишите в комментариях проблемы, которые вы не смогли побороть при установке OpenVAS, будем разбираться вместе.
Всем спасибо за внимание. До новых встреч!