//kalinux.info
Разное 1498 просмотров

Настройка OpenVAS в Kali Linux

Настройка OpenVAS в Kali Linux

Пользователи часто запрашивают дополнение сканеров уязвимостей в Kali, в первую очередь те, которые начинаются с «N», но из-за ограничений лицензирования мы не включаем их в дистрибутив. К счастью, Kali включает в себя очень способный OpenVAS, который является бесплатным и открытым исходным кодом. Хотя мы вкратце рассмотрели OpenVAS в прошлом, мы решили посвятить более тщательный пост его настройке и как использовать его более эффективно.

Сканеры уязвимостей часто имеют слабую репутацию, прежде всего потому, что их роль и цель неправильно поняты. Сканеры Vulnerabilty сканируют уязвимости - они не являются волшебными машинами эксплойта и должны быть одним из многих источников информации, используемых в оценке. Слепой запуск сканера уязвимостей против цели почти наверняка закончится разочарованием и горем, с десятками (или даже сотнями) результатов низкого уровня или неинформативных результатов.

Системные требования

Основная жалоба, которую мы получаем о OpenVAS (или любом другом сканере уязвимостей), можно резюмировать как «она слишком медленная и сбой и не работает, и это плохо, и вам должно быть плохо». Почти во всех случаях медленность и / или сбои связаны с недостаточными системными ресурсами. OpenVAS имеет десятки тысяч подписей, и если вы не дадите вашей системе достаточного количества ресурсов, особенно оперативной памяти, вы окажетесь в мире страданий. Для некоторых коммерческих сканеров уязвимостей требуется как минимум 8 ГБ ОЗУ и рекомендуется еще больше.

OpenVAS не требует около того объема памяти, но чем больше вы можете предоставить его, тем более плавная система сканирования будет работать. Для этого сообщения наша виртуальная машина Kali имеет 3 процессора и 3 ГБ оперативной памяти, что обычно достаточно для сканирования небольшого количества хостов одновременно.

Начальная установка OpenVAS в Kali Linux

У OpenVAS много движущихся частей, и настройка вручную может быть проблемой. К счастью, Kali содержит простую в использовании утилиту под названием «openvas-setup», которая занимается настройкой OpenVAS, загрузкой подписей и созданием пароля для пользователя admin.

Эта первоначальная настройка может занять довольно много времени, даже при быстром подключении к Интернету, чтобы просто сидеть сложа руки и позволить ей делать это. В конце настройки будет отображаться автоматически созданный пароль для пользователя admin. Обязательно сохраните этот пароль где-нибудь в безопасности.

root@kali:~# openvas-setup
ERROR: Directory for keys (/var/lib/openvas/private/CA) not found!
ERROR: Directory for certificates (/var/lib/openvas/CA) not found!
ERROR: CA key not found in /var/lib/openvas/private/CA/cakey.pem
ERROR: CA certificate not found in /var/lib/openvas/CA/cacert.pem
ERROR: CA certificate failed verification, see /tmp/tmp.7G2IQWtqwj/openvas-manage-certs.log for details. Aborting.

ERROR: Your OpenVAS certificate infrastructure did NOT pass validation.
See messages above for details.
Generated private key in /tmp/tmp.PerU5lG2tl/cakey.pem.
Generated self signed certificate in /tmp/tmp.PerU5lG2tl/cacert.pem.
...
/usr/sbin/openvasmd

User created with password 'xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx'.

Работа с ошибками установки

Иногда скрипт «openvas-setup» будет отображать ошибки в конце загрузки NVT, аналогичные приведенным ниже.

(openvassd:2272): lib kb_redis-CRITICAL **: get_redis_ctx: redis connection error: No such file or directory

(openvassd:2272): lib kb_redis-CRITICAL **: redis_new: cannot access redis at '/var/run/redis/redis.sock'

(openvassd:2272): lib kb_redis-CRITICAL **: get_redis_ctx: redis connection error: No such file or directory
openvassd: no process found

Если вам посчастливилось столкнуться с этой проблемой, вы можете запустить «openvas-check-setup», чтобы узнать, какой компонент вызывает проблемы. В этом конкретном случае мы получаем следующее из сценария.

...
ERROR: The number of NVTs in the OpenVAS Manager database is too low.
FIX: Make sure OpenVAS Scanner is running with an up-to-date NVT collection and run 'openvasmd --rebuild'.
...

Сценарий «openvas-check-setup» обнаруживает проблему и даже предоставляет команду для запуска (надеюсь) решения этой проблемы. После восстановления коллекции NVT, как рекомендуется, все проверки передаются.

root@kali:~# openvasmd --rebuild
root@kali:~# openvas-check-setup
openvas-check-setup 2.3.7
Test completeness and readiness of OpenVAS-9
...
It seems like your OpenVAS-9 installation is OK.
...

Управление пользователями OpenVAS

Если вам нужно (или хотите) создать дополнительных пользователей OpenVAS, запустите 'openvasmd' с параметром -create-user, который добавит нового пользователя и отобразит случайно сгенерированный пароль.

root@kali:~# openvasmd --create-user=dookie
User created with password 'yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyy'.
root@kali:~# openvasmd --get-users
admin
dookie

Если вы похожи на нас, вы забудете сохранить пароль администратора или случайно удалите его. К счастью, изменение паролей пользователей OpenVAS легко осуществляется с помощью опции «openvasmd» и «new-password».

root@kali:~# openvasmd --user=dookie --new-password=s3cr3t
root@kali:~# openvasmd --user=admin --new-password=sup3rs3cr3t

Запуск и остановка OpenVAS

Сетевые службы по умолчанию отключены в Kali Linux, поэтому, если вы не настроили OpenVAS для запуска при загрузке, вы можете запустить необходимые службы, запустив «openvas-start».

root@kali:~# openvas-start
Starting OpenVas Services

Когда службы завершают инициализацию, вы должны найти TCP-порты 9390 и 9392, которые прослушивают ваш loopback-интерфейс.

root@kali:~# ss -ant
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 127.0.0.1:9390 *:*
LISTEN 0 128 127.0.0.1:9392 *:*

Из-за нагрузки на системные ресурсы вы, вероятно, захотите остановить OpenVAS, когда вы закончите использовать его, особенно если вы не используете специальную систему для сканирования уязвимостей. OpenVAS можно остановить, запустив «openvas-stop».

root@kali:~# openvas-stop
Stopping OpenVas Services

Использование помощника по безопасности Greenbone

Greenbone Security Assistant - это веб-интерфейс OpenVAS, доступный на вашем локальном компьютере (после запуска OpenVAS) на https://localhost:9392. После принятия самозаверяющего сертификата вам будет представлена ​​страница входа в систему и после аутентификации вы увидите основную панель.

Настройка учетных данных

Сканеры уязвимостей обеспечивают наиболее полные результаты, когда вы можете предоставить механизму сканирования учетные данные для использования на сканируемых системах. OpenVAS будет использовать эти учетные данные для входа в сканированную систему и выполнения подробного перечисления установленного программного обеспечения, патчей и т. д. Вы можете добавить учетные данные через запись «Учетные данные» в меню «Конфигурация».

Конфигурация цели

OpenVAS, как и большинство сканеров уязвимостей, может сканировать удаленные системы, но это сканер уязвимостей, а не сканер портов. Вместо того, чтобы полагаться на сканер уязвимостей для идентификации хостов, вы значительно упростите свою жизнь с помощью специализированного сетевого сканера, такого как Nmap или Masscan, и импортируйте список целей в OpenVAS.

root@kali:~# nmap -sn -oA nmap-subnet-86 192.168.86.0/24
root@kali:~# grep Up nmap-subnet-86.gnmap | cut -d " " -f 2 > live-hosts.txt

После того, как у вас есть список хостов, вы можете импортировать их в разделе «Цели» в меню «Конфигурация».

Конфигурация сканирования

Перед запуском сканирования уязвимостей вы должны точно настроить Scan Config, который будет использоваться, что можно сделать в разделе «Конфигурации сканирования» в меню «Конфигурация». Вы можете клонировать любую конфигурацию сканирования по умолчанию и редактировать ее параметры, отключая любые службы или проверки, которые вам не нужны. Если вы используете Nmap для проведения предварительного анализа ваших целевых объектов, вы можете сэкономить время сканирования уязвимости.

Конфигурация задачи

Ваши учетные данные, цели и конфигурации сканирования настроены таким образом, что теперь вы готовы собрать все вместе и запустить сканирование уязвимостей. В OpenVAS сканирование уязвимостей проводится как «Задачи». Когда вы настраиваете новую задачу, вы можете дополнительно оптимизировать сканирование путем увеличения или уменьшения одновременных действий, которые происходят. С нашей системой с 3 ГБ оперативной памяти мы скорректировали наши настройки задач, как показано ниже.

Благодаря нашим более точно настроенным параметрам сканирования и целевому выбору результаты нашего сканирования намного полезнее.

Автоматизация OpenVAS

Одной из менее известных функций OpenVAS является интерфейс командной строки, с которым вы взаимодействуете с помощью команды «omp». Его использование не совсем интуитивно, но мы не единственные поклонники OpenVAS, и мы столкнулись с несколькими базовыми сценариями, которые вы можете использовать и расширить для автоматизации сканирования OpenVAS.

Первый - openvas-automate.sh by mgeeky, полуинтерактивный скрипт Bash, который предлагает вам тип сканирования и заботится обо всем остальном. Конфигурации сканирования жестко закодированы в сценарии, поэтому, если вы хотите использовать свои настроенные конфиги, их можно добавить в разделе «цели».

root@kali:~# apt -y install pcregrep
root@kali:~# ./openvas-automate.sh 192.168.86.61

:: OpenVAS automation script.
mgeeky, 0.1

[>] Please select scan type:
1. Discovery
2. Full and fast
3. Full and fast ultimate
4. Full and very deep
5. Full and very deep ultimate
6. Host Discovery
7. System Discovery
9. Exit

--------------------------------
Please select an option: 5

[+] Tasked: 'Full and very deep ultimate' scan against '192.168.86.61'
[>] Reusing target...
[+] Target's id: 6ccbb036-4afa-46d8-b0c0-acbd262532e5
[>] Creating a task...
[+] Task created successfully, id: '
8e77181c-07ac-4d2c-ad30-9ae7a281d0f8'
[>] Starting the task...
[+] Task started. Report id: 6bf0ec08-9c60-4eb5-a0ad-33577a646c9b
[.] Awaiting for it to finish. This will take a long while...

8e77181c-07ac-4d2c-ad30-9ae7a281d0f8 Running 1% 192.168.86.61

Мы также наткнулись на сообщение в блоге по code16, которое представляет и объясняет их скрипт Python для взаимодействия с OpenVAS. Подобно сценарию Bash выше, вам нужно будет внести некоторые изменения в скрипт, если вы хотите настроить тип сканирования.

root@kali:~# ./code16.py 192.168.86.27
------------------------------------------------------------------------------
code16
------------------------------------------------------------------------------
small wrapper for OpenVAS 6

[+] Found target ID: 19f3bf20-441c-49b9-823d-11ef3b3d18c2
[+] Preparing options for the scan...
[+] Task ID = 28c527f8-b01c-4217-b878-0b536c6e6416
[+] Running scan for 192.168.86.27
[+] Scan started... To get current status, see below:

zZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzz
...
zZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzz

[+] Scan looks to be done. Good.
[+] Target scanned. Finished taskID : 28c527f8-b01c-4217-b878-0b536c6e6416
[+] Cool! We can generate some reports now ... :)
[+] Looking for report ID...
[+] Found report ID : 5ddcb4ed-4f96-4cee-b7f3-b7dad6e16cc6
[+] For taskID : 28c527f8-b01c-4217-b878-0b536c6e6416

[+] Preparing report in PDF for 192.168.86.27

[+] Report should be done in : Report_for_192.168.86.27.pdf
[+] Thanks. Cheers!

Благодаря широкому диапазону опций, доступных в OpenVAS, мы действительно смогли просто поцарапать поверхность в этом сообщении, но если вы потратите свое время и эффективно настройте свои проверки уязвимости, вы обнаружите, что плохая репутация OpenVAS и других сканеров уязвимостей незаслуженно. Количество подключенных устройств в наших домах и на рабочих местах постоянно увеличивается, и управление ими становится более сложной задачей. Эффективное использование сканера уязвимости может сделать это управление хотя бы немного проще.