Сканер уязвимости: Сканеры уязвимостей

Содержание

Прочитай и сделай: проводим сканирование сети самостоятельно

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

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

Ping-сканирование


Первый рассматриваемый вид сканирования — ping-сканирование. Основная задача — обнаружить «живые» узлы в сети. Под ping-сканированием понимают широковещательную рассылку пакетов ICMP. Сканер рассылает пакеты типа Echo REQUEST по указанным IP-адресам и ожидает в ответ пакеты типа Echo REPLY. Если ответ получен, считается, что узел присутствует в сети по указанному IP-адресу.

Протокол ICMP широко используется администраторами сетей для диагностики, поэтому, чтобы избежать разглашения информации об узлах, важна корректная настройка средств защиты периметра. Для корпоративных сетей такой вид сканирования не релевантен при внешнем сканировании, потому что большинство средств защиты по умолчанию блокируют протокол ICMP либо ответы по этому протоколу. При отсутствии нестандартных задач в корпоративной сети на выход, как правило, разрешены следующие виды ICMP-сообщений: Destination Unreachable, Echo REQUEST, Bad IP header, а на вход разрешены Echo REPLY, Destination Unreachable, Source Quench, Time Exceeded, Bad IP header. В локальных сетях не такая строгая политика безопасности, и злоумышленники могут применять этот способ, когда уже проникли в сеть, однако это легко детектируется.

Сканирование портов


Объединим TCP-сканирование и UDP-сканирование под общим названием — сканирование портов. Сканирование этими методами определяет доступные порты на узлах, а затем на основе полученных данных делается предположение о типе используемой операционной системы или конкретного приложения, запущенного на конечном узле. Под сканированием портов понимают пробные попытки подключения к внешним узлам. Рассмотрим основные методы, реализованные в автоматизированных сетевых сканерах:
  1. TCP SYN,
  2. TCP CONNECT,
  3. UDP scan.

Метод TCP SYN — наиболее популярен, используется в 95% случаев. Его называют сканированием с установкой полуоткрытого соединения, так как соединение не устанавливается до конца. На исследуемый порт посылается сообщение SYN, затем идет ожидание ответа, на основании которого определяется статус порта. Ответы SYN/ACK говорят о том, что порт прослушивается (открыт), а ответ RST говорит о том, что не прослушивается.
Если после нескольких запросов не приходит никакого ответа, то сетевой трафик до порта узла назначения фильтруется средствами межсетевого экранирования (далее будем использовать термин «порт фильтруется»). Также порт помечается как фильтруемый, если в ответ приходит сообщение ICMP с ошибкой достижимости (Destination Unreachable) и определенными кодами и флагами.

Метод TCP CONNECT менее популярен, чем TCP SYN, но все-таки часто встречается на практике. При реализации метода TCP CONNECT производится попытка установить соединение по протоколу TCP к нужному порту с процедурой handshake. Процедура заключается в обмене сообщениями для согласования параметров соединения, то есть служебными сообщениями SYN, SYN/ACK, ACK, между узлами. Соединение устанавливается на уровне операционной системы, поэтому существует шанс, что оно будет заблокировано средством защиты и попадет в журнал событий.

UDP-сканирование медленнее и сложнее, чем TCP-сканирование. Из-за специфики сканирования UDP-портов о них часто забывают, ведь полное время сканирование 65 535 UDP-портов со стандартными параметрами на один узел занимает у большинства автоматизированных сканеров до 18 часов. Это время можно уменьшить за счет распараллеливания процесса сканирования и рядом других способов. Следует уделять внимание поиску UDP-служб, потому что UDP-службы реализуют обмен данными с большим числом инфраструктурных сервисов, которые, как правило, вызывают интерес злоумышленников.

На сетевых периметрах часто встречаются UDP-сервисы DNS (53), NTP (123), SNMP (161), VPN (500, 1194, 4500), RDG (3391). Реже встречаются сервисные службы типа echo (7), discard (9), chargen (19), а также DAYTIME (13), TFTP (69), SIP (5060), сервисы NFS (2049), RPC (111, 137-139, 761 и др.), СУБД (1434).

Для определения статуса порта посылается пустой UDP-заголовок, и если в ответ приходит ошибка достижимости ICMP Destination Unreachable с кодом Destination port unreachable, это значит, что порт закрыт; другие ошибки достижимости ICMP (Destination host unreachable, Destination protocol unreachable, Network administratively prohibited, Host administratively prohibited, Communication administratively prohibited) означают, что порт фильтруется. Если порт отвечает UDP-пакетом, значит, он открыт. Из-за специфики UDP и потери пакетов запросы повторяются несколько раз, обычно три и более. Как правило, если ответ не получен, статус порта определяется в состоянии «открыт» или «фильтруется», поскольку непонятно, что стало причиной — блокировка трафика средством защиты или потеря пакетов.

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

Редкие методы сканирования


Методы, которые практически не используются:
  1. TCP ACK,
  2. TCP NULL, FIN, Xmas,
  3. «Ленивое сканирование».

Прямое назначение метода ACK-сканирования — выявить правила средств защиты, а также определить фильтруемые порты. В пакете запроса при таком типе сканирования установлен только ACK-флаг. Открытые и закрытые порты вернут RST-пакет, так как порты достижимы для ACK-пакетов, но состояние неизвестно. Порты, которые не отвечают или посылают в ответ ICMP-сообщение Destination Unreachable с определенными кодами считаются фильтруемыми.

Методы TCP NULL, FIN, Xmas заключаются в отправке пакетов с отключенными флагами в заголовке TCP. При NULL-сканировании не устанавливаются никакие биты, при FIN-сканировании устанавливается бит TCP FIN, а в Xmas-сканировании устанавливаются флаги FIN, PSH и URG. Методы основаны на особенности спецификации RFC 793, согласно которой при закрытом порте входящий сегмент, не содержащий RST, повлечет за собой отправку RST в ответ. Когда порт открыт, ответа не будет. Ошибка достижимости ICMP означает, что порт фильтруется. Эти методы считаются более скрытными, чем SYN-сканирование, однако и менее точны, потому что не все системы придерживаются RFC 793.

«Ленивое сканирование» является самым скрытным из методов, поскольку для сканирования используется другой узел сети, который называется зомби-узлом. Метод применяется злоумышленниками для разведки. Преимущество такого сканирования в том, что статус портов определяется для зомби-узла, поэтому, используя разные узлы, можно установить доверительные связи между узлами сети. Полное описание метода доступно по ссылке .

Процесс выявления уязвимостей


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

Уязвимость регистрируется в MITRE CVE , а подробности публикуются в NVD . Уязвимости присваивается идентификатор CVE, а также общий балл системы оценки уязвимости CVSS, отражающий уровень риска, который уязвимость представляет для конечной системы. Подробно об оценке уязвимостей написано в нашей статье . Централизованный список MITRE CVE — ориентир для сканеров уязвимостей, ведь задача сканирования — обнаружить уязвимое программное обеспечение.

Ошибка конфигурации — тоже уязвимость, но подобные уязвимости нечасто попадают в базу MITRE; впрочем, они все равно попадают в базы знаний сканеров с внутренними идентификаторами. В базы знаний сканеров попадают и другие типы уязвимостей, которых нет в MITRE CVE, поэтому при выборе инструмента для сканирования важно обращать внимание на экспертизу его разработчика. Сканер уязвимостей будет опрашивать узлы и сравнивать собранную информацию с базой данных уязвимостей или списком известных уязвимостей. Чем больше информации у сканера, тем точнее результат.

Рассмотрим параметры сканирования, виды сканирования и принципы обнаружения уязвимостей при помощи сканеров уязвимостей.

Параметры сканирования


За месяц периметр организации может неоднократно поменяться. Проводя сканирование периметра в лоб можно затратить время, за которое результаты станут нерелевантными. При сильном увеличении скорости сканирования сервисы могут «упасть». Надо найти баланс и правильно выбрать параметры сканирования. От выбора зависят потраченное время, точность и релевантность результатов. Всего можно сканировать 65 535 TCP-портов и столько же UDP-портов. По нашему опыту, среднестатистический периметр компании, который попадает в пул сканирования, составляет две полных сети класса «С» с маской 24.

Основные параметры:

  1. количество портов,
  2. глубина сканирования,
  3. скорость сканирования,
  4. параметры определения уязвимостей.

По количеству портов сканирование можно разделить на три вида — сканирование по всему списку TCP- и UDP-портов, сканирование по всему списку TCP-портов и популярных UDP-портов, сканирование популярных TCP- и UDP-портов. Как определить популярности порта? В утилите nmap на основе статистики, которую собирает разработчик утилиты, тысяча наиболее популярных портов определена в конфигурационном файле. Коммерческие сканеры также имеют преднастроенные профили, включающие до 3500 портов.

Если в сети используются сервисы на нестандартных портах, их также стоит добавить в список сканируемых. Для регулярного сканирования мы рекомендуем использовать средний вариант, при котором сканируются все TCP-порты и популярные UDP-порты. Такой вариант наиболее сбалансирован по времени и точности результатов. При проведении тестирования на проникновение или полного аудита сетевого периметра рекомендуется сканировать все TCP- и UDP-порты.

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

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

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

Параметры определения уязвимостей — наиболее обширный раздел параметров сканирования, от которого зависит скорость сканирования и объем уязвимостей, которые могут быть обнаружены. Например, баннерные проверки не займут много времени. Имитации атак будут проведены только для отдельных сервисов и тоже не займут много времени. Самый долгий вид — веб-сканирование.

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

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

Инструментарий


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

Сетевые сканеры: Masscan , Zmap , nmap . На самом деле утилит для сканирования сети намного больше, однако для сканирования периметра вряд ли вам понадобятся другие. Эти утилиты позволяют решить большинство задач, связанных со сканированием портов и служб.

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

Для решения задачи не обязательно применять сложный коммерческий инструмент с большим числом проверок: это излишне для сканирования пары «легких» приложений и сервисов. В таких случаях будет достаточно бесплатных сканеров. Бесплатных веб-сканеров много, и тяжело выделить наиболее эффективные, здесь выбор, скорее, дело вкуса; наиболее известные: Skipfish , Nikto , ZAP , Acunetix , SQLmap .

При тщательном ручном анализе будут полезны инструменты Burp Suite, Metasploit и OpenVAS. Недавно вышел сканер Tsunami компании Google.
Отдельной строкой стоит упомянуть об онлайн-поисковике уязвимостей Vulners. Это большая база данных контента информационной безопасности, где собирается информация об уязвимостях с большого количества источников, куда, кроме типовых баз, входят вендорские бюллетени безопасности, программы bug bounty и другие тематические ресурсы. Ресурс предоставляет API, через который можно забирать результаты, поэтому можно реализовать баннерные проверки своих систем без фактического сканирования здесь и сейчас. Либо использовать Vulners vulnerability scanner, который будет собирать информацию об операционной системе, установленных пакетах и проверять уязвимости через API Vulners. Часть функций ресурса платные.

Коммерческие сканеры уязвимостей


Все коммерческие системы защиты поддерживают основные режимы сканирования, которые описаны ниже, интеграцию с различными внешними системами, такими как SIEM-системы, patch management systems, CMBD, системы тикетов. Коммерческие сканеры могут присылать оповещения по разным критериям, а поддерживают различные форматы и типы отчетов. Все разработчики систем сканирования используют общие базы уязвимостей, а также собственные базы знаний, которые постоянно обновляются на основе исследований.

Основные различия между коммерческими сканерами — поддерживаемые стандарты, лицензии государственных структур, количество и качество реализованных проверок, а также направленность на тот или иной рынок сбыта, например поддержка сканирования отечественного ПО. Статья не призвана представить качественное сравнение сканеров уязвимостей. На наш взгляд, у каждого сканера есть свои преимущества и недостатки. Для анализа защищенности подходят все перечисленные средства, можно использовать их комбинации: Qualys , Max Patrol 8 , Tenable SecurityCenter .

Как работают сканеры уязвимостей


Режимы сканирования реализованы по трем схожим принципам:
  1. Аудит, или режим белого ящика.
  2. Комплаенс, или проверка на соответствие техническим стандартам.
  3. Пентест, или режим черного ящика.

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

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

Авторизованному пользователю, в роли которого выступает сканер, значительно проще получать детальную информацию об узле, его программном обеспечении и конфигурационных параметрах. При сканировании используются различные механизмы и транспорты операционных систем для сбора данных, зависящие от специфики системы, с которой собираются данные. Список транспортов включает, но не ограничивается WMI, NetBios, LDAP, SSH, Telnet, Oracle, MS SQL, SAP DIAG, SAP RFC, Remote Engine с использованием соответствующих протоколов и портов.

Комплаенс — режим проверки на соответствие каким-либо стандартам, требованиям или политикам безопасности. Режим использует схожие с аудитом механизмы и транспорты. Особенность режима — возможность проверки корпоративных систем на соответствие стандартам, которые заложены в сканеры безопасности. Примерами стандартов являются PCI DSS для платежных систем и процессинга, СТО БР ИББС для российских банков, GDPR для соответствия требованиям Евросоюза. Другой пример — внутренние политики безопасности, которые могут иметь более высокие требования, чем указанные в стандартах. Кроме того, существуют проверки установки обновлений и другие пользовательские проверки.

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

  1. баннерные проверки,
  2. имитация атак,
  3. веб-проверки,
  4. проверки конфигураций,
  5. опасные проверки.

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

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

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

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

На этом же этапе собираются баннеры CMS и плагинов приложения, по которым проводится баннерная проверка на известные уязвимости. Следующий этап — основные веб-проверки: поиск SQL Injection разных видов, поиск недочетов системы аутентификации и хранения сессий, поиск чувствительных данных и незащищенных конфигураций, проверки на XXE Injection, межсайтовый скриптинг, небезопасную десериализацию, загрузку произвольных файлов, удаленное исполнение кода и обход пути. Список может быть шире в зависимости от параметров сканирования и возможностей сканера, обычно при максимальных параметрах проверки проходят по списку OWASP Top Ten .

Проверки конфигураций направлены на выявление ошибок конфигураций ПО. Они выявляют пароли по умолчанию либо перебирают пароли по короткому заданному списку с разными учетными записями. Выявляют административные панели аутентификации и управляющие интерфейсы, доступные принтеры, слабые алгоритмы шифрования, ошибки прав доступа и раскрытие конфиденциальной информации по стандартным путям, доступные для скачивания резервные копии и другие подобные ошибки, допущенные администраторами IT-систем и систем ИБ.

В число опасных проверок попадают те, использование которых потенциально приводит к нарушению целостности или доступности данных. Сюда относят проверки на отказ в обслуживании, варианты SQL Injection с параметрами на удаление данных или внесение изменений. Атаки перебора паролей без ограничений попыток подбора, которые приводят к блокировке учетной записи. Опасные проверки крайне редко используются из-за возможных последствий, однако поддерживаются сканерами безопасности как средство эмуляции действий злоумышленника, который не будет переживать за сохранность данных.

Сканирование и результаты


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

Инвентаризационное сканирование можно проводить гораздо чаще, чем сканирование на уязвимости. При инвентаризации хорошей практикой является обогащение результатов информацией об администраторе сервиса, внутреннем IP-адресе сервиса, если используется NAT, а также о важности сервиса и его назначении. Информация в будущем поможет оперативно устранять инциденты, связанные с обнаружением нежелательных или уязвимых сервисов. В идеальном случае в компании есть процесс и политика размещения сервисов на сетевом периметре, в процессе участвуют службы ИТ и ИБ.

Даже при таком подходе присутствует вероятность ошибок по причинам, связанным с человеческим фактором и различными техническими сбоями, которые приводят к появлению нежелательных сервисов на периметре. Простой пример: на сетевом устройстве Check Point написано правило, которое транслирует порт 443 из внутренней сети на периметр. Сервис, который там был, устарел и выведен из эксплуатации. Службе ИТ об этом не сообщили, соответственно правило осталось. В таком случае на периметре может оказаться аутентификация в административную панель устройства Check Point либо другой внутренний сервис, который не планировали там размещать. При этом формально картина периметра не менялась и порт доступен.

Чтобы обнаружить подобные изменения, необходимо сканировать периодически и применять дифференциальное сравнение результатов, тогда будет заметно изменение баннера сервиса, которое привлечет внимание и приведет к разбору инцидента.

Устранение уязвимостей


Первым шагом к правильной технической реализации процесса устранения уязвимостей является грамотное представление результатов сканирования, с которыми придется работать. Если используется несколько разнородных сканеров, правильнее всего будет анализировать и объединять информацию по узлам в одном месте. Для этого рекомендуется использовать аналитические системы, где также будет храниться вся информация об инвентаризации.
Базовым способом для устранения уязвимости является установка обновлений. Можно использовать и другой способ — вывести сервис из состава периметра (при этом все равно необходимо установить обновления безопасности).

Можно применять компенсирующие меры по настройке, то есть исключать использование уязвимого компонента или приложения. Еще вариант — использовать специализированные средства защиты, такие как IPS или application firewall. Конечно, правильнее не допускать появления нежелательных сервисов на сетевом периметре, но такой подход не всегда возможен в силу различных обстоятельств, в особенности требований бизнеса.

Приоритет устранения уязвимостей


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

Другой способ — приоритет устранения по опасности или количеству уязвимостей на узле. Когда на узле обнаруживается 10–40 подозрений на уязвимость от баннерной проверки — нет смысла проверять, существуют ли они там все, в первую очередь это сигнал о том, что пора обновить программное обеспечение на этом узле. Когда возможности для обновления нет, необходимо прорабатывать компенсирующие меры. Если в организации большое количество узлов, где обнаруживаются уязвимые компоненты ПО, для которых отсутствуют обновления, то пора задуматься о переходе на программного обеспечение, еще находящееся в цикле обновления (поддержки). Возможна ситуация, когда для обновления программного обеспечения сначала требуется обновить операционную систему.

Итоги


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

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

Автор: Максим Федотов, старший специалист отдела онлайн-сервисов, PT Expert Security Center, Positive Technologies

Краткое введение в сканер уязвимостей Nessus – Information Security Squad

Вступление

Nessus является одним из многих сканеров уязвимостей, используемых во время оценок уязвимостей и тестирования на проникновение, включая вредоносные атаки.

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

Краткая информация о Nessus

Nessus продан Tenable Security.

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

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

Tenable.io – это услуга на основе подписки, доступная здесь.

Он позволяет различным группам совместно использовать сканеры, расписания, политики сканирования и результаты сканирования.

Tenable также содержит то, что ранее называлось Nessus Cloud, которое раньше предназначалось для решения Tenable Software-as-a-Service.

Tenable.io также позволяет настраивать рабочие процессы для эффективного управления уязвимостями.

Nessus Agents предоставляют гибкий способ сканирования хостов в вашей среде без необходимости предоставления учетных данных хостам.

Агенты позволяют выполнять сканирование, даже если хосты находятся в автономном режиме.

Области применения этих агентов являются широкими.

Рассмотрите среду, в которой отсутствует традиционная защита от вредоносных программ, например антивирусные решения – накладные расходы, которые эти агенты оказывают на хосты, довольно малы.

Здесь агенты потребляют минимальные системные ресурсы на узлах, в которых они установлены, при этом обеспечивая адекватную защиту от вредоносных программ.

Nessus Professional – это наиболее распространенное решение для оценки уязвимости в отрасли системы.

Это решение позволяет выполнять высокоскоростное обнаружение активов, профилирование целевых объектов, аудит конфигурации, обнаружение вредоносных программ, обнаружение конфиденциальных данных и многое другое.

Nessus Professional работает на клиентских устройствах, таких как ноутбуки, и может эффективно использоваться вашими службами безопасности в вашей организации.

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

Тем не менее, Nessus Manager больше не продается с 1 февраля 2018 года.

Это решение использовалось в организациях для совместной работы и обмена информацией между различными отделами организации.

Он обеспечивал возможность мониторинга активов компании, а также устройств в труднодоступных средах.

Основы сканера уязвимости Nessus

Чтобы оценить возможности Nessus, нам нужно понять некоторые основы.

Сначала мы обсудим пользовательский интерфейс и посмотрим, как установить Nessus на Linux и Windows ОС.

1. Установка на Linux

Загружаемый установщик можно найти здесь для Linux-систем.

Вам нужно убедиться, что вы знаете дистрибутив Linux, который вы используете, чтобы выбрать, какой установщик загрузить.

Например, в этой статье описывается файловая система Debian, на которой основан Kali Linux, поэтому мы будем загружать файл установщика * .deb.

Мы также запускаем 64-разрядную версию Kali Linux; вам нужно будет узнать об архитектуре, в которой вы работаете.

На момент написания этой статьи последняя версия Nessus – 8.0.0.

После загрузки файла пакета вы можете установить его из терминала Linux с помощью следующей команды:

$ sudo dpkg -i Nessus-8.0.0-debian6_i386.deb

Если вы используете любую другую версию Linux, используйте следующие команды:

Для RedHat версии 6:

# rpm -ivh Nessus-<version number>-es6.x86_64.rpm

Для FreeBSD версии 10:

# pkg add Nessus-<version number>-fbsd10-amd64.txz

После установки в вашу Linux-систему обязательно запустите демон Nessus, как показано ниже:

Для Red Hat, CentOS, Oracle Linux, Fedora, SUSE и FreeBSD используйте следующую команду:

# service nessusd start

Для Debian / Kali и Ubuntu используйте следующую команду:

# /etc/init.d/nessusd start

2. Установка в Windows

Здесь вы можете получить установщик для Windows.

Не забудьте загрузить в соответствии с вашей архитектурой и операционной системой.

После загрузки дважды щелкните установщик и завершите установку, пройдя мастер установки.

Возможно, вам будет предложено установить WinPcap; если это так, приступайте к этой установке.

Понимание пользовательского интерфейса

После установки и во время вашего первого запуска вам будет необходимо активировать ваш продукт на основе типа лицензии, который вы собираетесь установить.

Точные шаги для каждого из продуктов можно найти здесь.

После активации лицензии пришло время перейти к запуску сканера Nessus.

Пользовательский интерфейс Nessus состоит в основном из двух основных страниц: страницы сканирования и страницы настроек.

Эти страницы позволяют управлять конфигурациями сканирования и настраивать сканер в соответствии с тем, как вы хотите, чтобы он выполнялся в вашей системе.

Вы получаете доступ к этим страницам с панели вкладок, показанной ниже.

Как вы можете видеть, пользователь, которого вы создали, и любые другие уведомления появляются в верхнем правом углу.

1. Страница Scans

Эта страница позволит вам создавать новые сканирование и управлять ими.

Вы также заметите, что в левом нижнем углу экрана есть разделы, которые позволяют настраивать политики, которые будут применяться к вашим проверкам, определять правила плагина и отслеживать ваши сканеры и агенты.

Когда вы создаете новое сканирование или политику, появляется шаблон сканирования или шаблон политики.

2. Страница Settings

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

В нижней части левого экрана вы также получите доступ к своим аккаунтам, пользователям и настройкам групп.

Сканирование уязвимостей с помощью Nessus

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

Плагины можно рассматривать как отдельные фрагменты кода, которые использует Nessus для проведения отдельных типов сканирования по целям.

Плагины многочисленны и широки в своих возможностях.

Например, плагин может быть запущен и нацелен на хост:

  • Определить, какие операционные системы и службы работают, какие порты
  • Определить, какие программные компоненты уязвимы для атак (FTP, SSH, SMB и т. Д.)
  • Определить, соблюдены ли требования соответствия на разных хостах

Шаги, которые выполняются во время сканирования, можно суммировать на изображении ниже:

Когда вы запускаете сканирование, Nessus проходит ряд шагов.

Шаг 1: Nessus восстановит настройки сканирования. В настройках будут определены сканируемые порты, включенные плагины и определения предпочтений политики.

Шаг 2: Затем Nessus выполнит обнаружение хоста, чтобы определить хосты, которые находятся наверху. Протоколы, используемые при обнаружении хоста, будут ICMP, TCP, UDP и ARP. Вы можете указать их по вашему желанию.

Шаг 3: Затем Nessus выполняет сканирование портов для каждого хоста, который, как обнаружено, работает. Вы также можете определить, какие порты вы хотите отсканировать. Порты могут быть определены в диапазонах или по отдельности, с допустимыми портами от 1 до 65535.

Шаг 4: Затем Nessus выполнит обнаружение службы, чтобы определить службы, которые работают за каждым портом на каждом обнаруженном хосте

Шаг 5: Затем Nessus выполняет обнаружение операционной системы.

Шаг 6: После того как все шаги завершены, Nessus запускает на каждом хосте соответствие с базой данных известных уязвимостей, пытаясь обнаружить, какой узел содержит уязвимости.

Настройка сканирования Nessus

Nessus дает вам возможность настроить сканирование на основе различных шаблонов сканирования и политики.

Описание каждого шаблона сканирования можно найти здесь.

Эти шаблоны будут определять параметры, которые будут найдены в настройках политики сканирования.

Ниже приведены общие настройки, к которым можно получить доступ:

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

Discovery: здесь вы определяете сканируемые порты и методы, которые будут использоваться при проведении этого исследования. В этой настройке есть несколько разделов, на которые вы должны обратить внимание. Их можно найти здесь.

Assessment:Этот параметр позволяет определить тип сканирования уязвимости для выполнения и способы их выполнения. Nessus будет проверять уязвимость веб-приложений для атак и других систем для атак с грубой силой. Этот параметр имеет разделы, которые позволяют настраивать общие проверки для Windows, SCADA, веб-приложений и даже проверки грубой силы.

Report: Этот параметр позволит вам определить, как генерируются отчеты сканирования, и информацию, которая должна быть включена в них.

Advanced:здесь вы определяете эффективность сканирования и операции, которые должны выполнять сканирование. Вы также сможете включить отладку сканирования. Более подробную информацию о разделах, содержащихся в этом параметре, можно найти здесь.

Запуск сканирования Nessus

Чтобы выполнить сканирование уязвимостей, вам нужно будет перейти в вашем браузере по ссылке https://localhost:8834

Нажмите кнопку «New Scan» затем выберите тип сканирования для выполнения многочисленных доступных шаблонов.

Шаблоны, показанные выше, будут ограничены в бесплатной версии Nessus.

Ваша лицензия определит версию Nessus, которую вы используете.

Эти шаблоны будут больше по количеству и возможностям в коммерческой версии.

Как видно из вышеизложенного, вы должны указать свои целевые машины.

Nessus способен выполнять сканирование по нескольким целям, разделенным запятыми или в формате CIDR.

После этого вы будете перенаправлены на экран ниже.

Нажмите на значок «play», чтобы запустить настроенное сканирование.

Можно выполнить несколько настроенных сканирований

На экране выше мы настроили только одно сканирование.

Ниже вы можете видеть результаты двух хостов, суммируя серьезность и обнаруженные уязвимости.

(Это было включено, чтобы продемонстрировать, как появляются результаты с нескольких хостов).

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

Заключение

Сканер Nessus Vulnerability Scanner – один из самых распространенных сканеров уязвимостей в индустрии кибербезопасности сегодня.

Функциональность, которую вы получаете, особенно с коммерческой версией, является полной гарантией стоимости ваших денег.

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

См. также:

13 cканеров Web-безопасности с открытым исходным кодом для поиска уязвимостей – Information Security Squad

Интересный отчет Symantec показывает, что 76% отсканированных веб-сайтов имели вредоносное ПО.

и если вы используете WordPress, то в другом отчете SUCURI показано, что более 70% отсканированных веб-сайтов были заражены одной или несколькими уязвимостями.

Как владелец веб-приложения, как вы гарантируете, что ваш сайт защищен от онлайн-угроз? Или от утечки конфиденциальной информации?

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

Однако, если нет, вам нужно выполнить рутинное сканирование и предпринять необходимые действия для смягчения рисков.

Существует два типа сканера.

1.Коммерческий – дает вам возможность автоматизировать сканирование для обеспечения непрерывной безопасности, отчетности, оповещений, подробных инструкций по смягчению рисков и т. д. Некоторые из известных имен в этой отрасли:

Acunetix
Detectify
Qualys

Open Source / Бесплатные – вы можете загружать и выполнять проверку безопасности по требованию.

Не все из них смогут охватить широкий спектр уязвимостей, таких как коммерческий.

Давайте посмотрим на следующие сканеры уязвимостей с открытым исходным кодом.

1. Arachni

Arachni – высокопроизводительный сканер безопасности, построенный на основе Ruby для современных веб-приложений.

Он доступен в двоичном формате для Mac, Windows и Linux.

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

Он выполняет активные и пассивные проверки.

Windows, Solaris, Linux, BSD, Unix
Nginx, Apache, Tomcat, IIS, Jetty
Java, Ruby, Python, ASP, PHP
Django, Rails, CherryPy, CakePHP, ASP.NET MVC, Symfony

Некоторые из обнаруженных уязвимостей:

NoSQL / Blind / SQL / Code / LDAP / Command / XPath injection
Подделка запросов межсайтовый скриптинг
Обход пути
Включение локального / удаленного файла
Разделение ответа
Межсайтовый скриптинг
Неопределенные перенаправления DOM
Раскрытие исходного кода

2. XssPy

Сканер уязвимостей XSS (межсайтовый скриптинг) на основе python используется многими организациями, включая Microsoft, Stanford, Motorola, Informatica и т.д.

XssPy by Faizan Ahmad – умный инструмент. Вместо того, чтобы просто проверять домашнюю страницу или страницу, она проверяет всю ссылку на веб-сайтах.

XssPy также проверяет субдомен.

3. w3af

w3af, проект с открытым исходным кодом, начатый еще в конце 2006 года, основан на Python и доступен для Linux и ОС Windows. w3af способен обнаруживать более 200 уязвимостей, включая OWASP top 10.

Он поддерживает различные методы ведения журнала для отчетности. Пример:

Пример:

CSV
HTML
Консоль
Текст
XML
Эл. адрес

Он построен на архитектуре плагина, и вы можете проверить все доступные плагины.

4. Nikto

Проект с открытым исходным кодом, спонсируемый Netsparker, направлен на поиск неправильной конфигурации веб-сервера, плагинов и уязвимостей в Интернете.

Nikto выполняет всесторонний тест на более чем 6500 предметов риска.

Он поддерживает HTTP-прокси, SSL, с аутентификацией NTLM и т. д.

И может определять максимальное время выполнения для каждого целевого сканирования.

Nikto также доступен в Kali Linux.

5. Wfuzz

Wfuzz (Web Fuzzer) – это инструмент оценки приложений для тестирования на проникновение.

Вы можете заглушить данные в HTTP-запросе для любого поля, чтобы использовать веб-приложение и проверять его.

Wfuzz требует наличия Python на компьютере, на котором вы хотите запустить сканирование.

6. OWASP ZAP

ZAP (Zet Attack Proxy) – один из известных инструментов тестирования на проникновение, который активно обновляется сотнями добровольцев во всем мире.

Это кросс-платформенный Java-инструмент, который может работать даже на Raspberry Pi.

ZIP находится между браузером и веб-приложением для перехвата и проверки сообщений.

Некоторым из следующих функций ZAP, которые следует упомянуть.

Fuzzer
Автоматический и пассивный сканер
Поддержка нескольких языков сценариев
Принудительный просмотр

7. Wapiti

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

Это не проверка безопасности исходного кода, а скорее проверка блэк боксов.

Он поддерживает методы GET и POST HTTP, прокси HTTP и HTTPS, несколько аутентификаций и т. д.

8. Vega

Vega разработан Subgraph, многоплатформенное программное обеспечение, написанное на Java, для поиска XSS, SQLi, RFI и многих других уязвимостей.

Vega получил удобный графический интерфейс и способен выполнять автоматическое сканирование, войдя в приложение с заданными учетными данными.

Если вы разработчик, вы можете использовать vega API для создания новых модулей атаки.

9. SQLmap

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

Он работает с Python 2.6 или 2.7 на любой ОС. Если вы хотите найти SQL-инъекцию и использовать базу данных, то sqlmap будет полезен как никогда.

10. Grabber

Это небольшой инструмент, основанный на Python, делает несколько вещей достаточно хорошо.

Некоторые из функций Grabber:

Анализатор исходного кода JavaScript
Межсайтовый скриптинг, SQL-инъекция, слепое внедрение SQL
Тестирование PHP-приложений с использованием PHP-SAT

11. Golismero

Фреймворк для управления и запуска некоторых популярных инструментов безопасности, таких как Wfuzz, DNS recon, sqlmap, OpenVas, анализатор роботов и т. д.).

Golismero может консолидировать отзывы от других инструментов и показать один результат.

12. OWASP Xenotix XSS

Xenotix XSS OWASP – это расширенная инфраструктура для поиска и использования межсайтовых скриптов.

Он имеет встроенные три интеллектуальных фьюзера для быстрого сканирования и улучшения результатов.

 

13. Metascan

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

Подробнее в статье:

http://itsecforu.ru/2018/10/23/✗metascan-сканер-уязвимостей-сайтов-и-сетей/

Использование сканера уязвимостей OpenVAS / Хабр

Сканеры уязвимостей — это программные или аппаратные средства, служащие для осуществления диагностики и мониторинга сетевых компьютеров, позволяющее сканировать сети, компьютеры и приложения на предмет обнаружения возможных проблем в системе безопасности, оценивать и устранять уязвимости. (Википедия).
Известными коммерческими сканерами являются Nessus, GFI LANguard, XSpider.

В отличии от прочих, OpenVAS бесплатен, работает без каких либо ограничений и может пригодится как сетевым администраторам, так и специалистам ИБ для выявления актуальных проблем своей инфраструктуры.

В основе работы OpenVAS-а лежит постоянно пополняемая коллекция NVT тестов безопасности (которых уже больше 30000), а также подключение к базе CVE, описывающей известные уязвимости. Исполнение NVT тестов позволяет выявить уязвимость, а CVE обеспечивает описание проблемы и способы её решения.

Приступим.

1. Выбор железа.
Тут все просто, если предстоит сканировать часто и большие диапазоны адресов, то чем мощнее железо, тем лучше. Можно увеличивать число параллельных потоков обработки сетевых адресов, да и само сканирование по каждому хосту будет проходить быстрее.

2. Установка.
Тут я выбираю наименее проблемный для меня способ установки из пакетов.
Заходим на адрес.
www.openvas.org/install-packages.html
Выбираем нужный дистрибутив и устанавливаем.

В моем случае это CentOS и репозитарий atomicorp. Скрипт сам скачает все зависимости, проведет первоначальное обновление базы уязвимостей и пропишет нужные настройки. В процессе попросит придумать логин и пароль для доступа в Openvas.

3. Использование.
Переходим по адресу localhost:9392 вводим логин и пароль и мы в консоли управления Greenbone Security Assistant.

Далее пример работы с Openvas для сканирования диапазона внутренней сети. Основные настройки заточены под оптимальную скорость проверки каждого хоста.

3.1 Выбираем конфигурацию сканирования.
Идем в раздел Configuration – Scan Configs.

Видим 4 стандартных политики и 1 пустую.

Политики делятся на 2 группы – fast и deep.
Принципиальное различие — в deep не учитывается работа каждого предыдущего скрипта проверки и сбор информации начинается заново.

По моим тестам, это существенно увеличило время сканирования каждого хоста, при отсутствии значимого результата. Поэтому поэтому для большей скорости выбираем политику Full and fast ultimate и клонируем ее нажав на значок овечки .
Теперь, для клона, нам доступны опции редактирования и нажав на значок гаечного ключа , заглянем внутрь.

Опций великое множество, несколько сотен, на скрине, только самое начало. Все опции сгруппированы по подразделам NVT тестов по различным типам операционных систем и сетевого оборудования, по настройкам различных подключаемых утилиты типа nmap, nikto и др.

Называем нашу новую политику Office_scan_config.

Спустимся ниже.

Обращаю внимание на следующие пункты.

safe_check–отключение позволит запускаться потенциально опасным NVT тестам, выполнение которых может вызвать падение тестируемого хоста. Использовать аккуратно.

optimize_test– переключатель который задает использовать fast или deep сканирование.

Далее спускаемся до пунктов PingHost и выставляем переключатели, как на скриншоте.

Это позволит сразу исключать пустые адреса и не тратить на них время сканера. Остальные пункты не трогаем.
Не забываем сохранить принятые изменения.

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

Если не конфигурировать, Openvas ограничится удаленными проверками.

Идем в раздел Configuration –Credentials.
Создаем новую запись, нажав на значок звездочки .
Допустим у нас windows сеть в домене, есть пользователь sec_check, с правами локального администратора на нужных машинах, тогда это будет выглядеть так.

Сохраняем и идем дальше.

3.3 Устанавливаем цели сканирования.
Далее нам нужно забить диапазон адресов для сканирования и определится с набором портов, которые будет проверять Openvas.

Идем в раздел Configuration –Target. Создаем новую цель, нажав на значок звездочки. Задаем ей имя office.

Тут в принципе все понятно, в разделе SMB, мы подключили ранее созданного пользователя для проведения локальных проверок.
В разделе PortList, подключается нужный диапазон портов, в данном случае предлагаемый Nmap-ом набор популярных портов. Выбор в пользу такого диапазона, сделан опять же в пользу оптимизации, дабы не лопатить все 65 тысяч.
В разделе Hosts указываем диапазон ip.

3.4 Запуск!
Идем в раздел ScanManagement — Task. Создаем новую задачу, нажав на значок звездочки.

Последовательно выбираем ранее созданные конфигурации и нажимаем на кнопку CreateTask.

Стартуем.
Идем пить чай.В зависимости от насыщенности сети и мощности сервера, процесс может занять до нескольких часов.

По окончанию процесса мы можем нажать на значок лупы и просмотреть все найденные проблемы.

Типичный алерт.


4. Обновления.
Периодически необходимо подкачивать актуальные сведения об уязвимостях и тесты их выявляющие.
Делается это либо из браузера в разделе Administration. (поочередно во всех 3-х разделах: nvt,scap,cert)

Либо из командной строки, последовательными командами.

openvas-nvt-sync
openvassd
openvasmd --rebuild
openvas-scapdata-sync
openvas-certdata-sync
killall openvassd
/etc/init.d/openvas-scanner restart
/etc/init.d/openvas-manager restart
/etc/init.d/openvas-administrator restart
/etc/init.d/greenbone-security-assistant restart

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

Полезные приемы работы в Greenbone Security Assistant. можно найти тут

www.greenbone.net/learningcenter/index.html

Успехов в использовании.

Сканирование уязвимостей. Глава из книги «Kali Linux. Тестирование на проникновение и безопасность»

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

О книге

Перед тобой — шестая глава из книги «Kali Linux. Тестирование на проникновение и безопасность», которую мы публикуем по договоренности с издательством «Питер». Коллектив авторов этой книги структурировал информацию о пентестах — от подготовки исследовательской лаборатории до составления отчетов о проделанной работе. Давай пройдемся по ее оглавлению, чтобы ты мог составить лучшее представление о содержимом.

Главы 1 и 2. Установка и настройка Kali Linux, создание испытательной лаборатории. В первых двух главах описано, как обустроить свою тестовую лабораторию, точнее — компьютер с VirtualBox. Авторы в числе прочего рассказывают, какие дистрибутивы лучше использовать в качестве целевых уязвимых систем.

Глава 3. Методология тестирования на проникновение. Здесь дается теоретический минимум обо всех этапах взлома, добыче информации и заметании следов. Дальнейшее повествование будет следовать приведенному в этой главе эталонному плану атаки.

Глава 4. Получение отпечатка и сбор информации. Здесь описан первый этап пентеста — сбор данных об исследуемой системе: имена хостов, IP-адреса, конфигурации оборудования, имена сотрудников компании и другие сведения. Также разбираются утилиты Kali, которые служат для автоматизации разведки.

Глава 5. Методы сканирования и уклонения. В ней рассказано, как идентифицировать машины, находящиеся в локальной сети организации, и определить их ОС. Существуют утилиты для создания «отпечатков операционных систем», о них рассказано во второй части главы.

Глава 6. Сканирование уязвимостей. Шестая глава, которую мы опубликовали целиком, повествует об обнаружении дыр в безопасности.

Глава 7. Социальная инженерия. Эта глава посвящена социальной инженерии. Здесь эта тема раскрыта не так полно, как в книге Кевина Митника «Искусство обмана», но в достаточной для понимания вопроса степени. Для простоты запоминания авторы выделяют шесть методов психологической атаки: подражание, взаимный обмен, влияние авторитета, использование жадности, налаживание социальных взаимоотношений, сила любопытства. Также здесь описано создание флешки для скрытного получения данных с компьютера.

Глава 8. Целевая эксплуатация. Здесь дается описание эксплоитов, приведены ссылки на ресурсы, где их можно найти, подробно рассказано о Metasploit и показано, как создать свой эксплоит с применением этого популярного фреймворка.

Глава 9. Повышение привилегий и поддержание доступа. Помимо вопросов эскалации привилегий, в этой главе рассмотрено создание бэкдора в скомпрометированной системе. И в качестве бонуса приводятся инструменты подбора пароля.

Глава 10. Тестирование веб-приложений. В десятой главе рассказывается о включенных в стандартную поставку Kali Linux инструментах тестирования веб-приложений: nikto, OWASP ZAP, Burp Suite, Paros и прочих.

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

Глава 12. Мобильное тестирование на проникновение с Kali NetHunter. Не всегда удобно проводить пентесты на ноутбуке. Для таких экстремальных случаев был создан Kali NetHunter — его устанавливают на некоторые смартфоны поверх Android.

Глава 13. PCI DSS: сканирование и тестирование на проникновение. Эта глава посвящена стандарту безопасности данных индустрии платежных карт (PCI DSS). В ней рассказывается, какие требования предъявляются к этому стандарту, кто и как проводит тестирование организаций, систем и процессов, подлежащих стандарту.

Глава 14. Инструменты для создания отчетов о тестировании на проникновение. Составление отчета — самое скучное занятие. Но и об этом позаботились создатели дистрибутива Kali Linux! Они включили в его состав фреймворк Draids, предназначенный для составления отчетности по пентестам. В последней главе книги подробно обсуждаются документация, предоставление и проверка результатов тестирования, типы отчетов, подготовка презентации, а также действия, которые необходимо предпринять после тестирования.

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

В этой главе мы обсудим два общих типа уязвимостей и представим различные стандарты для их классификации. Мы также рассмотрим некоторые известные инструменты оценки уязвимости, предоставляемые в рамках операционной системы Кали Linux. В этой главе излагаются следующие темы.

  • Понятия двух общих типов уязвимостей: локальные и удаленные.
  • Классификация уязвимостей, указывающая на отраслевой стандарт, который может быть использован для систематизации любой уязвимости и распределения в соответствии с определенными признаками.
  • Знакомство с несколькими инструментами для поиска и анализа уязвимостей, присутствующих в целевой среде. Представленные инструменты распределены в соответствии с их основными функциями, связанными с оценкой безопасности. Это такие инструменты, как Nessus, Cisco, SMB, SNMP и средства анализа веб-приложений.

Обратите внимание, что независимо от того, тестируем мы внешнюю или внутреннюю сеть, ручные и автоматизированные процедуры оценки уязвимостей должны использоваться поровну. Если задействовать только автоматический режим, можно получить большое количество ложных срабатываний и отрицаний. Кроме того, очень важна теоретическая подготовка испытателя на проникновение, а также то, насколько хорошо он знает инструменты, с помощью которых будет выполняться тест. Аудитору постоянно нужно совершенствовать свои знания и навыки.

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

Технические требования

Ноутбук или настольный компьютер с объемом оперативной памяти не менее 6 Гбайт, четырехъядерный процессор и 500 Гбайт места на жестком диске. В качестве операционной системы мы используем Kali Linux 2018.2 или 2018.3 (как виртуальную машину или систему, установленную на жестком диске, SD-карте или USB-накопителе).

Типы уязвимостей

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

  • Уязвимости при разработке — обнаруживаются из-за недостатков в технических требованиях к программному обеспечению.
  • Уязвимости реализации — технические ошибки безопасности, найденные в коде системы.
  • Эксплуатационные уязвимости — уязвимости, которые могут возникнуть из-за неправильной настройки и разворачивания системы в целевой среде.

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

Локальные уязвимости

Если злоумышленник получает доступ, выполняя часть кода, это называется локальной уязвимостью. Воспользовавшись данной уязвимостью, злоумышленник может повысить свои права доступа и получить неограниченный доступ к компьютеру.

Рассмотрим пример, в котором злоумышленник Боб имеет локальный доступ к системе, работающей под управлением Windows Server 2008 (32-разрядная платформа x86). Доступ ему был ограничен администратором при реализации политики безопасности, в результате чего Бобу стало недоступно определенное приложение. В экстремальных условиях Боб обнаружил, что с помощью вредоносного фрагмента кода он может получить доступ к компьютеру на уровне системы или ядра. Воспользовавшись хорошо известной уязвимостью (например, CVE-2013-0232, GP Trap Handler nt!KiTrap0D), он повысил свои права доступа, что позволило ему выполнять все административные задачи и получать неограниченный доступ к приложению. Это ясно показывает нам, как злоумышленник воспользовался уязвимостью для получения несанкционированного доступа к системе.

Удаленная уязвимость

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

Например, Боб и Алиса подключены к Интернету с разных устройств. У них разные IP-адреса, да и живут они в разных местах. Предположим, компьютер Алисы работает под управлением операционной системы Windows XP и содержит секретную биотехнологическую информацию, а Бобу известен IP-адрес машины Алисы и то, какая операционная система установлена на этом компьютере. Боб ищет решение, которое позволит ему получить удаленный доступ к компьютеру Алисы. Со временем он узнает, что уязвимость службы Windows Server MS08-067 может быть легко использована удаленно на компьютере под управлением операционной системы Windows XP. Затем он запускает эксплойт против компьютера Алисы и получает к машине полный доступ.

Систематизация уязвимостей

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

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

WWW

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

Автоматическое сканирование уязвимостей

Испытатели на проникновение очень осторожно относятся к автоматическому сканированию уязвимостей и иногда говорят, что это просто мошенничество. Хотя, если мало времени, автоматические сканеры уязвимостей могут помочь получить большой объем информации о целевой сети.

Nessus 7

Tenable’s Nessus был разработан два десятилетия назад и до сих пор остается очень популярным инструментом оценки уязвимостей. На Nessus можно подписаться на год. Однако хорошие люди в Tenable создали седьмую версию Nessus Professional и предлагают пробную версию всем, кто желает с нею ознакомиться.

Перед установкой вам необходимо узнать, какая версия Kali Linux установлена на вашем компьютере. Это поможет вам скачать ту версию Nessus, которая будет без сбоев работать с вашей операционной системой.

Введите в командную строку терминала команду uname --a (рис. 6.1).

Рис. 6.1. Проверка версии Kali Linux

На рис. 6.1 видно, что я использую 64-разрядную версию (amd64) Kali Linux на основе Debian. Таким образом, мне нужно будет загрузить 64-разрядную версию Nessus, предназначенную для сборок Debian.

Установка сканера уязвимостей Nessus. Чтобы установить Nessus в Kali Linux, откройте браузер и перейдите на страницу Nessus.

Ознакомительная версия поставляется со всеми функциями полной версии, за исключением ограничений 16-IP.

Чтобы получить пробную версию, вам потребуется зарегистрироваться в Tenable. По электронной почте вы получите код подтверждения. После получения письма с кодом подтверждения вы можете скачать нужную версию Nessus в Kali Linux (рис. 6.2).

Рис. 6.2. Предлагаемые для скачивания версии Nessus

Выберите версию Nessus, соответствующую вашей операционной системе. Чтобы согласиться с условиями использования, нажмите кнопку Accept (Принять). Далее в появившемся диалоговом окне нажмите кнопку Save File (Сохранить файл). Файл будет сохранен на вашем компьютере в папке Downloads. Мы для этого примера загрузили 64-битную версию Nessus (Nessus-7.1.3-debian6_amd64.deb).

После того как загрузка будет завершена, запустите новый терминал и перейдите в каталог загрузок. Для этого введите в командную строку команду cd Downloads. Далее просмотрите содержимое каталога, введя команду ls. С помощью этого действия вы можете убедиться, что файл действительно скачан и сохранен в целевой папке. Кроме того, вы можете скопировать имя установочного файла, чтобы вставить его в следующую команду. Далее, чтобы установить Nessus, введите команду dpkg --i Nessus-7.1.3-debian6_amd64.deb, как показано на рис. 6.3.

Рис. 6.3. Установка Nessus

INFO

Если будут доступны новые версии Nessus, для выполнения команды dpkg -i скопируйте имя скачанного файла загрузки и его версию.

Не выходя из каталога Downloads, запустите службу Nessus. Для этого введите команду service nessusd start. При появлении следующего запроса укажите пароль для Kali Linux (рис. 6.4).

Рис. 6.4. Запуск службы Nessus

Для работы с Nessus откройте браузер, введите в адресную строку https://localhost:8834 и нажмите клавишу Enter. Когда появится баннер с предупреждением об опасности, нажмите кнопку Advanced (Дополнительно), далее нажмите кнопку Add Exception (Добавить исключение) и в конце — кнопку Confirm Security Exception (Подтвердить исключение безопасности) (рис. 6.5).

Для продолжения запуска службы выполните следующие шаги.

1. Создайте сначала учетную запись, указав имя пользователя и свой аккаунт, после чего нажмите кнопку Continue (Продолжить).

Рис. 6.5. Добавление исключения

2. Оставьте предлагаемые по умолчанию настройки Home, Professional или Manager, введите в поле ввода Activation Code (Код активации) полученный по электронной почте код активации и нажмите кнопку Continue (Продолжить).

Если все пройдет удачно, Nessus начнет инициализацию, загрузит и скомпилирует необходимые плагины (рис. 6.6).

Рис. 6.6. Инициализация Nessus

INFO

В зависимости от скорости вашего соединения с Интернетом данная процедура может продлиться некоторое время. Пока будет происходить установка, можете зайти на сайт www.packtpub.com и посмотреть еще книги от Packt Publishing по Kali Linux и по тестированию на проникновение.

После завершения всех обновлений будет загружен интерфейс Nessus. Нажмите расположенную в правом верхнем углу кнопку New Scan (Новое сканирование), чтобы просмотреть все доступные типы сканирования (рис. 6.7).

Рис. 6.7. Доступные виды сканирования

Здесь предлагается для использования большое количество шаблонов сканирования. Есть несколько шаблонов, которые доступны только по платной подписке. Кроме обнаружения узлов и расширенного сканирования, Nessus проводит расширенное сканирование уязвимостей, в том числе следующих типов.

  • Сканирование облачной инфраструктуры.
  • Локальное и удаленное сканирование обнаруженных поврежденных оболочек.
  • Сканирование внутренней сети PCI.
  • Сканирование вредоносных программ Linux и Windows.
  • Сканирование Meltdown и Spectre.
  • Сканирование программ-вымогателей WannaCry.
  • Сканирование веб-уязвимостей.

Некоторые из них показаны на рис. 6.8.

Чтобы продемонстрировать обнаружение уязвимостей, воспользуемся уязвимым веб-сервером Linux. В главе 2 мы рассказывали, как настроить Metasploitable 2, Metasploitable 3, очень уязвимую систему Linux и BadStore.

В окне сканера щелкните на шаблоне Advanced Scan (Расширенное сканирование) и в разделе BASIC (Основное) заполните поля ввода. В поле Targets (Цели) укажите IP-адрес целевой машины или диапазон IP-адресов целевых машин, которые должны быть просканированы с помощью шаблона расширенного сканирования (рис. 6.9).

Рис. 6.8. Некоторые из видов сканированияРис. 6.9. Указываем цели

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

  • DISCOVERY (Открытие). Nessus использует ряд различных методов для обнаружения действующих в данное время хостов. Здесь можно задать определенные параметры для их обнаружения.
  • ASSESSMENT (Оценивание). Здесь вы можете задать тип и глубину сканирования.
  • REPORTING (Отчетность). При подготовке отчета о тестировании на проникновение важно иметь подробную информацию о проверке уязвимостей. Эта функция позволяет задать параметры отчетов.
  • ADVANCED (Дополнительно). Расширенные настройки позволяют изменять не только количество сканируемых хостов, но и другие параметры синхронизации.

После настройки сканирования можно выбрать команду Save (Сохранить) или Launch (Запустить). Вы увидите список My Scan (Мои сканирования).

Щелкните кнопкой мыши на значке Play (Воспроизведение), который расположен справа от имени шаблона сканирования. Будет запущено сканирование. Если щелкнуть на имени шаблона сканирования во время проведения теста, на экране вы увидите общую информацию о сканируемой целевой машине и об уязвимости (рис. 6.10).

Рис. 6.10. Общая информация о сканировании

Если щелкнете кнопкой мыши на сканируемом целевом компьютере, то увидите более подробный список обнаруженных уязвимостей. Уязвимости имеют цветовую маркировку:

  • красный — критический уровень;
  • оранжевый — высокий;
  • желтый — средний;
  • зеленый — низкий;
  • синий — содержит информацию.

Как видно на рис. 6.11, при сканировании в общей сложности было обнаружено 70 уязвимостей, из которых шесть являются критическими и 17 — высокого уровня. Это значит, что машина очень уязвима.

Рис. 6.11. Отчет о найденных уязвимостях

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

Рис. 6.12. Отображение найденных уязвимостей в порядке от критических до информационных

Полученная информация включает в себя сведения не только об уязвимости, но и об эксплойтах. Она позволяет испытателю запланировать и осуществить дополнительные атаки на эти уязвимости (рис. 6.13).

Рис. 6.13. Создание отчетности

Nessus — мощный инструмент с большим количеством функциональных возможностей, который можно использовать при тестировании на проникновение. Он предоставляет большой объем информации. К сожалению, в этом разделе мы не сможем рассмотреть весь функционал программы, но рекомендуем вам потратить некоторое время на самостоятельное изучение доступных функций. Обратите внимание, что Tenable предлагает бесплатно протестировать и домашнюю версию. Если же вы желаете протестировать внешние IP-адреса или применяете Nessus для клиента, вам придется воспользоваться платной версией.

OpenVAS

Open Vulnerability Assessment System (открытая система оценки уязвимостей, OpenVAS) — фреймворк, состоящий из нескольких сервисов и утилит. OpenVAS — это сканер с открытым исходным кодом. Он прост в установке и имеет удобный интерфейс, позволяющий выполнять активный мониторинг (с активными действиями в сети). Согласно сайту http://www.openvas.org/about.html при работе OpenVAS использует коллекцию уязвимостей, состоящую из 50 000 тестов (NVTs). OpenVAS является основой линейки профессиональных устройств Greenbone Secure Manager.

Чтобы установить OpenVAS, откройте терминал и введите команду apt-get install openvas (рис. 6.14).

Когда установка OpenVAS будет завершена, для запуска конфигурации введите в командную строку терминала команду openvas-setup. Процесс конфигурации займет некоторое время, в зависимости от загрузки сети и скорости подключения к Интернету (рис. 6.15).

Рис. 6.14. Установка OpenVASРис. 6.15. Конфигурация приложения

В конце процесса установки и настройки OpenVAS сгенерирует пароль, который потребуется при запуске OpenVAS (рис. 6.16).

Рис. 6.16. Пароль сгенерирован

Для запуска сервиса OpenVAS введите команду openvas-start. Далее запустите браузер и введите в адресную строку https://127.0.0.1:9392 или https://localhost:9392.

INFO

При повторном использовании OpenVAS откройте терминал и введите команду openvas-start. Новую установку запускать не следует.

Вам после ввода предыдущего URL-адреса снова придется добавить исключение безопасности. Для этого нажмите кнопку Advanced (Дополнительно), далее — кнопку Add Exception (Добавить исключение), а затем кнопку Confirm Security Exception (Подтвердить исключение безопасности) (рис. 6.17).

При появлении запроса войдите в систему, введя имя пользователя admin и пароль, сгенерированный в процессе установки. Убедитесь, что логин и пароль надежно сохранены, так как вам при работе с OpenVAS неоднократно потребуется входить в систему (рис. 6.18).

Чтобы запустить сканирование, щелкните на ярлыке вкладки Scans (Сканирования), а затем на строке Tasks (Задачи). Откроется информационное окно, в котором нужно выбрать мастер задач. Он представлен в виде фиолетового значка, расположенного в левом верхнем углу экрана (рис. 6.19).

Рис. 6.17. Подтверждение добавления исключения безопасностиРис. 6.18. Запуск OpenVASРис. 6.19. Запуск сканирования

В открывшемся меню щелкните на строке Advanced Task Wizard (Мастер расширенных задач). В появившихся полях введите соответствующую информацию (рис. 6.20). Обратите внимание: поле Scan Config (Конфигурация сканирования) имеет на выбор несколько типов сканирования, включая Discovery (Обнаружение), Full and fast (Полное и быстрое), Full and fast ultimate (Полное и быстрое окончательное) и Full and very deep ultimate (Полное и очень глубокое окончательное) (наиболее трудоемкий и затратный по времени вариант).

Рис. 6.20. Создаем новую задачу

Параметр Start time (Время начала) позволяет испытателю на проникновение запланировать сканирование. Это очень полезная функция. Сканирование может нарушать работу сети, поэтому его лучше выполнять тогда, когда сеть не сильно загружена, то есть в нерабочее время или в выходные дни.

После того как все поля будут заполнены, прокрутите страницу вниз и нажмите кнопку Create (Создать). В результате запустится сканирование и на экране появится сводка сведений о сканировании и состоянии (рис. 6.21).

Рис. 6.21. Сканирование запущено

Чтобы просмотреть дополнительные сведения о задаче, в поле Name (Имя) щелкните на имени задачи (рис. 6.22).

Рис. 6.22. Дополнительные сведения о задаче

По завершении сканирования нажмите кнопку Done (Готово). При этом будет создан отчет со списком обнаруженных уязвимостей и оценкой степени угрозы для каждой из них (рис. 6.23).

Рис. 6.23. Отчет о сканировании

Если щелкнуть кнопкой мыши на любой из перечисленных уязвимостей, отобразятся дополнительные сведения, такие как Summary (Сводка), Impact (Влияние), Solution (Решение), Affected Software/OS (Уязвимое программное обеспечение) и др. (рис. 6.24).

Рис. 6.24. Дополнительные сведения

Сканирование уязвимостей Linux с помощью Lynis

Разработанное компанией Cisofy (www.cisofy.com) приложение Lynis — это инструмент проверки безопасности, который управляется из командной строки Kali Linux. Это бесплатная программа, но доступна и корпоративная версия. Lynis используется для автоматизированной оценки безопасности и сканирования уязвимостей в различных версиях операционных систем Linux, macOS X и Unix.

В отличие от других приложений такого типа Lynis специализируется на проверке безопасности законодательных актов о передаче и защите сведений учреждений здравоохранения (HIPAA), защите стандарта безопасности платежных карт PCI DSS, систем внутреннего контроля SOX и GLBA. Это приложение позволит предприятиям, использующим различные стандарты, обеспечить безопасность своих систем.

Lynis можно загрузить и установить самостоятельно. Установка приложения в целевой системе сэкономит трафик, по сравнению с установкой на удаленном компьютере.

Для запуска Lynis в Kali выберите команду меню ApplicationsVulnerability AnalysisLynis (ПриложенияАнализ уязвимостейLynis). Для запуска приложения из командной строки введите в терминале команду lynis. Она отобразит установленную версию Lynis (в данном случае 2.6.2) и инициализирует программу. Вы также увидите список всех параметров команды (рис. 6.25).

Рис. 6.25. Список параметров команды Lynix

Если вы подзабыли нужную команду, введите lynis show commands (рис. 6.26).

Lynis — полностью механизированный инструмент проверки безопасности, у которого есть минимальный набор команд. Чтобы проверить вашу машину Kali Linux, просто введите lynis audit system. Время, которое займет проверка, зависит от характеристик проверяемой машины Kali Linux. Обычно проверка длится от 15 до 30 минут. Результат проверки показан на рис. 6.27.

Рис. 6.26. Отображение команд LynixРис. 6.27. Результат проверки машины Kali Linux

Результаты проверки включают в себя сведения:

  • о версии Debian;
  • загрузке и службах;
  • ядре;
  • памяти и процессоре;
  • пользователях, группах и проверке подлинности;
  • оболочке;
  • файловой системе;
  • USB-устройствах;
  • сети и брандмауэрах;
  • портах и принтерах;
  • надежности ядра.
Рис. 6.28. Сведения, полученные с помощью Lynix

На рис. 6.29 показан фрагмент результатов проверки Lynis с четырьмя предупреждениями и 40 предложениями.

Рис. 6.29. Фрагмент результатов проверки

Прокрутив результаты теста до конца, мы увидим общую сводку по проверке (рис. 6.30).

Рис. 6.30. Общая сводка по проверке компьютера

Сканирование и перечисление уязвимостей с помощью SPARTA

SPARTA — это инструмент с пользовательским интерфейсом для тестирования на проникновение сети. Авторы приложения — Антонио Кин (Antonio Quina) и Леонидас Ставлиотис (Leonidas Stavliotis) из компании SECFORCE. SPARTA — стандартное приложение Kali Linux. В рамках одного инструмента оно автоматизирует процессы сканирования, перечисления и оценки уязвимостей. Кроме функций сканирования и перечисления, в SPARTA также встроено средство для взлома паролей с помощью грубой силы.

WWW

Последние версии SPARTA можно загрузить из GitHub и клонировать на локальную машину. Для этого достаточно ввести команду git clone https://github.com/secforce/sparta.git.

Для запуска SPARTA в Kali Linux 2018 выберите команду меню Applications → Vulnerability Analysis → SPARTA (Приложения → Анализ уязвимостей → SPARTA). Чтобы добавить в область проверки целевую машину или группу целевых машин, в графическом интерфейсе SPARTA 1.0.3 щелкните кнопкой мыши на левой панели. Далее добавьте в поле ввода IP Range (IP-диапазон) диапазон проверяемых IP-адресов (рис. 6.31).

Рис. 6.31. Диапазон IP-адресов для проверки введен

После того как IP адреса узлов сети будут добавлены, нажмите кнопку Add to scope (Добавить в область). Начнется поэтапное сканирование целевых объектов (рис. 6.32).

Рис. 6.32. Процесс сканирования узла сети

После завершения сканирования карты сети в основном окне SPARTA появятся следующие вкладки: Services (Службы), Scripts (Сценарии), Information (Информация), Notes (Заметки), Nikto и Screenshot (Скриншоты), на которых вы найдете очень полезную информацию.

По умолчанию сначала откроется вкладка Services (Службы) со списком открытых портов и служб (рис. 6.33).

Рис. 6.33. Вкладка Services (Службы) со списком открытых портов и служб

Если откроете вкладку Information (Информация), то увидите собранную информацию о целевой машине. Там будет указан IP, количество открытых, закрытых и отфильтрованных портов (если таковые имеются), а также операционная система вместе с ее версией и значение точности определения информации (рис. 6.34).

Рис. 6.34. Вкладка Information (Информация)

Поскольку в нашем случае целевой машиной был выбран Linux-сервер, применен инструмент сканирования Nikto. Чтобы просмотреть список найденных уязвимостей, откройте вкладку nikto (80/tcp) (рис. 6.35).

Рис. 6.35. Вкладка nikto (80/tcp)

Многие из обнаруженных уязвимостей имеют префикс OSVBD, который указывает на то, что информацию о них можно искать в базах данных сайтов Common Vulnerabilites and Exposures (CVE) и Open Source Vulnerabilities Database (OSVDB).

Для получения подробной информации испытатель на проникновение может воспользоваться простым поиском Google, введя в поисковую строку название уязвимости, например OSVDB-3268, которая была выявлена при предыдущем сканировании. Впоследствии выявленные уязвимости могут быть использованы, например, инструментом Metasploit. Но об этом поговорим в следующих главах.

Теперь посмотрим на другую сканируемую машину под управлением операционной системы Windows. В области Hosts (Хосты) слева найдите IP-адрес 10.10.22.217 и щелкните на нем кнопкой мыши. Далее откройте вкладку Services (Службы) (рис. 6.36). Здесь вы увидите список открытых портов.

Рис. 6.36. Вкладка Services (Службы) с информацией о портах машины 10.10.22.217

Из этой информации видно, что исследуемая нами машина работает под управлением Windows. Для обследования портов данной машины в SPARTA был запущен инструмент smbenum. С его помощью мы проверили наличие нулевых сессий и просмотрели этот компьютер. В ходе этих операций мы, в частности, искали сведения о пользователях и общих ресурсах (рис. 6.37).

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

На рис. 6.38 вы видите контекстное меню, появившееся после того, как мы щелкнули правой кнопкой мыши на строке open port 3306. Используя команды этого контекстного меню, вы можете попробовать открыть порт с помощью Telnet, Netcat, или клиента MySQL. Для клиента MySQL вам потребуются права root. Вы также можете попытаться взломать пароли с применением грубой силы.

Рис. 6.37. Отчет об исследовании с помощью инструмента smbenum (445/tcp)Рис. 6.38. Контекстное меню для порта 3306

Если в контекстном меню выбрать команду Send to Brute (Отправить в Brute), то через выбранный порт будет предпринята попытка атаки с помощью инструмента взлома пароля THC Hydra. Наряду с другими вариантами для получения нужных данных можно применять списки с именами пользователей и паролей. Указав необходимые параметры, нажмите кнопку Run (Выполнить), чтобы предпринять попытку атаки.

Рис. 6.39. Вкладка инструмента Brute

Это далеко не единственные инструменты, доступные в SPARTA. Если, допустим, щелкнуть правой кнопкой мыши на open port 445 компьютера под управлением операционной системы Windows, вы увидите большой список инструментов (рис. 6.40).

Рис. 6.40. Список команд контекстного меню для компьютера под управлением Windows

Резюме

В этой главе мы обсудили, как с помощью нескольких инструментов Kali Linux выявить и проанализировать критические уязвимости системы безопасности. Мы также рассмотрели три основных класса уязвимостей: проектирование, реализацию и эксплуатацию — и разобрались, как их можно распределить по двум общим типам уязвимостей: локальных и удаленных. Затем мы обсудили несколько таксономий уязвимостей, которыми можно воспользоваться при проверке безопасности, и классифицировали их по схожести шаблонов.

Далее мы познакомили вас с несколькими инструментами, с помощью которых можно провести автоматическое сканирование системы и выявить имеющиеся уязвимости. Это такие инструменты, как Nessus, OpenVAS, Lynis и SPARTA.

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

Вопросы

  1. Какова связь между уязвимостью и эксплойтом?
  2. Уязвимости какого класса считаются наиболее опасными?
  3. Каково определение удаленной уязвимости?
  4. Какой инструмент может выполнять внутреннее и внешнее сканирование PCI DSS?
  5. Какой инструмент был создан специально для аудита Linux-систем?
  6. Какой инструмент интегрирован в SPARTA для выполнения сканирования сайта?

WWW

Сканер уязвимостей web-приложений обзор, сравнение, лучшие продукты, внедрения, поставщики.

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

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

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

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

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

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

Сканеры веб-уязвимостей - SecTools Top Network Security Tools


SecTools.Org: 125 самых популярных инструментов сетевой безопасности

Более десяти лет Nmap Проект каталогизирует сообщества сетевой безопасности любимые инструменты. В 2011 году этот сайт стал намного более динамичным, предлагая рейтинги, обзоры, поиск, сортировка и форма предложения нового инструмента. На этом сайте доступны инструменты с открытым исходным кодом и коммерческие инструменты на любой платформе, кроме тех инструментов, которые мы поддерживаем (таких как сканер безопасности Nmap, сетевой коннектор Ncat и манипулятор пакетов Nping).

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

20 инструментов

Burp Suite - это интегрированная платформа для атак на веб-приложения.Он содержит множество инструментов с многочисленными интерфейсами между ними, предназначенными для облегчения и ускорения процесса атаки на приложение. Все инструменты используют одну и ту же структуру для обработки и отображения HTTP-сообщений, сохраняемости, аутентификации, прокси, ведения журналов, предупреждений и расширяемости. Существует ограниченная бесплатная версия, а также Burp Suite Professional (299 долларов за пользователя в год). Прочитать 27 отзывов.

Последний выпуск: версия 1.4.01 3 июня 2011 г. (9 лет 7 месяцев назад).

Nikto - это сканер веб-серверов с открытым исходным кодом (GPL), который выполняет комплексные тесты на веб-серверах для нескольких элементов, включая более 6400 потенциально опасных файлов / CGI, проверяет устаревшие версии более 1200 серверов и проблемы, связанные с конкретными версиями, на более чем 270 серверах. Он также проверяет элементы конфигурации сервера, такие как наличие нескольких файлов индекса, параметры HTTP-сервера, и пытается идентифицировать установленные веб-серверы и программное обеспечение.Элементы сканирования и плагины часто обновляются и могут обновляться автоматически. Прочитать 57 отзывов.

Последний выпуск: версия 2.1.4 от 20 февраля 2011 г. (9 лет 10 месяцев назад).

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

Последний выпуск: версия 1.1 от 11 октября 2011 г. (9 лет 3 месяца назад).

Веб-прокси на основе Java для оценки уязвимости веб-приложений. Он поддерживает редактирование / просмотр сообщений HTTP / HTTPS на лету для изменения таких элементов, как файлы cookie и поля формы. Он включает в себя регистратор веб-трафика, веб-паук, хеш-калькулятор и сканер для тестирования распространенных атак веб-приложений, таких как SQL-инъекции и межсайтовые сценарии.Прочитать 6 отзывов.

Последний выпуск: версия 3.2.13 от 8 августа 2006 г. (14 лет 5 месяцев назад).

В своей простейшей форме WebScarab записывает разговоры (запросы и ответы), которые он наблюдает, и позволяет оператору просматривать их различными способами. WebScarab разработан как инструмент для всех, кому необходимо раскрыть работу приложения на основе HTTP (S), чтобы позволить разработчику отлаживать другие сложные проблемы или позволить специалисту по безопасности выявлять уязвимости в способе, которым приложение был разработан или реализован.Прочтите 2 отзыва.

Последний выпуск: версия 20100820-1632 от 20 августа 2010 г. (10 лет 4 месяца назад).

sqlmap - это инструмент тестирования на проникновение с открытым исходным кодом, который автоматизирует процесс обнаружения и использования недостатков SQL-инъекций и захвата внутренних серверов баз данных. Он поставляется с широким спектром функций, от снятия отпечатков с базы данных до извлечения данных из БД и даже доступа к базовой файловой системе и выполнения команд ОС через внеполосные соединения.Авторы рекомендуют использовать разрабатываемый выпуск из своего репозитория Subversion. Прочитать 15 отзывов.

Последний выпуск: версия 0.9 от 11 апреля 2011 г. (9 лет 9 месяцев назад).

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

Последний выпуск: версия 2.10b от 4 декабря 2012 г. (8 лет 1 месяц назад).

Acunetix - это веб-сканер уязвимостей, который автоматически проверяет веб-приложения на наличие уязвимостей, таких как SQL-инъекции, межсайтовый скриптинг, создание / удаление произвольных файлов и слабая надежность пароля на страницах аутентификации.Он может похвастаться удобным графическим интерфейсом, возможностью создавать профессиональные отчеты об аудите безопасности и соответствии, а также инструментами для расширенного ручного тестирования веб-приложений. Прочитать 12 отзывов.

Последний выпуск: версия 11 от 16 ноября 2016 г. (4 года, 1 месяц назад).

AppScan обеспечивает тестирование безопасности на протяжении всего жизненного цикла разработки приложения, упрощая модульное тестирование и обеспечивая безопасность на ранних этапах разработки. Appscan сканирует множество распространенных уязвимостей, таких как межсайтовый скриптинг, разделение HTTP-ответа, подделка параметров, манипуляции со скрытыми полями, бэкдоры / параметры отладки, переполнение буфера и многое другое.AppScan был объединен с подразделением IBM Rational после того, как в 2007 году IBM купила своего первоначального разработчика (Watchfire). Прочтите 2 отзыва.

Последний выпуск: версия 8.5 от 15 ноября 2011 г. (9 лет 1 месяц назад).

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

Последний выпуск: версия 1.8.3.3 от 10 февраля 2011 г. (9 лет 11 месяцев назад).

WebInspect - это инструмент оценки безопасности веб-приложений, который помогает выявлять известные и неизвестные уязвимости на уровне веб-приложений. Он также может помочь проверить, правильно ли настроен веб-сервер и предпринимает ли попытки распространенных веб-атак, таких как внедрение параметров, межсайтовый скриптинг, обход каталога и многое другое.Он был произведен компанией Spidynamics, которая сейчас является частью HP. Прочитать 11 отзывов.

Последний выпуск: версия 9.10 от 27 июня 2011 г. (9 лет 6 месяцев назад).

Wikto - это инструмент, который проверяет веб-серверы на наличие недостатков. Он обеспечивает во многом те же функции, что и Nikto, но добавляет различные интересные функции, такие как Back-End майнер и тесная интеграция с Google. Wikto написан для среды MS .NET, и для загрузки двоичного кода и / или исходного кода требуется регистрация.Прочитать 6 отзывов.

Последний выпуск: версия 2.1.0.0 от 14 декабря 2008 г. (12 лет назад).

Samurai Web Testing Framework - это живая среда Linux, которая была предварительно настроена для работы в качестве среды веб-тестирования на проникновение. Компакт-диск содержит лучшие инструменты с открытым исходным кодом и бесплатные инструменты, предназначенные для тестирования и атак на веб-сайты. Samurai включает в себя множество других инструментов, представленных в этом списке, таких как WebScarab, ratproxy, w3af, Burp Suite и BeEF.Прочитать 5 отзывов.

Последний выпуск: версия 3.3.2 от 22 января 2016 г. (4 года 11 месяцев назад).

Firebug - это надстройка для Firefox, которая обеспечивает доступ к внутренним компонентам браузера. Он включает редактирование HTML и CSS в реальном времени, средство просмотра DOM и отладчик JavaScript. Тестировщики безопасности веб-приложений ценят возможность видеть, что происходит за кулисами браузера. Прочитать 5 отзывов.

Последний выпуск: версия 2.0.12 от 11 августа 2015 г. (5 лет 5 месяцев назад).

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

Последний выпуск: версия 1.58 beta от 1 мая 2009 г. (11 лет 8 месяцев назад).

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

Последний выпуск: версия 1.0.2 от января.15 декабря 2012 г. (8 лет 12 месяцев назад).

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

Последний выпуск: версия 1.1.

DirBuster ищет скрытые страницы и каталоги на веб-сервере. Иногда разработчики оставляют страницу доступной, но без ссылки; DirBuster предназначен для поиска этих потенциальных уязвимостей.Это приложение Java, разработанное OWASP. Прочитать 4 отзыва.

Последний выпуск: версия 2.0-RC1 от 3 марта 2009 г. (11 лет 10 месяцев назад).

Wfuzz - это инструмент для брутфорса веб-приложений, его можно использовать для поиска несвязанных ресурсов (каталоги, сервлеты, скрипты и т. Д.), Брутфорса параметров GET и POST для различных видов инъекций (SQL, XSS, LDAP и т. Д.), Брутфорса параметры формы (пользователь / пароль), фаззинг и др.Просмотрите этот инструмент.

Последний выпуск: версия 2.0 от 4 августа 2011 г. (9 лет 5 месяцев назад).

Wapiti позволяет проверять безопасность ваших веб-приложений. Он выполняет сканирование «черного ящика»; т.е. он не изучает исходный код приложения, но сканирует веб-страницы развернутого веб-приложения в поисках сценариев и форм, в которые он может вводить данные. Получив этот список, Wapiti действует как фаззер, внедряя полезные данные, чтобы проверить, уязвим ли сценарий.Прочитать 5 отзывов.

Последний выпуск: версия 2.2.1 от 29 декабря 2009 г. (11 лет назад).

20 инструментов

Категории

14 лучших сканеров уязвимостей веб-приложений с открытым исходным кодом [обновлено на 2020 год]

Введение

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

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

В этом посте мы перечисляем лучшие бесплатные сканеры уязвимостей веб-приложений с открытым исходным кодом.Я добавляю инструменты в случайном порядке, поэтому не думайте, что это ранжирование инструментов.

Я добавляю только инструменты с открытым исходным кодом, которые можно использовать для поиска уязвимостей в веб-приложениях. Я не добавляю инструменты для поиска уязвимостей серверов. И не путайте бесплатные инструменты и инструменты с открытым исходным кодом! Есть и другие бесплатные инструменты, но они не предоставляют исходный код другим разработчикам. Инструменты с открытым исходным кодом - это те, которые предлагают разработчикам исходные коды, чтобы разработчики могли изменять инструмент или помогать в дальнейшей разработке.

Это лучшие инструменты для тестирования на проникновение веб-приложений с открытым исходным кодом.

1. Захват

Grabber - это сканер веб-приложений, который может обнаруживать множество уязвимостей в веб-приложениях. Он выполняет сканирование и сообщает, где существует уязвимость. Он может обнаруживать следующие уязвимости:

  • Межсайтовый скриптинг
  • SQL-инъекция
  • Тестирование Ajax
  • Включение файла
  • Анализатор исходного кода JS
  • Проверка файла резервной копии

Это не так быстро по сравнению с другими сканерами безопасности, но оно простое и портативное.Его следует использовать только для тестирования небольших веб-приложений, поскольку сканирование больших приложений занимает слишком много времени.

Этот инструмент не имеет графического интерфейса пользователя. Он также не может создавать отчеты в формате PDF. Этот инструмент был разработан, чтобы быть простым и для личного использования. Если вы думаете об этом для профессионального использования, я не буду рекомендовать его.

Этот инструмент был разработан на языке Python, и при желании также доступна исполняемая версия. Исходный код доступен, поэтому вы можете изменить его в соответствии с вашими потребностями.Главный скрипт - grabber.py, который после выполнения вызывает другие модули, такие как sql.py, xss.py или другие.

Загрузите его здесь.

Исходный код на GitHub.

2. Вега

Vega - еще один бесплатный веб-сканер уязвимостей и платформа для тестирования с открытым исходным кодом. С помощью этого инструмента вы можете выполнять тестирование безопасности веб-приложения. Этот инструмент написан на Java и предлагает среду на основе графического интерфейса пользователя. Он доступен для OS X, Linux и Windows.

Его можно использовать для поиска SQL-инъекций, инъекций заголовков, списка каталогов, инъекций оболочки, межсайтовых сценариев, включения файлов и других уязвимостей веб-приложений.Этот инструмент также можно расширить с помощью мощного API, написанного на JavaScript.

При работе с инструментом он позволяет вам установить несколько предпочтений, таких как общее количество потомков путей, количество дочерних путей узла, а также глубину и максимальное количество запросов в секунду. Вы можете использовать Vega Scanner, Vega Proxy и Proxy Scanner, а также сканировать с учетными данными. Если вам нужна помощь, вы можете найти ресурсы в разделе документации:

Документация здесь.

Скачайте Vega здесь.

3. Прокси атаки Zed

Zed Attack Proxy также известен как ZAP. Этот инструмент с открытым исходным кодом разработан OWASP. Он доступен для платформ Windows, Unix / Linux и Macintosh.

Мне лично нравится этот инструмент. Его можно использовать для поиска широкого спектра уязвимостей в веб-приложениях. Инструмент очень прост и удобен в использовании. Даже если вы новичок в тестировании на проникновение, вы можете легко использовать этот инструмент, чтобы начать изучение тестирования веб-приложений на проникновение.

Это основные функции ZAP:

  • Перехватывающий прокси
  • Автоматический сканер
  • Традиционные, но мощные пауки
  • Фуззер
  • Поддержка веб-сокетов
  • Поддержка Plug-n-hack
  • Поддержка аутентификации
  • API на основе REST
  • Динамические SSL-сертификаты
  • Поддержка цифровых сертификатов смарт-карт и клиентов

Вы можете использовать этот инструмент в качестве сканера, введя URL-адрес для выполнения сканирования, или вы можете использовать этот инструмент в качестве прокси-сервера перехвата для ручного выполнения тестов на определенных страницах.

Загрузите ZAP здесь.

4. Вапити

Wapiti - это сканер веб-уязвимостей, который позволяет проверять безопасность ваших веб-приложений. Он выполняет тестирование «черного ящика», сканируя веб-страницы и вводя данные. Он пытается внедрить полезные данные и посмотреть, уязвим ли сценарий. Он поддерживает как GET, так и POSTHTTP-атаки и обнаруживает множество уязвимостей.

Он может обнаруживать следующие уязвимости:

  • Раскрытие файла
  • Включение файла
  • Межсайтовый скриптинг (XSS)
  • Обнаружение выполнения команды
  • CRLF впрыск
  • впрыск SEL и впрыск XPath
  • Слабый.Конфигурация htaccess
  • Раскрытие файла резервной копии
  • Многие другие

Wapiti - это приложение командной строки, поэтому для новичков это может быть непросто. Но для экспертов это подойдет. Чтобы использовать этот инструмент, вам нужно выучить множество команд, которые можно найти в официальной документации.

Загрузите Wapiti с исходным кодом здесь.

5. W3af

W3af - популярный фреймворк для атаки и аудита веб-приложений. Эта структура призвана предоставить лучшую платформу для тестирования веб-приложений на проникновение.Он был разработан с использованием Python. Используя этот инструмент, вы сможете выявить более 200 видов уязвимостей веб-приложений, включая SQL-инъекции, межсайтовые сценарии и многие другие.

Поставляется с графическим и консольным интерфейсом. Вы можете легко использовать его благодаря простому интерфейсу.

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

Мы уже подробно рассматривали этот инструмент в нашей предыдущей серии пошаговых руководств по W3af. Вы можете прочитать эти статьи, чтобы узнать больше об этом инструменте.

Вы можете получить доступ к исходному коду в репозитории GitHub здесь.

Загрузите его с официального сайта здесь.

6. WebScarab

WebScarab - это среда безопасности на основе Java для анализа веб-приложений с использованием протокола HTTP или HTTPS.С помощью доступных плагинов вы можете расширить функциональность инструмента.

Этот инструмент работает как перехватывающий прокси; вы можете просматривать запросы и ответы, поступающие в ваш браузер и идущие на сервер. Вы также можете изменить запрос или ответ до того, как они будут получены сервером или браузером.

Если вы новичок, этот инструмент не для вас. Этот инструмент был разработан для тех, кто хорошо разбирается в протоколе HTTP и умеет писать коды.

WebScarab предоставляет множество функций, которые помогают тестерам на проникновение работать в тесном контакте с веб-приложением и находить уязвимости безопасности.У него есть паук, который может автоматически находить новые URL-адреса целевого веб-сайта. Он может легко извлекать скрипты и HTML-код страницы. Прокси-сервер наблюдает за трафиком между сервером и вашим браузером, и вы можете управлять запросом и ответом, используя доступные плагины. Доступные модули могут легко обнаруживать наиболее распространенные уязвимости, такие как SQL-инъекция, XSS, CRLF и многие другие уязвимости.

Исходный код инструмента доступен на GitHub здесь.

Загрузите WebScarab здесь.

7. Skipfish

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

Этот инструмент был написан на C. Он оптимизирован для обработки HTTP и использует минимум ЦП. Он утверждает, что может легко обрабатывать 2000 запросов в секунду без увеличения нагрузки на ЦП. Он использует эвристический подход при сканировании и тестировании веб-страниц и утверждает, что предлагает высокое качество и меньшее количество ложных срабатываний.

Этот инструмент доступен для Linux, FreeBSD, MacOS X и Windows.

Загрузите Skipfish или код из Google Codes здесь.

8. Ratproxy

Ratproxy - это инструмент аудита безопасности веб-приложений с открытым исходным кодом, который можно использовать для поиска уязвимостей в веб-приложениях. Он поддерживает среды Linux, FreeBSD, MacOS X и Windows (Cygwin).

Этот инструмент разработан для решения проблем, с которыми обычно сталкиваются пользователи при использовании других прокси-инструментов для аудита безопасности.Он способен различать таблицы стилей CSS и коды JavaScript. Он также поддерживает атаку SSL «человек посередине», что означает, что вы также можете видеть данные, проходящие через SSL.

Подробнее об этом инструменте можно прочитать здесь.

Загрузите его здесь.

9. SQLMap

SQLMap - еще один популярный инструмент для тестирования на проникновение с открытым исходным кодом. Он автоматизирует процесс поиска и использования уязвимостей SQL-инъекций в базе данных веб-сайта. Он имеет мощный механизм обнаружения и множество полезных функций.Таким образом, тестер на проникновение может легко выполнить проверку SQL-инъекции на веб-сайте.

Он поддерживает ряд серверов баз данных, включая MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase и SAP MaxDB. Он предлагает полную поддержку шести видов методов SQL-инъекций: слепой на основе времени, слепой на основе логических значений, на основе ошибок, запрос UNION, составные запросы и внеполосный.

Получите исходный код на GitHub здесь.

Загрузите SQLMap здесь.

10. Wfuzz

Wfuzz - еще один бесплатный инструмент с открытым исходным кодом для тестирования веб-приложений на проникновение. Его можно использовать для подбора параметров GET и POST для тестирования различных типов инъекций, таких как SQL, XSS, LDAP и многих других. Он также поддерживает фаззинг файлов cookie, многопоточность, SOCK, прокси, аутентификацию, брутфорс параметров, несколько прокси и многое другое.

Этот инструмент не предлагает графический интерфейс, поэтому вам придется работать с интерфейсом командной строки.

Подробнее о возможностях инструмента можно прочитать здесь.

Загрузите Wfuzz с code.google.com здесь.

11. Грендель-Скан

Grendel-Scan - еще один хороший инструмент безопасности веб-приложений с открытым исходным кодом. Это автоматический инструмент для поиска уязвимостей в веб-приложениях. Многие функции также доступны для ручного тестирования на проникновение. Этот инструмент доступен для Windows, Linux и Macintosh и был разработан на Java.

Загрузите инструмент и исходный код здесь.

12. Наблюдатель

Watcher - это пассивный сканер веб-безопасности. Он не атакует множеством запросов и не сканирует целевой веб-сайт. Это не отдельный инструмент, а надстройка Fiddler, поэтому вам нужно сначала установить Fiddler, а затем установить Watcher, чтобы использовать его.

Он незаметно анализирует запросы и ответы от взаимодействия с пользователем, а затем составляет отчет по приложению. Поскольку это пассивный сканер, он не повлияет на хостинг веб-сайта или облачную инфраструктуру.

Загрузите Watcher и его исходный код здесь.

13. X5S

X5S также является надстройкой Fiddler, предназначенной для поиска уязвимостей межсайтового скриптинга. Это не автоматический инструмент, поэтому вам необходимо понять, как проблемы с кодированием могут привести к XSS, прежде чем использовать его. Вам нужно вручную найти точку инъекции, а затем проверить, где XSS может быть в приложении.

Мы рассмотрели X5S в предыдущем посте. Вы можете обратиться к этой статье, чтобы узнать больше о X5S и XSS.

Загрузите X5S и исходный код с Codeplex здесь.

Вы также можете обратиться к этому официальному руководству, чтобы узнать, как использовать X5S.

14. Арахни

Arachni - это инструмент с открытым исходным кодом, разработанный для обеспечения среды тестирования на проникновение. Этот инструмент может обнаруживать различные уязвимости безопасности веб-приложений. Он может обнаруживать различные уязвимости, такие как внедрение SQL, XSS, включение локального файла, включение удаленного файла, непроверенное перенаправление и многие другие.

Загрузите этот инструмент здесь.

Заключительное слово

Это лучшие инструменты для тестирования безопасности веб-приложений с открытым исходным кодом. Я изо всех сил старался перечислить все инструменты, доступные в Интернете. Если инструмент не обновлялся много лет, я не упоминал об этом здесь; это потому, что если инструменту больше 10 лет, это может создать проблемы совместимости в недавней среде.

Если вы разработчик, вы также можете присоединиться к сообществу разработчиков этих инструментов и помочь им расти. Помогая этим инструментам, вы также улучшите свои знания и опыт.

Если вы хотите начать тестирование на проникновение, я рекомендую использовать дистрибутивы Linux, которые были созданы для тестирования на проникновение. Эти среды - Backtrack, Gnacktrack, Backbox и BlackBuntu. Все эти инструменты поставляются с различными бесплатными инструментами с открытым исходным кодом для тестирования на проникновение веб-сайтов.

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

Прочитайте больше статей об инструментах тестирования на проникновение:

Методология тестирования мобильных приложений на проникновение: 5 ключевых шагов

20 лучших инструментов для тестирования на проникновение, часть 2

Acunetix Web Vulnerability Scanner 2019 Скачать бесплатно

Acunetix Web Vulnerability Scanner 2019 Скачать бесплатно.Полная автономная установка автономного установщика Acunetix Web Vulnerability Scanner 2019.

Acunetix Web Vulnerability Scanner 2019 Обзор

Acunetix Web Vulnerability Scanner 2019 - отличное программное обеспечение, которое позволяет легко защитить ваш сайт. Это программное обеспечение сканирует сайт и использует некоторые уязвимости, а также сообщает обо всех проблемах и способах проникновения на него. Вы также можете скачать Antenna Web Design Studio 6.57.

Acunetix Web Vulnerability Scanner 2019 загружен множеством функций, таких как веб-сканер, который автоматически выполняет проверку безопасности и включает два этапа.Сканирование автоматически анализирует сайт для построения структуры сайта. Затем сканирование запускает серию уязвимостей в отношении файлов и программ в Интернете. Агент технологии AcuSensor в этом программном обеспечении выявляет больше уязвимостей, чем традиционные сканеры безопасности. Сканер портов выполняет сканирование портов на сайте, на котором размещен веб-сервер. Существует Target Finder, который указывает веб-сервер на портах 80, 443 и в диапазоне IP-адресов. Вы также можете скачать Xara Web Designer Premium x365.

Функции сканера уязвимостей Acunetix Web 2019

Ниже приведены некоторые заметные функции, которые вы испытаете после бесплатной загрузки Acunetix Web Vulnerability Scanner 2019.

  • Отличное программное обеспечение, которое позволяет легко защитить ваш сайт.
  • Сканирует сайт, использует некоторые уязвимости и сообщает обо всех проблемах и способах проникновения на него.
  • Содержит множество функций, таких как веб-сканер, который выполняет автоматическую проверку безопасности и включает в себя два этапа.
  • Crawling автоматически анализирует сайт для построения структуры сайта.
  • Агент технологии AcuSensor в этом программном обеспечении выявляет больше уязвимостей, чем традиционные сканеры безопасности.
  • Сканер портов выполняет сканирование портов на сайте, на котором размещен веб-сервер.
  • Получил Target Finder, который указывает веб-сервер на порты 80, 443 и в диапазоне IP-адресов.

Acunetix Web Vulnerability Scanner 2019 Технические подробности установки

  • Программное обеспечение Полное имя: Acunetix Web Vulnerability Scanner 2019
  • Имя файла установки: Acunetix_Web_Vulnerability_Scanner_12.0.181218140_Retail.rar
  • Размер полной установки: 75 МБ
  • Тип установки: автономный установщик / полностью автономная установка
  • Архитектура совместимости: 32-разрядная (x86) / 64-разрядная (x64)
  • Последняя версия, выпуск добавленная: 17 мая 2019 г.
  • Разработчики: Acunetix Web

Системные требования для Acunetix Web Vulnerability Scanner 2019

Перед тем, как начать бесплатную загрузку Acunetix Web Vulnerability Scanner 2019, убедитесь, что ваш компьютер соответствует минимальным системным требованиям.

  • Операционная система: Windows 7/8 / 8.1 / 10
  • Память (ОЗУ): требуется 1 ГБ ОЗУ.
  • Пространство на жестком диске: 200 МБ свободного места.
  • Процессор: двухъядерный процессор Intel или новее.

Acunetix Web Vulnerability Scanner 2019 Скачать бесплатно

Нажмите кнопку ниже, чтобы запустить Acunetix Web Vulnerability Scanner 2019 Скачать бесплатно. Это полный автономный установщик и автономная установка для Acunetix Web Vulnerability Scanner 2019.Это будет совместимо как с 32-битными, так и с 64-битными окнами.

Перед установкой программного обеспечения вы должны просмотреть это руководство по установке Видео

Пароль 123

Последнее обновление этого сообщения: 15 июля 2020 г.

Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

© 2019 Штирлиц Сеть печатных салонов в Перми

Цифровая печать, цветное и черно-белое копирование документов, сканирование документов, ризография в Перми.