Giter Club home page Giter Club logo

bizone-crm's Introduction

BI.ZONE hackaton CVE-handler (Ballow.net)

В данном репозитории представленно решение кейса от компании Bi.ZONE: CVE-cravler бот для телеграмма, данный кейс был представлен в рамках хакатона КибХак. Решение подготовила команда Ballow.net

P.S. Бот работает под ником @b1zone_bot

Описание Кейса

🐂 Задача от BI.ZONE: Разработать CVE Crawler.

Вводная часть

Специалистам, работающим в области кибербезопасности необходимо всегда быть в курсе самых актуальных киберугроз, чтобы своевременно противостоять им. На текущий момент существует большее количество источников информации об уязвимостях и новых кибератаках - новостные веб-сайты, форумы, Telegram каналы, Jabber каналы и т.д. Однако, далеко не вся информация с источников бывает актуальной и применимой к конкретной компании. Для того чтобы найти актуальную для себя информацию, приходится тратить слишком много времени вычитывая различные ресурсы.

Существует множество решений, которые автоматизируют процесс поиска, например: https://t.me/pocfather_bot, https://nvd.nist.gov, https://github.com/carlospolop/BotPEASS/ или https://cvetrends.com с открытым API. Однако, такие решения показывают малое количество информации и не имеют возможности расширенной конфигурации отображаемых параметров. У нас в компании информацию по новым уязвимостям хотят получать разные подразделения, в частности:

  • Аналитики центра мониторинга киберугроз (SOC), чтобы своевременно уведомлять Клиентов о потенциальных уязвимостях и просить "пропатчиться";
  • Аналитики Web Application Firewall, чтобы своевременно разработать правила детектирования и реагирования;
  • Специалисты по тестированию (Pentest), для понимания новых возможных векторов кибератак;
  • Разработчики продуктов и сервисов кибербезопасности, для оптимизации механизмов противодействия киберугрозам.

Требования к разрабатываемому программному обеспечению

⚙️ Программное решение должно быть реализовано в виде Telegram бота;

⚙️ На программное решение должна быть разработана минимально необходимая документация, описывающая архитектуру, принципы использования и конфигурации программного обеспечения;

⚙️ В программном решении не должно быть "захардкожено" каких-либо параметров/секретов/ключей, которые не позволят переиспользовать его;

⚙️ Программное решение должно иметь функционал поиска CVE по номеру с выводом информации по найденой уязвимости;

⚙️ Должен быть реализован функционал отображения новых CVE за выбранный период времени 1 день/неделю/месяц (в идеале гибкий настраиваемый период) и возможностью преднастроить критерии вывода по максимальному количеству критериев (уровень критичности, оценка CVSS, наличие PoC, версия программного обеспечения, вендор и т.д). Пример логики работы: покажи мне все CVE, которые вышли за последний месяц под nginx версии 1.18.0, с CVSS больше 6, по которым есть PoC;

⚙️ Должен быть реализован функционал автоматического уведомления о новых зарегистрированных в мире CVE по заранее заданным критериям уведомления. Пример логики работы: присылай мне уведомление в Telegram, как только обнаружишь новую CVE под CentOS 7 с CVSS больше 6;

⚙️ Программное решение должно поддерживать конфигурацию отображаемых данных по любой CVE и при любом из трех выше описанных сценариев, из следующих полей (их добавление/изменение на усмотрение команды разработчиков на Хакатоне, если у изменения будет обоснованная причина)

  • Номер CVE (С кликабельной ссылкой на источник)
  • CVSS (2/3) рейтинг
  • Уровень критичности
  • Метрики CVSS (Вектор, сложность и т.д.)
  • EPSS рейтинг
  • Дата/время регистрации CVE
  • Продукт/вендор для которого характерна CVE
  • Уязвимые версии продукта
  • PoC/CVE WriteUp (С кликабельными ссылками, если есть)
  • Описание CVE Информация о количестве упоминаний о CVE в Twitter/Facebook/Telegram/Reddit/GitHub/Habr/Xaker
  • Необходимые действия по устранению уязвимости

Функционал

В данном решении представлен бот, выполняющий следующие действия:

  1. Поиск подробной информации о cve по ее уникальному идентификатору (id).
  2. Поиск подробной информации о cve по определенным параметрам: вендору, продукту, дате, cvss (v2 и v3), вектору и сложности.
  3. Вывод информации о популярных cve по количетву просмотров, твитов, ре твитов в твиторе, количеству постов в редите за последние время: день, неделю.
  4. Поиск poс-ов с помощью searchsploit.

Источники

  1. TrendsCve
  2. nist
  3. searchsploit
  4. first.org/epss/api

Состав команды Ballow.net

  • Лавренов В.И.
  • Аничков А.М
  • Сухов М.А.
  • Колосова С.В.

Запуск

Для удобного развертования приложения был испольльвон docker-compose

docker

Для более удобного запуска приложение был сделан специальный shell скрипт.

  • Запустить скрипт start_bot.prod.sh

no-docker

  • Создать файл logs/importer.log
  • Установить корневую (bisone-crm) рабочую директорию
  • Запустить

Документация по структуре бота хранится в папке doc

bizone-crm's People

Contributors

ewasince avatar dedmercy avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.