Обзор бесплатных сканеров защищенности веб-сайтов

Обзор бесплатных сканеров защищенности веб-сайтов

В данном обзоре рассматриваются бесплатные сканеры защищенности веб-сайтов — дается их определение, описывается принцип работы, приводятся краткие обзоры продуктов.

 

 

 

 

 

 

1. Введение

2. Что такое сканеры защищенности веб-сайтов

3. Принцип работы сканеров защищенности веб-сайтов

4. Категории сканеров защищенности веб-сайтов

5. Краткий обзор бесплатных сканеров защищенности веб-сайтов

5.1. Сетевые сканеры

5.1.1. Nmap

5.1.2. IP Tools

5.2. Сканеры поиска уязвимостей в веб-скриптах

5.2.1. Nikto

5.2.2. Skipfish

5.2.3. Wapiti

5.3. Средства поиска эксплойтов

5.3.1. Metasploit Framework

5.3.2. Nessus

5.4. Средства автоматизации инъекций

5.4.1. SQLMap

5.4.2. bsqlbf-v2

5.5. Дебаггеры

5.5.1. Burp Suite

5.5.2. Fiddler

5.6. Универсальные сканеры

5.6.1. Web Application Attack and Audit Framework (w3af)

5.6.2. N-Stalker Web Application Security Scanner X Free Edition

6. Выводы

 

 

Введение

В современном бизнесе веб-технологии приобрели огромную популярность. Большинство сайтов крупных компаний представляют собой набор приложений, обладающих интерактивностью, средствами персонализации, средствами взаимодействия с клиентами (интернет-магазины, дистанционное банковское обслуживание), а нередко — и средствами интеграции с внутренними корпоративными приложениями компании.

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

Уязвимости представляют собой неизбежную и растущую угрозу. Они, по большей части, являются результатами дефектов безопасности в коде веб-приложения и неправильной конфигурации компонентов веб-сайта.

Приведем немного статистики. По данным из отчета о киберугрозах за первое полугодие 2016 года High-Tech Bridge releases web security trends of the first half of 2016, подготовленного компанией High-Tech Bridge:

  • свыше 60% веб-сервисов или API для мобильных приложений содержат по крайней мере одну опасную уязвимость, позволяющую скомпрометировать базу данных;
  • 35% уязвимых к XSS-атакам сайтов также уязвимы к SQL-инъекциям и XXE-атакам;
  • 23% сайтов содержат уязвимость POODLE, и только 0,43% — Heartbleed;
  • в 5 раз участились случаи эксплуатации опасных уязвимостей (например, позволяющих осуществить SQL-инъекцию) в ходе атак RansomWeb;
  • 79,9% веб-серверов имеют неправильно сконфигурированные или небезопасные заголовки http;
  • актуальные на сегодняшний день необходимые обновления и исправления установлены только на 27,8% веб-серверов.

Для защиты веб-ресурсов специалисты по информационной безопасности используют различный набор средств. Например, для шифрования трафика применяют SSL-сертификаты, а на периметре веб-серверов устанавливают Web Application Firewall (WAF), которые требуют серьезной настройки и долгого самообучения. Не менее эффективным средством обеспечения безопасности веб-сайтов является и периодическая проверка состояния защищенности (поиск уязвимостей), а инструментами для проведения таких проверок служат сканеры защищенности веб-сайтов, о которых и пойдет речь в этом обзоре.

На нашем сайте уже был обзор, посвященный сканерам защищенности веб-приложений — «Сканеры защищенности веб-приложений (WASS) – обзор рынка в России и в мире», в котором рассматривались продукты лидеров рынка. В настоящем обзоре мы уже не будем затрагивать эти темы, а сфокусируем внимание на обзоре бесплатных сканеров защищенности веб-сайтов.

Тема бесплатного программного обеспечения сегодня особенно актуальна. Из-за нестабильной экономической ситуации в России сейчас во многих организациях (как и в коммерческих, так и в госсекторе) идет оптимизация ИТ-бюджета, и средств на покупку дорогих коммерческих продуктов для анализа защищенности систем зачастую не хватает.  При этом существует множество бесплатных  (free, open source) утилит для поиска уязвимостей, о которых люди просто не знают. Причем некоторые из них не уступают по функциональным возможностям своим платным конкурентам. Поэтому в этой статьей расскажем о наиболее интересных бесплатных сканерах защищенности веб-сайтов.

 

Что такое сканеры защищенности веб-сайтов

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

С помощью сканеров защищенности веб-сайтов можно обнаружить уязвимости следующих категорий:

  • уязвимости этапа кодирования;
  • уязвимости этапа внедрения и конфигурирования веб-приложения;
  • уязвимости этапа эксплуатации веб-сайта.

К уязвимостям этапа кодирования относятся уязвимости, связанные с некорректной обработкой входных и выходных данных (SQL-инъекции, XSS).

К уязвимостям этапа внедрения веб-сайта относятся уязвимости, связанные с некорректными настройками окружения веб-приложения (веб-сервера, сервера приложений, SSL/TLS, фреймворк, сторонние компоненты, наличие DEBUG-режима и т. п.).

К уязвимостям этапа эксплуатации веб-сайта относятся уязвимости, связанные с использованием устаревшего ПО, простых паролей, хранением архивных копий на веб-сервере в общем доступе, наличием в общем доступе служебных модулей (phpinfo) и т.п.

 

Принцип работы сканеров защищенности веб-сайтов

В общем случае принцип работы сканера защищенности веб-сайтов заключается в следующем:

  • Сбор информации об исследуемом объекте.
  • Аудит программного обеспечения веб-сайта на предмет уязвимостей по базам уязвимостей.
  • Выявление слабых мест системы.
  • Формирование рекомендаций по их устранению.

 

Категории сканеров защищенности веб-сайтов

Сканеры защищенности веб-сайтов, в зависимости от их предназначения, можно разделить на следующие категории (типы):

  • Сетевые сканеры — данный тип сканеров раскрывает доступные сетевые сервисы, устанавливает их версии, определяет ОС и т. д.
  • Сканеры поиска уязвимостей в веб-скриптах — данный тип сканеров осуществляет поиск уязвимостей, таких как SQL inj, XSS, LFI/RFI и т. д., или ошибок (не удаленные временные файлы, индексация директорий и т. п.).
  • Средства поиска эксплойтов — данный тип сканеров предназначен для автоматизированного поиска эксплойтов в программном обеспечении и скриптах.
  • Средства автоматизации инъекций — утилиты, которые конкретно занимаются поиском и эксплуатацией инъекций.
  • Дебаггеры  — средства для исправления ошибок и оптимизации кода в веб-приложении.

Существуют также и универсальные утилиты, которые включают в себя возможности сразу нескольких категорий сканеров.

Далее будет приведен краткий обзор бесплатных сканеров защищенности веб-сайтов. Поскольку бесплатных утилит очень много, в обзор включены только самые популярные бесплатные инструменты для анализа защищенности веб-технологий. При включении в обзор той или иной утилиты анализировались специализированные ресурсы по тематике безопасности веб-технологий:

 

Краткий обзор бесплатных сканеров защищенности веб-сайтов

 

Сетевые сканеры

Nmap

 

Тип сканера: сетевой сканер.

Nmap (Network Mapper) — это бесплатная утилита с открытым исходным кодом. Она предназначена для сканирования сетей с любым количеством объектов, определения состояния объектов сканируемой сети, а также портов и соответствующих им служб. Для этого Nmap использует много различных методов сканирования, таких как UDP, TCP connect, TCP SYN (полуоткрытое), FTP proxy (прорыв через ftp), Reverse-ident, ICMP (ping), FIN, ACK, Xmas tree, SYN и NULL-сканирование.

Nmap также поддерживает большой набор дополнительных возможностей, а именно: определение операционной системы удаленного хоста с использованием отпечатков стека TCP/IP, «невидимое» сканирование, динамическое вычисление времени задержки и повтор передачи пакетов, параллельное сканирование, определение неактивных хостов методом параллельного ping-опроса, сканирование с использованием ложных хостов, определение наличия пакетных фильтров, прямое (без использования portmapper) RPC-сканирование, сканирование с использованием IP-фрагментации, а также произвольное указание IP-адресов и номеров портов сканируемых сетей.

Nmap получил статус Security Product of the Year от таких журналов и сообществ, как Linux Journal, Info World, LinuxQuestions.Org и Codetalker Digest.

Платформа: утилита кросс-платформенна.

Подробнее со сканером Nmap можно ознакомиться здесь.

 

IP Tools

 

Тип сканера: сетевой сканер.

IP Tools — это анализатор протоколов, поддерживающий правила фильтрации, адаптер отбора, декодирование пакетов, описание протокола и многое другое. Подробная информацию о каждом пакете содержится в дереве стиля, меню по щелчку правой кнопкой мыши позволяет сканировать выбранный IP-адрес.  

В дополнение к пакетному снифферу, IP Tools предлагает полный набор сетевых инструментов, включая адаптер статистики, мониторинг IP-трафика и многое другое.

Подробнее со сканером IP-Tools можно ознакомиться здесь.

Платформа: Windows.

 

Top 100 Network Security Tools  — топ-100 утилит для сетевой безопасности.

 

Сканеры поиска уязвимостей в веб-скриптах

 

Nikto

 

Тип сканера: сканер поиска уязвимостей в веб-скриптах.

Nikto — бесплатный сканер, который осуществляет всеобъемлющее тестирование веб-серверов на уязвимости, в том числе проверяет наличие более 6500 потенциально опасных файлов и CGI, определяет устаревшие версии более 1250 различных веб-серверов, а также отображает специфические проблемы для более чем 270 версий серверов. Сканер также определяет типичные ошибки в конфигурации веб-сервера, в том числе наличие нескольких индексных файлов, опции HTTP-сервера, после чего пытается составить максимально полный список версий программ и модулей на сервере. Список сканируемых объектов в Nikto реализован в виде подключаемых плагинов и часто обновляется (эти плагины не являются open source).

Сканер Nikto спроектирован для работы в скрытном режиме: он осуществляет сканирование максимально быстро, записывая результаты в лог. Версия 2.1.5 содержит исправления нескольких багов, а также новые функции и новые виды проверок. Среди самого важного — распознавание IP в HTTP-заголовках, автоматическая проверка доступных файлов после парсинга robots.txt, проверка иконок в <link>, проверка уязвимостей с crossdomain.xml и clientaccesspolicy.xml. Среди новых опций программы — установка максимального времени сканирования хоста (в секундах) для маскировки сканирования, повтор сохраненных JSON-запросов с помощью replay.pl, поддержка SSL-сертификатов на стороне клиента, более продвинутое тестирование за счет автоматического добавления переменных в db_variables после парсинга robots.txt или других страниц.

Стоит также отметить, что свободный движок Nikto используется в коммерческих сканерах уязвимостей Edgeos и HackerTarget.com.

Платформа: MacOS, Linux, Windows.

Подробнее со сканером Nikto можно ознакомиться здесь.

 

Skipfish

 

Тип сканера: сканер поиска уязвимостей в веб-скриптах.

Кросс-платформенный сканер веб-уязвимостей Skipfish от программиста Michal Zalewski  выполняет рекурсивный анализ веб-приложения и его проверку на базе словаря, после чего составляет карту сайта, снабженную комментариями об обнаруженных уязвимостях.

Разработка инструмента ведется внутри компании Google.

Сканер осуществляет детальный анализ web-приложения. Также существует возможность создания словаря для последующего тестирования этого же приложения. Подробный отчет Skipfish содержит информацию об обнаруженных уязвимостях, URL ресурса, содержащего уязвимость, а также переданный запрос. В отчете полученные данные отсортированы по уровню опасности и по типу уязвимости. Отчет формируется в html-формате.

Стоит отметить, что сканер веб-уязвимостей Skipfish генерирует очень большой объем трафика, а сканирование происходит очень долго.

Платформы: MacOS, Linux, Windows.

Подробнее со сканером Skipfish можно ознакомиться здесь.

 

Wapiti

 

Тип сканера: сканер поиска уязвимостей в веб-скриптах.

Wapiti — это консольная утилита для аудита веб-приложений. Работает по принципу «черного ящика» (blackbox).

Wapiti функционирует следующим образом: сначала WASS-сканер анализирует структуру сайта, ищет доступные сценарии, анализирует параметры. После Wapiti включает фаззер и продолжает сканирование до тех пор, пока все уязвимые скрипты не будут найдены.

WASS-сканер  Wapiti  работает со следующими типами уязвимостей:

  • File disclosure (Local and remote include/require, fopen, readfile).
  • Database Injection (PHP/JSP/ASP SQL Injections and XPath Injections).
  • XSS (Cross Site Scripting) injection (reflected and permanent).
  • Command Execution detection (eval(), system(), passtru()…).
  • CRLF Injection (HTTP Response Splitting, session fixation…).
  • XXE (XmleXternal Entity) injection.
  • Use of know potentially dangerous files.
  • Weak .htaccess configurations that can be bypassed.
  • Presence of backup files giving sensitive information (source code disclosure).

Wapiti входит в состав утилит дистрибутива Kali Linux. Можно скачать исходники с SourceForge и использовать на любом дистрибутиве, основанном на ядре Linux. Wapiti поддерживает GET и POST HTTP методы запросов.

Платформы: Windows, Unix, MacOS.

Подробнее со сканером Wapiti можно ознакомиться здесь.

 

Web Application Security Scanner List by WebAppSec — список сканеров защищенности веб-сайтов от организации WebAppSec.

 

Средства поиска эксплойтов

 

Metasploit Framework

 

Тип сканера: средства поиска эксплойтов.

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

Metasploit — механизм на базе сценариев Perl, с помощью которого можно применять множество методов проникновения для различных платформ и приложений. Помимо набора методов проникновения через известные лазейки, Metasploit позволяет переслать в обнаруженную брешь конкретную программу.

Metasploit Framework расширяется с использованием модулей Perl, поэтому можно подготовить собственные средства проникновения, включить их в инфраструктуру и воспользоваться готовой подходящей программой использования.

Подробнее со сканером Metasploit Framework можно ознакомиться здесь.

 

Nessus

 

Категория сканера: сетевой сканер и средство поиска эксплойтов.

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

Платформы: кросс-платформенное программное обеспечение.

Подробнее со сканером Nessus можно ознакомиться здесь.

 

Top 10 Web Vulnerability Scanners — топ-10 сканеров уязвимостей веб-сайтов.

 

Средства автоматизации инъекций

 

SQLMap

 

Тип сканера: средство автоматизации инъекций.

Бесплатный сканер с открытым исходным кодом, главная задача которого — автоматизированный поиск SQL-уязвимостей. SQLMap позволяет не только обнаруживать уязвимости, но и при возможности эксплуатировать их. SQLMap поддерживает большое количество СУБД.

К функциональным возможностям  SQLMap относятся:

  • Поиск инъекций: boolean-based blind, time-based blind, error-based, UNION query и stacked queries.
  • Возможность работы с конкретным URL либо со списком.
  • Проверка параметров, передаваемых методами GET и POST.
  • Работа в многопотоковом режиме.
  • Интеграция с другими инструментами для анализа веб-приложений — Metasploit и w3af.
  • Возможность получения полезной информации о приложении и сервере (fingerprint).

Платформы: MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase, SAP MaxDB и HSQLDB.

Подробнее со сканером SQLMap можно ознакомиться здесь.

 

bsqlbf-v2

 

Тип сканера: средство автоматизации инъекций.

bsqlbf-v2 — скрипт, написанный на языке Perl. Брутфорсер «слепых» SQL-инъекций. Сканер работает как с integer-значениями в url, так и со строковыми (string).

Платформы: MS-SQL, MySQL, PostgreSQL, Oracle.

Подробнее со сканером bsqlbf-v2 можно ознакомиться здесь.

 

Дебаггеры

 

Burp Suite

 

Тип сканера: дебаггер.

Burp Suite — это набор относительно независимых кросс-платформенных приложений, написанных на Java.

Ядром комплекса является модуль Burp Proxy, выполняющий функции локального прокси-сервера; остальные компоненты набора — это Spider, Intruder, Repeater, Sequencer, Decoder и Comparer. Все составляющие связаны между собой в единое целое таким образом, что данные могут быть отправлены в любую часть приложения, например, из Proxy в Intruder для проведения различных проверок над веб-приложением, из Intruder в Repeater — для более тщательного ручного анализа HTTP-заголовков.

Платформы: кросс-платформенное программное обеспечение.

Подробнее со сканером Burp Suite можно ознакомиться здесь.

 

Fiddler

Тип сканера: дебаггер.

Fiddler — это отладочный прокси, логирующий весь HTTP(S)-трафик. Инструмент позволяет исследовать этот трафик, устанавливать breakpoint и «играться» с входящими или исходящими данными.

Функциональные особенности Fiddler:

  • Возможность контроля всех запросов, файлов cookie, передаваемых параметров интернет-браузерами.
  • Функция изменения ответов сервера «на лету».
  • Возможность манипулировать заголовками и запросами.
  • Функция изменения ширины канала.

Платформы: кросс-платформенное программное обеспечение.

Подробнее со сканером Fiddler можно ознакомиться здесь.

 

Top 10 Vulnerability Scanners— топ-10 сканеров уязвимостей.

 

Универсальные сканеры

 

Web Application Attack and Audit Framework (w3af)

 

Тип сканера: сканер поиска уязвимостей в веб-скриптах, средство поиска эксплойтов.

Web Application Attack and Audit Framework  (w3af) — это WASS-сканер (фреймворк) с открытым исходным кодом. WASS-сканер написан на Python, поэтому с успехом запускается и под Windows, и под *NIX, и под MacOS. Для инсталляции необходим установленный интерпретатор Python. В распоряжении пользователя как графический (с использованием GTK), так и консольный интерфейсы.

Подавляющую часть функциональности платформы составляют плагины (на данный момент уже более 100). Они делятся на группы:

  • audit — плагины, которые непосредственно ищут уязвимости на веб-сервере;
  • bruteforce — плагины для перебора логинов и паролей веб-форм и BasicAuth;
  • discovery — плагины для сбора информации: версия веб-сервера, версия ОС, ссылки, пользователи, почтовые ящики;
  • evasion — плагины, которые изменяют запросы к веб-серверу для преодоления фильтрации, типа кавычек и прочего;
  • grep — плагины для анализа запросов и ответов веб-сервера;
  • mangle — плагины для изменения запросов к веб-серверу «на лету».

Плагины, имеющиеся в w3af, делятся на 3 типа: для исследований, для аудита и для проведения атак.

Платформы: Windows, Unix, MacOS.

Подробнее со сканером Web Application Attack and Audit Framework  (w3af) можно ознакомиться здесь.

 

N-Stalker Web Application Security Scanner X Free Edition

 

Тип сканера: сканер поиска уязвимостей в веб-скриптах, средство поиска эксплойтов.

Эффективный инструмент для веб-служб — N-Stealth Security Scanner компании N-Stalker. Компания продает более полнофункциональную версию N-Stealth, но бесплатная пробная версия вполне пригодна для простой оценки. Платный продукт располагает более чем 30 тыс. тестов системы безопасности веб-серверов, но и бесплатная версия обнаруживает более 16 тыс. конкретных пробелов, в том числе уязвимые места в таких широко распространенных веб-серверах, как Microsoft IIS и Apache. Например, N-Stealth отыскивает уязвимые сценарии Common Gateway Interface (CGI) и Hypertext Preprocessor (PHP), использует атаки с проникновением в SQL Server, типовые кросс-сайтовые сценарии и другие пробелы в популярных веб-серверах.

N-Stealth поддерживает как HTTP, так и HTTP Secure (HTTPS — с использованием SSL), сопоставляет уязвимые места со словарем Common Vulnerabilities and Exposures (CVE) и базой данных Bugtraq, а также генерирует неплохие отчеты. N-Stealth используется для поиска наиболее распространенных уязвимых мест в веб-серверах и помогает определять самые вероятные направления атак.

Конечно, для более достоверной оценки безопасности веб-узла или приложений рекомендуется приобрести платную версию.

Подробнее со сканером N-Stealth можно ознакомиться здесь.

 

Выводы

Тестирование веб-сайтов на предмет выявления уязвимых мест — это хорошая превентивная мера. В настоящее время существует множество как коммерческих, так и свободно распространяемых сканеров защищенности веб-сайтов. При этом сканеры могут быть как универсальные (комплексные решения), так и специализированные, предназначенные только для выявления определенных типов уязвимостей.

Некоторые бесплатные сканеры являются довольно мощными инструментами  и показывают большую глубину и хорошее качество проверки веб-сайтов. Но перед тем как использовать бесплатные утилиты для анализа защищенности веб-сайтов, необходимо удостовериться в их качестве. Сегодня для этого уже есть множество методик (например, Web Application Security Scanner Evaluation Criteria, OWASP Web Application Scanner Specification Project).

Наиболее полную картину о защищенности той или иной инфраструктуры позволяют получить только комплексные решения. В некоторых случаях лучше применять несколько сканеров защищенности.

Подпишитесь
в Facebook

Я уже с вами
Telegram AMПодписывайтесь на канал "Anti-Malware" в Telegram, чтобы первыми узнавать о новостях и эксклюзивных материалах по информационной безопасности.

RSS: Новые статьи на Anti-Malware.ru

Лаборатория AM Test Lab готова провести независимую экспертизу и добровольную сертификацию любого продукта или сервиса по информационной безопасности и подготовить его профессиональный обзор. Для получения дополнительной информации необходимо оформить запрос.