Инструменты анализа уязвимостей — это один из самых важных компонентов системы безопасности каждой компании. Проверка приложений и систем на наличие старых уязвимостей — обязательная практика. В этой статье мы рассмотрим лучшие сканеры уязвимостей, с открытым исходным кодом, которые вы можете использовать для обнаружения уязвимостей в своих системах и программах. Все они полностью свободны и могут использоваться как обычными пользователями, так и в корпоративном секторе.
1. OpenVAS
OpenVAS или Open Vulnerability Assessment System — это полноценная платформа для поиска уязвимостей, которая распространяется с открытым исходным кодом. Программа основана на исходном коде сканера Nessus. Изначально этот сканер распространялся с открытым исходным кодом, но потом разработчики решили закрыть код, и тогда, в 2005 году, на основе открытой версии Nessus был создан OpenVAS.
Программа состоит из серверной и клиентской части. Сервер, который выполняет основную работу по сканированию систем запускается только в Linux, а клиентские программы поддерживают в том числе Windows, к серверу можно получить доступ через веб-интерфейс.
Ядро сканера более 36000 различных проверок на уязвимости и каждый день обновляется с добавлением новых, недавно обнаруженных. Программа может обнаруживать уязвимости в запущенных сервисах, а также искать неверные настройки, например, отсутствие аутентификации или очень слабые пароли.
2. Nexpose Community Edition
Это еще один инструмент поиска уязвимостей linux с открытым исходным кодом, разрабатываемый компанией Rapid7, это та же самая компания, которая выпустила Metasploit. Сканер позволяет обнаруживать до 68000 известных уязвимостей, а также выполнять более 160000 сетевых проверок.
Версия Comunity полностью свободна, но она имеет ограничение, на одновременное сканирование до 32 IP адресов и только одного пользователя. Также лицензию нужно обновлять каждый год. Здесь нет сканирования веб-приложений, но зато поддерживается автоматическое обновление базы уязвимостей и получение информации об уязвимостях от Microsoft Patch.
Программу можно установить не только в Linux, но и в Windows, а управление выполняется через веб-интерфейс. С помощью него вы можете задать параметры сканирования, ip адреса и прочую необходимую информацию.
После завершения проверки вы увидите список уязвимостей, а также информацию об установленном программном обеспечении и операционной системе на сервере. Можно также создавать и экспортировать отчеты.
3. Burp Suite Free Edition
Burp Suite — это сканер веб-уязвимостей, написанный на Java. Программа состоит из прокси-сервера, паука, инструмента для генерации запросов и выполнения стресс тестов.
С помощью Burp вы можете выполнять проверку веб-приложений. Например, с помощью прокси сервера можно перехватывать и просматривать весть проходящий трафик, а также модифицировать его при необходимости. Это позволит смоделировать многие ситуации. Паук поможет найти веб-уязвимости, а инструмент генерации запросов — стойкость веб-сервера.
4. Arachni
Arachni — это полнофункциональный фреймворк для тестирования веб-приложений, написанный на Ruby, который распространяется с открытым исходным кодом. Он позволяет оценить безопасность веб-приложений и сайтов, выполняя различные тесты на проникновение.
Программа поддерживает выполнение сканирования с аутентификацией, настройкой заголовков, поддержкой подмены Aser-Agent, поддержка определения 404. Кроме того, у программы есть веб-интерфейс и интерфейс командной строки, сканирование можно приостановить, а затем снова проложить и в целом, все работает очень быстро.
5. OWASP Zed Attack Proxy (ZAP)
OWASP Zed Attack Proxy — еще один комплексный инструмент для поиска уязвимостей в веб-приложениях. Поддерживаются все, стандартные для такого типа программ возможности. Вы можете сканировать порты, проверять структуру сайта, искать множество известных уязвимостей, проверять корректность обработки повторных запросов или некорректных данных.
Программа может работать по https, а также поддерживает различные прокси. Поскольку программа написана на Java, ее очень просто установить и использовать. Кроме основных возможностей, есть большое количество плагинов, позволяющих очень сильно увеличить функциональность.
6. Clair
Clair — это инструмент поиска уязвимостей linux в контейнерах. Программа содержит список уязвимостей, которые могут быть опасны для контейнеров и предупреждает пользователя, если были обнаружены такие уязвимости в вашей системе. Также программа может отправлять уведомления, если появляться новые уязвимости, которые могут сделать контейнеры небезопасными.
Каждый контейнер проверяется один раз и для его проверки нет необходимости его запускать. Программа может извлечь все необходимые данные из выключенного контейнера. Эти данные сохраняются в кэш, чтобы иметь возможность уведомлять об уязвимостях в будущих.
7. Powerfuzzer
Powerfuzzer — это полнофункциональный, автоматизированный и очень настраиваемый веб-сканер, позволяющий проверить реакцию веб-приложения на некорректные данные и повторные запросы. Инструмент поддерживает только протокол HTTP и может обнаруживать такие уязвимости, как XSS, SQL инъекции, LDAP, CRLF и XPATH атаки. Также поддерживается отслеживание ошибок 500, которые могут свидетельствовать о неверной настройке или даже опасности, например, переполнении буфера.
8. Nmap
Nmap — это не совсем сканер уязвимостей для Linux. Эта программа позволяет просканировать сеть и узнать какие узлы к ней подключены, а также определить какие сервисы на них запущенны. Это не дает исчерпывающей информации про уязвимости, зато вы можете предположить какое из программного обеспечения может быть уязвимым, попытаться перебрать слабые пароли. Также есть возможность выполнять специальные скрипты, которые позволяют определить некоторые уязвимости в определенном программном обеспечении.
Мы рассмотрели программы, которые позволяют сканировать как саму операционную систему или же веб-приложения и сайты.