Пентесты сайтов и web-приложений

Современный сайт — система со сложной архитектурой, содержащая в среднем 20 уязвимостей, которые могут быть использованы атакующими. 62% сайтов подвержены уязвимостям со средним или высоким уровнем риска.

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

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

Контроль защищённости web-сайтов государственных организаций и операторов ГИС обязателен согласно:

  • Постановлению Правительства РФ от 24 ноября 2009 г. № 953 «Об обеспечении доступа к информации о деятельности Правительства Российской Федерации и федеральных органов исполнительной власти».
  • Постановлению Правительства РФ от 10 июля 2013 г. № 583 «Об обеспечении доступа к общедоступной информации о деятельности государственных органов и органов местного самоуправления в информационно-телекоммуникационной сети „Интернет“ в форме открытых данных».
  • Постановлению Правительства РФ от 8 октября 2014 г. № 1024 г. «О внесении изменений в перечень информации о деятельности федеральных органов исполнительной власти, руководство деятельностью которых осуществляет Правительство Российской Федерации, и подведомственных им федеральных органов исполнительной власти, размещаемой в сети Интернет».
  • Приказу ФСБ и ФСТЭК от 31 августа 2010 г. № 416/489 «Об утверждении Требований о защите информации, содержащейся в информационных системах общего пользования».
  • Приказу ФСТЭК от 11 февраля 2013 г. № 17 «Об утверждении Требований о защите информации, не составляющей государственную тайну, содержащейся в государственных информационных системах».

Цели тестирования на проникновение

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

Методики тестирования на проникновение

Исследователи «Перспективного мониторинга» применяют собственные методики, разработанные на базе зарубежных методик и стандартов (OWASP, PTES, NIST, ISO) c учётом методических рекомендаций ФСБ и ФСТЭК.

Что будет сделано

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

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

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

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

Тест механизма управления сессиями. Мы проверим области действия cookies, токены сессий, наличие CSRF уязвимостей.

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

Тест защищённости транспортного уровня. Мы проверим защищённость протоколов взаимодействия клиент-сервер и служб SSL/TLS.

Тест обработки передаваемых данных. Мы проведём фаззинг передаваемых клиентом параметров и проверим возвращаемые данные серверов, протестируем возможность SQL, SMTP, SOAP, LDAP, XPath, Frame инъекций.

Тест механизмов безопасности клиентской части. Мы проверим, как и на каких технологиях построена безопасность клиентской части и оценим уровень защищённости.

Тест логики приложения. Мы определим бизнес-логику работы приложения и возможные векторы атак на неё.

Полный перечень работ зависит от начальных данных и задания на пентест.

Этапы работ

Получаем разрешение на работы

В разрешении заказчик перечисляет все компоненты информационной системы, заявленные как объекты исследования, и указывает узлы или сервисы, которые исключаются из тестирования. Мы совместно с заказчиком пентеста согласовываем дату и время работ, назначаем ответственных лиц и определяем степень осведомлённости исполнителя — Black Box, White Box или Grey Box.

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

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

GreyBox. Исполнитель знает лишь о некоторых элементах web-инфраструктуры, всё остальное он должен узнать сам. Такой подход моделирует ситуацию, когда у злоумышленника есть инсайдер внутри СОБИ заказчика.

Атакуем платформу

Мы проверяем:

  • оборудование платформы web-сервиса,
  • операционные системы,
  • вспомогательное ПО,
  • архитектуру web-сервиса,
  • сетевые сервисы и службы.

Мы отправляем запросы на сетевой узел заказчика и анализируем ответы на них специализированным ПО. Эта активность может быть зафиксирована системами обнаружения и предотвращения вторжений (IPS/IDS). Чтобы исключить блокировку IP-адресов исполнителя, мы рекомендуем включить их в «белые списки» перед началом работ. Данный этап занимает от 2 до 10 дней в зависимости от количества объектов и архитектуры web-сервиса.

Собираем уязвимости

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

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

Проверяем перечень уязвимостей

На этом этапе мы подтверждаем наличие потенциальных уязвимостей из утвержденного списка. Данный тип работ может вызвать временное повышение нагрузки на исследуемые объекты. На это время мы рекомендуем обеспечить доступность представителя заказчика для оперативного взаимодействия, если возникнет непредвиденный сбой в работе исследуемых сервисов. Нарушения в работе служб случаются довольно редко, но всё-таки не лишним будет отслеживать состояние объектов во время исследований. Данный этап занимает от 5 до 25 дней.

Анализируем результаты

На этом этапе мы не воздействуем на объекты исследований, а анализируем полученные сведения. Этап занимает от 5 до 20 дней в зависимости от количества выявленных уязвимостей и методов их эксплуатации.

Результаты работ

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

Реализованные проекты
Пентест веб-ресурсов Автоторгбанка
Цель данного исследования — симулировать атаки потенциального нарушителя на веб-ресурсы банка, оценить уровень их защищённости, обнаружить уязвимости, разработать рекомендации по их устранению.
Пентест компании в режиме «чёрного ящика»
Мы провели фишинг-атаку на заказчика и отправили сотрудникам 2 «новостных» письма, содержащих ссылки на скрипт, который перехватывает аутентификационные данные пользователей соответствующих машин. Более половины сотрудников перешли хотя бы по одной ссылке. Никто из них не сообщил об инциденте в службу ИБ. В результате мы получили полный доступ к IT-инфраструктуре заказчика. Протокол действий службы ИБ заказчика был включён в состав отчёта.
Пентест с элементами социальной инженерии
Заказчик — компания «ПРАЙМ ГРУП». Наши исследователи провели комплексный пентест информационной системы.
Проверка офиса на наличие неавторизованных Wi-Fi точек доступа
Заказчик — крупная IT-компания. С помощью программно-аппаратной связки ноутбука, Wi-Fi-антенны и специального ПО мы последовательно обошли все помещения офиса заказчика, построили карту распределения сигнала и выявили все его источники.