3 способа использования CVE для пентеста API

3 способа использования CVE для пентеста API

Этичный Хакер

Триада распространенных шаблонов атак

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

Распространенный шаблон атаки обычно представляет собой метод использования известных слабых мест для выполнения атаки. На языке appsec это означает, что шаблон атаки использует уязвимость (она же CVE) для использования слабости (чаще называемой общим перечислением слабостей или CWE).

Это изображение от MITRE может привлечь ваше внимание к этому:

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

Именно эти инструкции могут помочь вам улучшить свои навыки атаки при тестировании API. Это дает вам предписывающее руководство относительно того, что именно делать, когда и где.

Давайте рассмотрим CAPEC более подробно.

Что такое CAPEC?

MITRE разработала стандартный для отрасли проект "Перечисление и классификация распространенных шаблонов атак" (CAPEC) для выявления, каталогизации и классификации распространенных шаблонов атак. Цель проекта - помочь пользователям понять, как злоумышленники используют слабые места в приложениях и другие кибернетические возможности.

Министерство внутренней безопасности США первоначально выпустило его в 2007 году для улучшения обеспечения программного обеспечения посредством повышения осведомленности о безопасности в рамках своей стратегической инициативы Управления кибербезопасности и коммуникаций (CS & C), которое в настоящее время является частью CISA. Это помогает разработчикам, тестировщикам, аналитикам безопасности и сообществу лучше понимать детали и варианты использования, которыми пользуются злоумышленники для использования программных приложений.

На момент написания этой статьи в 2023 году версия 3.9 CAPEC включала 559 шаблонов атак по 9 категориям, более известным как механизмы атаки.

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

Участвовать в обманчивом взаимодействии:

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

Злоупотребление существующей функциональностью:

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

Манипулирование структурами данных:

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

Манипулирование системными ресурсами:

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

Внедрение неожиданных элементов:

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

Использовать вероятностные методы:

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

Манипулировать временем и состоянием:

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

Сбор и анализ информации:

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

Нарушить контроль доступа:

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

Как использовать CAPEC

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

  1. Category – набор шаблонов атак, основанных на некоторой общей характеристике. Более конкретно, это совокупность шаблонов атак, основанных на эффекте / намерении. Агрегирование, основанное на эффекте / намерении, не является атакой, подлежащей действию, и как таковое не является шаблоном поведения атаки.
  2. Meta – явно абстрактная характеристика конкретной методологии или приема, используемого в атаке. Шаблон мета-атаки часто лишен конкретной технологии или реализации и предназначен для обеспечения понимания высокоуровневого подхода. Это полезно в моделях угроз.
  3. Standart – фокусируется на конкретной методологии или методике, используемой в атаке. Это часто рассматривается как отдельная часть полностью выполненной атаки.
  4. Detail – обеспечивает низкий уровень детализации, обычно использует определенную технику и нацелена на конкретную технологию, а также выражает полный поток выполнения.

Несколько практических примеров использования CAPEC

Время для нескольких практических примеров.

Допустим, вы хотели изучить, как загрязнение параметров HTTP (HPP) работает в качестве шаблона атаки. Вот как вы могли бы использовать программу просмотра CAPEC, чтобы обнаружить это:

  1. Расширьте категорию внедрения неожиданных элементов
  2. Расширьте мета уровень внедрения параметров
  3. Расширьте стандартный уровень разделителей команд
  4. Нажмите на подробную информацию о загрязнении параметров HTTP

Давайте сделаем еще один.

Допустим, вы хотите изменить файлы cookie сеанса HTTP. Использование программы просмотра CAPEC для обнаружения шаблона атаки будет выглядеть следующим образом:

  1. Расширьте категорию подрывного контроля доступа
  2. Расширить мета уровень использования доверия к клиенту
  3. Расширить стандартный уровень манипулирования непрозрачными токенами данных на основе клиента
  4. Нажмите на подробности для доступа / перехвата / изменения HTTP-файлов cookie

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

Позвольте мне показать вам три способа использования шаблонов атак CAPEC для облегчения тестирования безопасности вашего API.

# 1 – Изучите процесс выполнения шаблона атаки

Общий шаблон атаки обычно состоит из трех этапов в процессе выполнения:

  1. Исследование: На этом этапе описываются различные способы поиска потенциальной цели для атаки.
  2. Эксперимент: После нахождения цели методы фазы эксперимента предлагают различные способы определить, содержит ли эта цель слабость, которую стремится использовать запись CAPEC.
  3. Эксплойт: предлагаемые методы для проведения реальной атаки.

Давайте рассмотрим пример для CAPEC-460: загрязнение параметров HTTP (HPP).

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

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

# 2 – Следуйте соответствующим общим идентификаторам перечисления слабых мест

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

Давайте еще раз немного рассмотрим это с помощью CAPEC-460. Вот связанные с этим недостатки:

Теперь давайте сопоставим это с перечисленным CWE-235:

Обратите внимание, как CWE описывает слабые места. Демонстрирует сопоставление таксономии. И показывает любые наблюдаемые примеры в дикой природе, указывая на соответствующие CVE. Это полезно как разработчикам, тестировщикам, аналитикам безопасности, так и злоумышленникам.

# 3 – Обзор ссылок

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

Презентация Луки и Стефано на конференции OWASP в Польше открыла отрасли глаза на HPP. OWASP добавила результаты своих исследований в Руководство по тестированию веб-безопасности (WSTG), на которое также ссылается запись CAPEC.

Видите, как все это сочетается?

Заключение

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

👁 BIG BROTHER - бот пробива по СНГ

Report Page