На "Хакере", вроде приват был, но сейчас смотрю в паблик выложили, поэтому можно скопипастить, статья интересная, также в конце статьи опубликую линк на источник !
Часто нужно узнать всю информацию о какой-нибудь уязвимости: насколько найденный баг критичен, есть ли готовые сплоиты, какие вендоры уже выпустили патчи, каким сканером проверить наличие бага в системе. Раньше приходилось иcкать вручную по десятку источников (CVEDetails, SecurityFocus, Rapid7 DB, Exploit-DB, базы уязвимостей CVE от MITRE/NIST, вендорские бюллетени) и анализировать собранные данные. Сегодня эту рутину можно (и нужно!) автоматизировать с помощью специализированных сервисов. Один из таких — Vulners, крутейший поисковик по багам. А главное — бесплатный и с открытым API. Посмотрим, чем он может быть нам полезен.
Что это такое
Vulners — это очень большая и непрерывно обновляемая база данных ИБ-контента. Сайт позволяет искать уязвимости, эксплоиты, патчи, результаты bug bounty так же, как обычный поисковик ищет сайты. Vulners агрегируeт и представляет в удобном виде шесть основных типов данных:
Вендоры, от которых собирается и анализируется инфа в Vulners
В отличие от других баз, которые описывают баги в специальном формализованном виде (например, на языке OVAL-баз
Кто и на чем пишет Vulners?
Vulners пилят на энтузиазме в свободное от основной работы время пять человек:
Весь движок Vulners написан на Python + Django, в качестве базы взята MongoDB + Elasticsearch. MongoDB используется только для закладки данных роботами — сборщиками информации, Elasticsearch только для фронтенда. Деплой производится с Bitbucket’а скриптом. Масштабирование заложено прямо в ядре: MongoDB и Elasticsearch шардятся. Фабрика роботов написана хостонезависимой и может гоняться отдельно от всего проекта. Одна из крутых фишек — ребята уже полностью перешли на Python 3.5+ и
На текущий момент в базе Vulners 319 557 бюллетеней и 144 684 эксплоита. А занимает все это в базе меньше 2 Гбайт. Такая компактность достигается за счет дедупликации и упаковывания. Все лежит в оперативной памяти, поэтому скорость поиска значительно увеличивается. Стоит упомянуть и то, что Vulners защищается WAF Wallarm, работающим в блокирующем режиме.
Архитектура Vulners
Но довольно слов, давай попробуем что-нибудь поискать.
Пробуем искать
Первое, что видишь, когда заходишь на Vulners.com, — это, конечно же, строка поиска. Просто введи название приложения, сайта или CVE-код уязвимости, и Вульнерс выдаст тебе все последние публичные баги по этому продукту со ссылками на эксплоиты, плагины для детекта и различные публикации.
Типовая выдача Vulners по багам WordPress. Обрати внимание: данные обновляются постоянно и в автоматическом режиме
Естественно, простые запросы вроде «wordpress» или «xakep.ru» рассматривать скучно, с этим ты и сам разберешься. Давай посмотрим, что интересного умеет Vulners.
Задача: найти критичные баги CentOS со ссылками на сплоиты
Запрос: type:centos order:published
Vulners позволяет фильтровать результаты поиска и/или сортировать их по любому полю баги:
Благодаря этому мы можем сформировать сложный запрос типа type:centos cvss.score:[8 TO 10] order:published, что означает «найди мне все новые баги CentOS, где CVSS Score от 8 до 10, то есть критичный». Поскольку Вульнерс автоматически связывает с багой все собранные данные, на странице CVE ты увидишь доступные патчи и эксплоиты.
Также результаты выполнения этого запроса можно получать при помощи API — это пригодится тебе в автоматизированных сканерах. Для этого достаточно сделать GET-запрос на
Еще один полезный параметр API-запросов — references=true, который позволяет получить в результатах запроса не только объекты безопасности, но и все их связи (плагины детекта, эксплоиты и прочее). Например, такой запрос:
Графическое задание запроса
Получаем больше двадцати записей от Vulners:
По умолчанию Vulners отдает только первые двадцать записей запроса. Если хочется больше, нужно задать параметр size. Так можно получить до 10 000. А если и этого мало, то можно запрашивать несколько раз по 10 000, пропуская уже полученные результаты при помощи параметра skip.
Задача: обосновать IT-департаменту, зачем нужен патч-менеджмент (или просто найти все сплоиты по определенной баге :))
Запрос: cvelist:CVE-2014-0160 type:exploitdb
При помощи Vulners сравнительно просто обосновать IT-департаменту, почему уязвимости, обнаруженные сканером, действительно опасны и их стоит патчить. Для этого можно показать список эксплоитов, найденных по номеру CVE или другому идентификатору. Доступен поиск по Exploit-DB или Metasploit. На одной странице будет и описание, и исходники эксплоита, по которым также можно искать.
Ищем сплоиты по CVE-2014-0160
Как видим, на странице эксплоита приводится его полный текст. По этому тексту также можно искать.
Эксплоит можно просмотреть в удобной превьюшке
Задача: узнать, сколько денег и на каких bug bounty заработал определенный хакер
Запрос: isox order:bounty
Уникальная фича Vulners — поиск по баг-баунти. Можно найти, какие уязвимости софта зарепортил исследователь, и посмотреть его достижения в bug bounty программах. Результаты можно сортировать по командам, исследователям, цене и прочему.
Например, ищем по нику, сортируем по размеру вознаграждения за баг-баунти:
Пример поиска по bounty
Вульнерс нашел зарепорченную багу в Mail.Ru, за которую заплатили 400 долларов
А если уточнить в запросе reporter, можно считать чужие деньги, что стыдно, но любопытно.
Ответ (в долларах):2640
Также можно искать примеры реальных SQL-инъекций или уязвимостей, которые находили на конкретном сервисе, например на Vimeo: type:hackerone Vimeo.
Ищем зарепорченные на HackerOne баги по сервису Vimeo
Задача: найти баги по плагинам Nessus
Запрос: type:nessus order:published
Поиск по плагинам
Пример поиска по Nessus
Найденная уязвимость с GNU C Library
Еще одна крутая особенность Vulners — возможность искать по уязвимостям более чем 13 000 топовых Android-приложений из Google Play! Store US через базу HackApp. Для поиска нужно указать тип type:hackapp.
Бот для Telegram с подписками на результаты запроса
В апреле Vulners запустили
Бот позволяет делать запросы, так же как на сайте.
Но главное — с его помощью можно создавать настраиваемые подписки на security content.
Пользоваться просто. Отправь боту сообщение /subscribe и свой поисковый запрос и получай новые результаты поиска, как только они будут появляться на Vulners.
Этот сервис может помочь безопасникам оставаться в курсе публикации новых уязвимостей. Ребята из эксплуатации могут подписаться на рассылки по программному обеспечению, которое используют. Пентестеры — оперативно получать информацию об эксплуатации уязвимостей на практике.
Хочешь просмотреть свежие публикации CVE? Нет проблем:
/subscribe type:cve
Хочешь видеть апдейты по эксплоитам?
/subscribe bulletinFamily:exploit
Твои серверы работают под Debian? Следи за их безопасностью!
/subscribe type:debian
А у Vulners есть альтернативы?
Vulners — не единственный агрегатор уязвимостей. Есть, к примеру, базы Secunia и OSVDB, но одна закрылась 5 апреля, а другая платная.
Еще существует отечественный
Выводы
Vulners — уникальный и незаменимый помощник любому хакеру и безопаснику. Он очень сильно экономит время при исследовании и эксплуатации сложных векторов атак. Конечно, инструмент только развивается, но уже сейчас он вполне юзабелен. А что еще более важно, Vulners открытый и бесплатный для конечного пользователя и всегда будет таким.
Кстати, уязвимости, найденные на vulners.com, можно сабмитить на
Удачи!
Оригинал более полной статьи:
Часто нужно узнать всю информацию о какой-нибудь уязвимости: насколько найденный баг критичен, есть ли готовые сплоиты, какие вендоры уже выпустили патчи, каким сканером проверить наличие бага в системе. Раньше приходилось иcкать вручную по десятку источников (CVEDetails, SecurityFocus, Rapid7 DB, Exploit-DB, базы уязвимостей CVE от MITRE/NIST, вендорские бюллетени) и анализировать собранные данные. Сегодня эту рутину можно (и нужно!) автоматизировать с помощью специализированных сервисов. Один из таких — Vulners, крутейший поисковик по багам. А главное — бесплатный и с открытым API. Посмотрим, чем он может быть нам полезен.
Что это такое
Vulners — это очень большая и непрерывно обновляемая база данных ИБ-контента. Сайт позволяет искать уязвимости, эксплоиты, патчи, результаты bug bounty так же, как обычный поисковик ищет сайты. Vulners агрегируeт и представляет в удобном виде шесть основных типов данных:
- Популярные базы уязвимостей. Они содержат общие описания уязвимостей и ссылки на источники. Например, известная
Вы должны зарегистрироваться, чтобы увидеть внешние ссылкиамериканского агентства MITRE и института NIST. Но, помимо информации из нее, в Vulners добавляются общие описания уязвимости и других исследовательских центров и центров реагирования:Вы должны зарегистрироваться, чтобы увидеть внешние ссылки,Вы должны зарегистрироваться, чтобы увидеть внешние ссылки,Вы должны зарегистрироваться, чтобы увидеть внешние ссылки,Вы должны зарегистрироваться, чтобы увидеть внешние ссылки,Вы должны зарегистрироваться, чтобы увидеть внешние ссылки, Positive Technologies, ERPScan.
- Вендорские бюллетени безопасности. Это баг-репорты, которые пишут сами вендоры об уязвимостях в своих продуктах. Сейчас это разнообразные дистрибутивы Linux (Red Hat CentOS, Oracle Linux, Arch Linux, Debian, Ubuntu, SUSE), FreeBSD, сетевые устройства (F5 Networks, Cisco, Huawei, Palo Alto Networks) и популярные и критичные программы (OpenSSL, Samba, nginx, Mozilla, Opera), в том числе и CMS (WordPress, Drupal).
- Эксплоиты из Exploit-DB и Metasploit. Они парсятся и сохраняются полностью, с исходниками (их можно сразу смотреть в удобном редакторе).
- Nessus-плагины для детекта уязвимостей. Легко посмотреть, можно ли найти ту или иную уязвимость при сканировании сети этим популярным сканером.
- Дисклозы багов с сайтов bug bounty программ. В Vulners поддерживаются записи с HackerOne.
- Публикации на тематических ресурсах. Собираются данные с Threatpost и rdot.org, где часто освещают темы, связанные с уязвимoстями.
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Вендоры, от которых собирается и анализируется инфа в Vulners
В отличие от других баз, которые описывают баги в специальном формализованном виде (например, на языке OVAL-баз
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
или
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
), Vulners хранит данные в формализованном виде и автоматически устанавливает связи между ними, быстро ищет и красиво отображает результаты поиска. Что с этим делать, целиком зaвисит от фантазии конечного пользователя.Кто и на чем пишет Vulners?
Vulners пилят на энтузиазме в свободное от основной работы время пять человек:
- Кирилл «
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки» Ермаков пишет ядро и админит;
- Игорь «
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки» пишет поиск;
- Ваня «
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки» пишет фронт;
- Саша «
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки» пишет роботов-сборщиков;
-
Вы должны зарегистрироваться, чтобы увидеть внешние ссылкипишет статьи и аналитику.
Весь движок Vulners написан на Python + Django, в качестве базы взята MongoDB + Elasticsearch. MongoDB используется только для закладки данных роботами — сборщиками информации, Elasticsearch только для фронтенда. Деплой производится с Bitbucket’а скриптом. Масштабирование заложено прямо в ядре: MongoDB и Elasticsearch шардятся. Фабрика роботов написана хостонезависимой и может гоняться отдельно от всего проекта. Одна из крутых фишек — ребята уже полностью перешли на Python 3.5+ и
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
в своем проекте. Так что поиск не всегда работает точно, но всегда очень быстро :).На текущий момент в базе Vulners 319 557 бюллетеней и 144 684 эксплоита. А занимает все это в базе меньше 2 Гбайт. Такая компактность достигается за счет дедупликации и упаковывания. Все лежит в оперативной памяти, поэтому скорость поиска значительно увеличивается. Стоит упомянуть и то, что Vulners защищается WAF Wallarm, работающим в блокирующем режиме.
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Архитектура Vulners
Но довольно слов, давай попробуем что-нибудь поискать.
Пробуем искать
Первое, что видишь, когда заходишь на Vulners.com, — это, конечно же, строка поиска. Просто введи название приложения, сайта или CVE-код уязвимости, и Вульнерс выдаст тебе все последние публичные баги по этому продукту со ссылками на эксплоиты, плагины для детекта и различные публикации.
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Типовая выдача Vulners по багам WordPress. Обрати внимание: данные обновляются постоянно и в автоматическом режиме
Естественно, простые запросы вроде «wordpress» или «xakep.ru» рассматривать скучно, с этим ты и сам разберешься. Давай посмотрим, что интересного умеет Vulners.
Задача: найти критичные баги CentOS со ссылками на сплоиты
Запрос: type:centos order:published
Vulners позволяет фильтровать результаты поиска и/или сортировать их по любому полю баги:
- по типу бюллетеня;
- по CVSS Score;
- по дате;
- по номеру плагина детекта;
- по имени ресерчера.
Благодаря этому мы можем сформировать сложный запрос типа type:centos cvss.score:[8 TO 10] order:published, что означает «найди мне все новые баги CentOS, где CVSS Score от 8 до 10, то есть критичный». Поскольку Вульнерс автоматически связывает с багой все собранные данные, на странице CVE ты увидишь доступные патчи и эксплоиты.
Также результаты выполнения этого запроса можно получать при помощи API — это пригодится тебе в автоматизированных сканерах. Для этого достаточно сделать GET-запрос на
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
. В ответ придет отформатированный машиночитаемый JSON.Еще один полезный параметр API-запросов — references=true, который позволяет получить в результатах запроса не только объекты безопасности, но и все их связи (плагины детекта, эксплоиты и прочее). Например, такой запрос:
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
— выведет еще и все references, связные элементы из базы.
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Графическое задание запроса
Получаем больше двадцати записей от Vulners:
По умолчанию Vulners отдает только первые двадцать записей запроса. Если хочется больше, нужно задать параметр size. Так можно получить до 10 000. А если и этого мало, то можно запрашивать несколько раз по 10 000, пропуская уже полученные результаты при помощи параметра skip.
Задача: обосновать IT-департаменту, зачем нужен патч-менеджмент (или просто найти все сплоиты по определенной баге :))
Запрос: cvelist:CVE-2014-0160 type:exploitdb
При помощи Vulners сравнительно просто обосновать IT-департаменту, почему уязвимости, обнаруженные сканером, действительно опасны и их стоит патчить. Для этого можно показать список эксплоитов, найденных по номеру CVE или другому идентификатору. Доступен поиск по Exploit-DB или Metasploit. На одной странице будет и описание, и исходники эксплоита, по которым также можно искать.
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Ищем сплоиты по CVE-2014-0160
Как видим, на странице эксплоита приводится его полный текст. По этому тексту также можно искать.
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Эксплоит можно просмотреть в удобной превьюшке
Задача: узнать, сколько денег и на каких bug bounty заработал определенный хакер
Запрос: isox order:bounty
Уникальная фича Vulners — поиск по баг-баунти. Можно найти, какие уязвимости софта зарепортил исследователь, и посмотреть его достижения в bug bounty программах. Результаты можно сортировать по командам, исследователям, цене и прочему.
Например, ищем по нику, сортируем по размеру вознаграждения за баг-баунти:
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Пример поиска по bounty
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Вульнерс нашел зарепорченную багу в Mail.Ru, за которую заплатили 400 долларов
А если уточнить в запросе reporter, можно считать чужие деньги, что стыдно, но любопытно.
Код:
$ curl "https://vulners.com/api/v3/search/lucene/?query=type%3Ahackerone+order%3Alastseen+reporter%3Aisox" 2>/dev/null | awk '{if($0~"\"bounty\""){gsub(",","",$2)}; earn+=$2 }END{print earn}'
Также можно искать примеры реальных SQL-инъекций или уязвимостей, которые находили на конкретном сервисе, например на Vimeo: type:hackerone Vimeo.
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Ищем зарепорченные на HackerOne баги по сервису Vimeo
Задача: найти баги по плагинам Nessus
Запрос: type:nessus order:published
Поиск по плагинам
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
— также уникальная фича Vulners. Так, запрос выше выведет список последних добавленных плагинов.
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Пример поиска по Nessus
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Найденная уязвимость с GNU C Library
Еще одна крутая особенность Vulners — возможность искать по уязвимостям более чем 13 000 топовых Android-приложений из Google Play! Store US через базу HackApp. Для поиска нужно указать тип type:hackapp.
Бот для Telegram с подписками на результаты запроса
В апреле Vulners запустили
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
:
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Бот позволяет делать запросы, так же как на сайте.
Но главное — с его помощью можно создавать настраиваемые подписки на security content.
Пользоваться просто. Отправь боту сообщение /subscribe и свой поисковый запрос и получай новые результаты поиска, как только они будут появляться на Vulners.
Этот сервис может помочь безопасникам оставаться в курсе публикации новых уязвимостей. Ребята из эксплуатации могут подписаться на рассылки по программному обеспечению, которое используют. Пентестеры — оперативно получать информацию об эксплуатации уязвимостей на практике.
Хочешь просмотреть свежие публикации CVE? Нет проблем:
/subscribe type:cve
Хочешь видеть апдейты по эксплоитам?
/subscribe bulletinFamily:exploit
Твои серверы работают под Debian? Следи за их безопасностью!
/subscribe type:debian
А у Vulners есть альтернативы?
Vulners — не единственный агрегатор уязвимостей. Есть, к примеру, базы Secunia и OSVDB, но одна закрылась 5 апреля, а другая платная.
Еще существует отечественный
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
, но они хранят только описания самих уязвимостей и больше ничего (нет данных об эксплоитах), да и те, честно говоря, формализованы не очень. К тому же «Банк данных угроз безопасности информации» не предоставляет открытого API, то есть использовать его в автоматизированных сканерах не получится.Выводы
Vulners — уникальный и незаменимый помощник любому хакеру и безопаснику. Он очень сильно экономит время при исследовании и эксплуатации сложных векторов атак. Конечно, инструмент только развивается, но уже сейчас он вполне юзабелен. А что еще более важно, Vulners открытый и бесплатный для конечного пользователя и всегда будет таким.
Кстати, уязвимости, найденные на vulners.com, можно сабмитить на
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
. Искать можно все что угодно. Так как проект бесплатный, то и финансирования для выплаты вознаграждений нет, но public disclosure разработчики гарантируют. Email для связи support@vulners.com, прочие контактные данные
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
.Удачи!
Оригинал более полной статьи:
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Последнее редактирование: