У компании cloudflare в их github репозитории есть небольшой продукт на основе nmap и скрипта vulners.nse - Flan. Он ничего особенного не делает, кроме небольшой автоматизации по передачи списка ip адресов для сканирования. Плюс, поддерживает разные форматы вывода результатов: html, json, xml, markdown. Также он умеет складывать результаты тестов в GCS Bucket или AWS S3 Bucket.
Описание Flan есть в блоге cloudflare. Проект старый и особо не развивается, но там и развивать нечего. Та функциональность, что в него заложена, нормально работает и не требует обновления. Покажу сразу на примере, как он работает и что делает.
Клонируем к себе репозиторий:
Для того, чтобы понять, что тут будет происходить, достаточно посмотреть файлы Dockerfile и Makefile. Первый содержит простую инструкцию по сборке своего контейнера с nmap и скриптом nmap-vulners на борту. Дополнительно он копирует в контейнер python скрипты для поддержи различных форматов вывода.
Так что запуск сканирования выглядит следующим образом. Готовим список IP адресов в файле shared/ips.txt. Одиночные IP адреса нужно указывать без маски /32. Потом собираем контейнер. Все команды уже прописаны в Makefile, поэтому запускаем через него:
Чтобы всё получилось, Docker и make у вас должны стоять в системе. Если нет, то поставьте:
Когда соберётся образ, можно запускать сканирование:
Результат будет выведен в консоль. Чтобы вывести его в html файл для удобного просмотра, запускаем так:
Результат будет в директории shared/reports. Можно запустить веб сервер, чтобы быстро посмотреть html файлы:
Смотрим результат сканирования в удобочитаемом виде с активными ссылками на все CVE. Очень удобно. Можно этот процесс автоматизировать, поднять постоянный веб сервер и хранить результаты некоторое время.
Если не уважаете Docker, можете запускать без него. В Dockerfile всё показано, что надо сделать, для локального запуска. Надо поставить несколько пакетов, python модулей, забрать скрипты pthon и запускать run.sh.
Отдельно в репозитории рассказано, как всё это сканирование запускать в Kubernetes для проверки контейнеров.
Описание Flan есть в блоге cloudflare. Проект старый и особо не развивается, но там и развивать нечего. Та функциональность, что в него заложена, нормально работает и не требует обновления. Покажу сразу на примере, как он работает и что делает.
Клонируем к себе репозиторий:
# git clone https://github.com/cloudflare/flan
Для того, чтобы понять, что тут будет происходить, достаточно посмотреть файлы Dockerfile и Makefile. Первый содержит простую инструкцию по сборке своего контейнера с nmap и скриптом nmap-vulners на борту. Дополнительно он копирует в контейнер python скрипты для поддержи различных форматов вывода.
Так что запуск сканирования выглядит следующим образом. Готовим список IP адресов в файле shared/ips.txt. Одиночные IP адреса нужно указывать без маски /32. Потом собираем контейнер. Все команды уже прописаны в Makefile, поэтому запускаем через него:
# make build
Чтобы всё получилось, Docker и make у вас должны стоять в системе. Если нет, то поставьте:
# curl -o - https://get.docker.com | bash -
# apt install make
Когда соберётся образ, можно запускать сканирование:
# make start
Результат будет выведен в консоль. Чтобы вывести его в html файл для удобного просмотра, запускаем так:
# make html
Результат будет в директории shared/reports. Можно запустить веб сервер, чтобы быстро посмотреть html файлы:
# cd ~/flan/shared/reports
# python3 -m http.server 80
Смотрим результат сканирования в удобочитаемом виде с активными ссылками на все CVE. Очень удобно. Можно этот процесс автоматизировать, поднять постоянный веб сервер и хранить результаты некоторое время.
Если не уважаете Docker, можете запускать без него. В Dockerfile всё показано, что надо сделать, для локального запуска. Надо поставить несколько пакетов, python модулей, забрать скрипты pthon и запускать run.sh.
Отдельно в репозитории рассказано, как всё это сканирование запускать в Kubernetes для проверки контейнеров.