• XSS.stack #1 – первый литературный журнал от юзеров форума

Vuls Vulnerability Scanner

tabac

CPU register
Пользователь
Регистрация
30.09.2018
Сообщения
1 610
Решения
1
Реакции
3 332
Vuls Vulnerability Scanner

VULS — это сканер уязвимостей безопасности для Linux.

Он загружает NVD (National Vulnerability Database) и вставляет в базу данных sqlite. Vuls построил словарь CVE для этого файла sqlite. Серверы подключаются с использованием авторизации на основе ключа, поэтому нам нужно сгенерировать ключи ssh и подтвердить авторизацию между серверами и целью сканирования.

Поскольку, vuls является сканером для инсайдеров. Логика системы vuls — это поиск автоматических обновлений и, таким образом, предоставление незащищенных пакетов в системе.

Основные функции
  • Сканировать любые уязвимости в Linux Server
  • Сканирование промежуточного программного обеспечения, библиотек языка программирования и структуры для уязвимости
  • Программное обеспечение для поддержки, зарегистрированное в CPE
  • Пользователь должен только настроить один компьютер, подключенный к другим целевым серверам через SSH
  • Автоматическое создание шаблона конфигурационного файл
  • Возможно уведомление по электронной почте и Slack (поддерживает японский язык)
  • Результат сканирования можно просмотреть на нужном программном обеспечении, терминале TUI Viewer.
В этой статье я дам инструкцию по установке Vuls-сканера на сервере Ubuntu 16.04. Давайте пройдем через этапы установки.

1) Предварительные требования

Vuls требует установки следующих пакетов для обеспечения нормальной работы:

  • sqlite3
  • git
  • gcc
  • go v1.6 or above
Чтобы установить Sqlite3, используйте следующие команды:
Код:
# apt-get update
# apt-get install sqlite3 libsqlite3-dev
Чтобы установить git и gcc, вы можете использовать следующую команду:
# apt-get install git gcc
Выполните следующие шаги, чтобы установить Go на сервер.

В зависимости от архитектуры нашего сервера мы можем загрузить необходимый пакет и извлечь его для установки.
# wget [URL='https://storage.googleapis.com/golang/go1.6.2.linux-amd64.tar.gz']https://storage.googleapis.com/golang/go1.6.2.linux-amd64.tar.gz[/URL]
Я загрузил пакет для 64-битной архитектуры.
# mkdir /root/go
Добавьте эти строки в /etc/profile.d/goenv.sh
Код:
# cat /etc/profile.d/goenv.sh</span>
export GOROOT = / usr / local / go
export GOPATH = $ HOME / go
export PATH = $ PATH: $ GOROOT / bin: $ GOPATH / bin
# source /etc/profile.d/goenv.sh
# go version
go version go1.6.2 linux/amd64

2) Включить аутентификацию по ключам SSH между серверами

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

Я просто создаю пару ключей SSH для своего локального сервера и добавляю открытый ключ к authorized_keys для включения локального сканирования.
Код:
# ssh-keygen -t rsa
# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# chmod 600 ~/.ssh/authorized_keys
3) Развернуть go-cve-dictionary

Теперь мы можем перейти в наш рабочий каталог и развернуть наш go-cve-dictionary. Как упоминалось ранее, vuls отслеживает любые новые уязвимости в NVD.
Код:
# cd /root/go
# go get github.com/kotakanbe/go-cve-dictionary
# ls
bin hello-world hello-world.go pkg src
#mkdir /var/log/vuls
#chmod 700 /var/log/vuls

Первым делом, go-cve-dictionary извлекает данные об уязвимости из NVD и вставляет в sqlite3.
Код:
# for i in {2002..2016}; do go-cve-dictionary fetchnvd -years $i; done

0 / 1 [------------------------------------------------------------------------------------------------------------------------------] 0.00%[Sep 21 07:44:13] INFO Fetching...https://static.nvd.nist.gov/feeds/xml/cve/nvdcve-2.0-2002.xml.gz

[Sep 21 07:44:15] INFO Fetched 6721 CVEs

[Sep 21 07:44:15] INFO Opening DB. datafile: /root/go/cve.sqlite3

[Sep 21 07:44:15] INFO Migrating DB

[Sep 21 07:44:15] INFO Inserting CVEs...

6721 / 6721 [====================================================================================================================] 100.00% 13s

[Sep 21 07:44:29] INFO Refreshed 6721 Nvds.


df91db5f-c4e8-4119-bacc-806b29648107.png

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

Код:
# go-cve-dictionary server

[Sep 22 05:47:48] INFO Opening DB. datafile: /root/go/cve.sqlite3

[Sep 22 05:47:48] INFO Migrating DB

[Sep 22 05:47:48] INFO Starting HTTP Server...

[Sep 22 05:47:48] INFO Listening on 127.0.0.1:1323

# ls -alh cve.sqlite3

-rw-r--r-- 1 root root 561M Sep 21 07:53 cve.sqlite3

4) Разворачивание vuls

Запустите эту команду для развертывания vuls.
# go get github.com/future-architect/vuls

5) Создание конфигурации vuls

Мы можем создать файл конфигурации vuls в формате TOML для сканирования целевых серверов.

Я только изменил файл конфигурации vuls для сканирования моего локального сервера.
Код:
# cat config.toml
[servers] [servers.45-33-77-70] host = "45.33.77.70"
port = "22"
user = "root"
keyPath = "/root/.ssh/id_rsa"
Вы можете добавить столько серверов, сколько вам нужно в файле конфигурации и запустить проверку конфигурации.
Код:
# vuls configtest
[Sep 21 03:01:56] INFO [localhost] Validating Config...
[Sep 21 03:01:56] INFO [localhost] Detecting Server/Contianer OS...
[Sep 21 03:01:56] INFO [localhost] Detecting OS of servers...
[Sep 21 03:01:57] INFO [localhost] (1/1) Detected: 45-33-77-70: ubuntu 16.04
[Sep 21 03:01:57] INFO [localhost] Detecting OS of containers...
[Sep 21 03:01:57] INFO [localhost] Checking sudo configuration...
[Sep 21 03:01:57] INFO [45-33-77-70] sudo ... OK
[Sep 21 03:01:57] INFO [localhost] SSH-able servers are below...
45-33-77-70

6) Настройка целевых серверов для vuls

Вы можете запустить эту команду «vuls prepare», чтобы настроить все целевые серверы, указанные в файле конфигурации vuls.
Код:
# vuls prepare

INFO[0000] Start Preparing (config: /config.toml)

[Sep 21 03:02:46] INFO [localhost] Detecting OS...

[Sep 21 03:02:46] INFO [localhost] Detecting OS of servers...

[Sep 21 03:02:46] INFO [localhost] (1/1) Detected: 45-33-77-70: ubuntu 16.04

[Sep 21 03:02:46] INFO [localhost] Detecting OS of containers...

[Sep 21 03:02:46] INFO [localhost] Checking sudo configuration...

[Sep 21 03:02:46] INFO [45-33-77-70] sudo ... OK

[Sep 21 03:02:46] INFO [localhost] Installing...

[Sep 21 03:02:46] INFO [45-33-77-70] apt-get update...

7) Начать сканирование

Мы можем сканировать наши серверы с помощью команды «vuls scan».

Код:
# vuls scan -report-json -cve-dictionary-dbpath=/root/go/cve.sqlite3

INFO[0000] Start scanning

INFO[0000] config: /root/go/vuls/config.toml

INFO[0000] cve-dictionary: /root/go/cve.sqlite3

dacfff82-9a99-4bb9-8780-48cd63d82a5a.png

Мы можем даже получить пользовательский интерфейс на основе терминала, чтобы просмотреть наш отчет о сканировании. Вы можете запустить эту команду «vuls tui» для доступа к ней.

e1be3321-f6ff-46b2-a886-607c3fa818f9.png


(c) by }{@kep
(c) http://itsecforu.ru/2017/09/20/как-установить-и-настроить-vuls-vulnerability-scanner-в-linux/
 
ЛОЛ, по полочкам все разложено, даже установка. Эх бля, 21 век, хаккидс мне б так инфу в далеком 2003 предоставляли, ща б на карибах 5 этажный дом был б
 
QwEQw3RtyY как я понял, это или для своей системы (для безопасников), или для системы в которой ты уже внутри (ну или инсайд, но скажем сотрудника банка запалят с этим инструментом мгновенно :D ). Что для нашего брата в принципе не нужно, т.к. мы уже внутри а значит задача выполнена ;) , поднимать таким образом привелегии в системе - дикое паливо, есть проще и беспалевней методы практически без автоматизации и без засирания логов. Тебе бы это дом не помогло построить :D , а вот наоборот знание как проникнуть в систему - вполне. Не с того начал. К слову, NVD была запущена только в 2005, что в 2003 тебе бы не помогло никак =) Тогда была OSVDB (пару лет назад закрылись) но и она бы тебе не помогла, была очень сырая (хотя и охватывала каким то х.ем аж 113-летний период) и только для избранных Да в принципе это и не нужно тебе, а вот для безопасников с кучей серваков и сервисов в защищаемой системе - очень даже полезный инструмент.
 
ну и не для опасников, тоже норм сканер. ) С утра уже начал тестировать.

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


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх