Использование сканера уязвимостей OpenVAS

    Сканеры уязвимостей — это программные или аппаратные средства, служащие для осуществления диагностики и мониторинга сетевых компьютеров, позволяющее сканировать сети, компьютеры и приложения на предмет обнаружения возможных проблем в системе безопасности, оценивать и устранять уязвимости. (Википедия).
    Известными коммерческими сканерами являются Nessus, GFI LANguard, XSpider.

    В отличии от прочих, OpenVAS бесплатен, работает без каких либо ограничений и может пригодится как сетевым администраторам, так и специалистам ИБ для выявления актуальных проблем своей инфраструктуры.



    В основе работы OpenVAS-а лежит постоянно пополняемая коллекция NVT тестов безопасности (которых уже больше 30000), а также подключение к базе CVE, описывающей известные уязвимости. Исполнение NVT тестов позволяет выявить уязвимость, а CVE обеспечивает описание проблемы и способы её решения.

    Приступим.

    1. Выбор железа.
    Тут все просто, если предстоит сканировать часто и большие диапазоны адресов, то чем мощнее железо, тем лучше. Можно увеличивать число параллельных потоков обработки сетевых адресов, да и само сканирование по каждому хосту будет проходить быстрее.

    2. Установка.
    Тут я выбираю наименее проблемный для меня способ установки из пакетов.
    Заходим на адрес.
    www.openvas.org/install-packages.html
    Выбираем нужный дистрибутив и устанавливаем.

    В моем случае это CentOS и репозитарий atomicorp. Скрипт сам скачает все зависимости, проведет первоначальное обновление базы уязвимостей и пропишет нужные настройки. В процессе попросит придумать логин и пароль для доступа в Openvas.

    3. Использование.
    Переходим по адресу localhost:9392 вводим логин и пароль и мы в консоли управления Greenbone Security Assistant.



    Далее пример работы с Openvas для сканирования диапазона внутренней сети. Основные настройки заточены под оптимальную скорость проверки каждого хоста.

    3.1 Выбираем конфигурацию сканирования.
    Идем в раздел Configuration – Scan Configs.



    Видим 4 стандартных политики и 1 пустую.

    Политики делятся на 2 группы – fast и deep.
    Принципиальное различие — в deep не учитывается работа каждого предыдущего скрипта проверки и сбор информации начинается заново.

    По моим тестам, это существенно увеличило время сканирования каждого хоста, при отсутствии значимого результата. Поэтому поэтому для большей скорости выбираем политику Full and fast ultimate и клонируем ее нажав на значок овечки .
    Теперь, для клона, нам доступны опции редактирования и нажав на значок гаечного ключа , заглянем внутрь.



    Опций великое множество, несколько сотен, на скрине, только самое начало. Все опции сгруппированы по подразделам NVT тестов по различным типам операционных систем и сетевого оборудования, по настройкам различных подключаемых утилиты типа nmap, nikto и др.

    Называем нашу новую политику Office_scan_config.

    Спустимся ниже.



    Обращаю внимание на следующие пункты.

    safe_check–отключение позволит запускаться потенциально опасным NVT тестам, выполнение которых может вызвать падение тестируемого хоста. Использовать аккуратно.

    optimize_test– переключатель который задает использовать fast или deep сканирование.

    Далее спускаемся до пунктов PingHost и выставляем переключатели, как на скриншоте.



    Это позволит сразу исключать пустые адреса и не тратить на них время сканера. Остальные пункты не трогаем.
    Не забываем сохранить принятые изменения.

    3.2 Прописываем учетную запись для проведения локальных проверок.
    Если данный пункт сконфигурирован, то Openvas будет заходить на каждую машину, сканировать установленный софт, локальные настройки безопасности и выкидывать алерты, в случае обнаружения проблем.
    Естественно это увеличит время сканирования.

    Если не конфигурировать, Openvas ограничится удаленными проверками.

    Идем в раздел Configuration –Credentials.
    Создаем новую запись, нажав на значок звездочки .
    Допустим у нас windows сеть в домене, есть пользователь sec_check, с правами локального администратора на нужных машинах, тогда это будет выглядеть так.



    Сохраняем и идем дальше.

    3.3 Устанавливаем цели сканирования.
    Далее нам нужно забить диапазон адресов для сканирования и определится с набором портов, которые будет проверять Openvas.

    Идем в раздел Configuration –Target. Создаем новую цель, нажав на значок звездочки. Задаем ей имя office.



    Тут в принципе все понятно, в разделе SMB, мы подключили ранее созданного пользователя для проведения локальных проверок.
    В разделе PortList, подключается нужный диапазон портов, в данном случае предлагаемый Nmap-ом набор популярных портов. Выбор в пользу такого диапазона, сделан опять же в пользу оптимизации, дабы не лопатить все 65 тысяч.
    В разделе Hosts указываем диапазон ip.

    3.4 Запуск!
    Идем в раздел ScanManagement — Task. Создаем новую задачу, нажав на значок звездочки.

    Последовательно выбираем ранее созданные конфигурации и нажимаем на кнопку CreateTask.



    Стартуем.
    Идем пить чай.В зависимости от насыщенности сети и мощности сервера, процесс может занять до нескольких часов.



    По окончанию процесса мы можем нажать на значок лупы и просмотреть все найденные проблемы.



    Типичный алерт.


    4. Обновления.
    Периодически необходимо подкачивать актуальные сведения об уязвимостях и тесты их выявляющие.
    Делается это либо из браузера в разделе Administration. (поочередно во всех 3-х разделах: nvt,scap,cert)



    Либо из командной строки, последовательными командами.

    openvas-nvt-sync
    openvassd
    openvasmd --rebuild
    openvas-scapdata-sync
    openvas-certdata-sync
    killall openvassd
    /etc/init.d/openvas-scanner restart
    /etc/init.d/openvas-manager restart
    /etc/init.d/openvas-administrator restart
    /etc/init.d/greenbone-security-assistant restart

    Обладатели мощного железа, могут заглянуть в раздел Settings и выставить большее кол-во параллельных потоков.



    Полезные приемы работы в Greenbone Security Assistant. можно найти тут

    www.greenbone.net/learningcenter/index.html

    Успехов в использовании.
    Поделиться публикацией

    Комментарии 17

      0
      Решение хорошее, пользовались, но сравнение в заголовке не достаточно корректное.

      GFI LANguard в данном случае более мощное средство, т.к. помимо общедоступных уязвимостей «по словарю» может проверять наличие (и автоматически устанавливать) обновлений и патчей, т.к. именно неактуальное ПО в большинстве случаев является целью для атакующих, а также проводить подробную инвентаризацию аппаратного и программного обеспечения с возможностью сравнивать результат с предыдущими отчетами для выявления несанкционированно установленного ПО или внешних устройств передачи данных.
        0
        Да, самое сладкое, это подождать когда LANguard постучится на твою рабочку с SMBAuth, и про релееть на другую тачку 8)

        Как аналог вектора: dsecrg.ru/pages/vul/show.php?id=318 // vimeo.com/25424029
          +1
          Это я к тому, что запускать клевые сканеры, не значит делать что-то «защищенее», а иногда даже наоборот — делать что-то более уязвимым, и как примеры все эти навороты с «автоапдейтами» ЛанГуарда, Касперским или DLP системами, которые настроены на использование доменной учетки с привелегиями локального админа для рабочек/серверов в сети с NTLM 8)

          Поэтому иногда лучше без этих изысков с «автообновлениями». Тем более, что никто, по хорошему, не даст ставить автоапдейты на продакшн сервера 8)
            0
            Потому и нужно использовать открытые операционные системы. Лучше Linux =)
            Там нет NTLM, протоколы управления шифруются, ровно как и обновления проходят проверку при помощи PGP.

            И можно держать свой локальный репозиторий, полностью контролируя сборку и версию различных пакетов.

              0
              Так и делают хорошие люди 8) Но это оффтопик. Тут про средства сканирования разговор. Пункт 3.2 — дыра. Автор сам ее создает.
                0
                Если по подсетке пойдет, в которой возможна подстава в виде SMBRelay…
                  0
                  Вы имеете в виду отсутствие гетерогенности?))

                  Со связкой семерка-ХР, вроде решили вопрос.
                  Как сейчас обстоят дела, если честно, не совсем в курсе.
                    0
                    Кстати, мы можем банально совершить arp spuffing и потом, поймав хендшейк, побрутить хеш.

                    Это я про тот же 3.2.
                    Это открывает неплохое поле для деятельности злоумышленника.
                  0
                  Linux это хорошо :)

                  Но вот задал я вопрос одному товарищу с over 2000 линуксовых тачек в корпоративной сети такой вопрос.

                  Допустим где-нибуть у юзера заведется маленький несанкционированный самописный исполняемый модуль, будет сидеть себе полезное дело делать.
                  Что-то есть, что отреагирует на такую ситуацию?
                  Под винду, например, полуавтоматизированных систем антируткитового и поведенческого анализа хватает. (в силу того что ней традиционно повышен интерес).
                  Что используете на таком количестве linux-ов?


                  Ответ был удручающий…
                    –1
                    В силу четко очерченных прав пользователя, его самописный скрипт максимум в пределах его домашней папки порезвится. Насколько я знаком с Linux, права настраиваются более гибко и надежно нежели в винде. Имхо, конечно.
                      –1
                      Чего удручающий?
                      Если в любом случае ставится пассивный сканер, какая ему разница что за операционная система?

                      Ну и правильно было сказано ниже, запрет на запуск из домашней директории решит все вопросы =)
                        0
                        Уважаемый товарищ, сливший мне карму, поясните ниже, пожалуйста, что вас не устроило.

                        Что пассивный сканер в сети распознает подозрительную активность вне зависимости от операционной системы?
                        Или то что запрет на запуск из директории пользователя решает большинство проблем?

                        Я очень хочу почитать мнение эксперта в данном вопросе.
                  0
                  Я например выборочно сканирую по отдельным известным адресам с включением локальных проверок… Сканировать все подряд таким способом, все-таки слишком долго. А так как набор ПО на рабочих станциях и серверах стандартизирован. Если найдется проблема на 1, то она будет присутствовать и на других с большой вероятностью.

                  Что касается самого вектора атаки. То уж если случилось такое событие как проникновение хакера, и закрепление его в сети, такое что он сможет подкачивать себе спец софт на взломанную тачку. То это тушите свет. Способов и без релея найдется вагон и тележка, даже если не будет активных сканеров в сети.
                +1
                Можно категорически не согласиться с настройками сканирования?

                Вы используете только ICMP Ping, но отключаете даже TCP.
                Админы часто отключают ICMP Echo-Request и вы рискуете исключить все важные объекты из списка сканирования.

                При тестировании на проникновение хорошим тоном считается сканировать именно через nmap и не сканировать через ICMP.
                  0
                  Конечно можно не согласится. :)
                  В данном посте идет речь о сканировании именно своих сетей на предмет проблем. И вы, как владелец сети, наверняка знаете где ICMP включен, а где нет.
                  Естественно, если у вас запрет ICMP, то вы перенастроите Openvas под эти условия.
                    0
                    Ну, это да.
                    Только, на мой взгляд, при проверке нужно думать как хакер и действовать как хакер.
                    А то слишком предвзято получается.
                    В погоне за скоростью сканирования можно многое упустить.
                  0
                  Сегодня ставил копию сканера под любимым debian-ом.
                  При первом старте комманды openvas-certdata-sync выскочил косячок
                  cannot open /usr/share/openvas/cert/cert_db_init.sql: No such file
                  Решение простое
                  blog.hikerell.com/index.php?load=read&id=4

                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                  Самое читаемое