Search
Write a publication
Pull to refresh

Бесплатный инструмент Autoswagger находит уязвимости API, которые злоумышленники надеются, что вы пропустите

Level of difficultyEasy
Reading time4 min
Views1.8K
Original author: Daniel Andrew

API: все еще легкая цель в 2025 году

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

Одним из самых громких примеров стала утечка данных Optus в 2022 году, когда злоумышленники похитили миллионы записей о клиентах через неаутентифицированную конечную точку API, что обошлось телекоммуникационной компании в 140 миллионов австралийских долларов.

Тревожно, что подобные уязвимости настолько легко эксплуатировать, что этому можно научить человека без технического образования за один день. И спустя три года команда безопасности Intruder всё ещё находит те же уязвимости в API крупных организаций, включая компании, входящие в индекс S&P 500.

Именно поэтому мы создали Autoswagger — бесплатный инструмент с открытым исходным кодом, который сканирует API на наличие уязвимостей авторизации.

Что такое Autoswagger и как он работает?

Autoswagger сканирует домены для обнаружения открытой документации API, например, схем OpenAPI или Swagger, а затем анализирует их и формирует список конечных точек для тестирования. Он отправляет запросы с допустимыми параметрами из документации и помечает любые конечные точки, возвращающие данные без надлежащего контроля доступа (т.е. без ошибок 401 или 403).

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

Autoswagger можно бесплатно загрузить и установить через GitHub .

Для более сложного тестирования Autoswagger можно запустить с флагом --brute, чтобы попытаться обойти проверки. Это помогает выявить уязвимости в конечных точках, которые отклоняют стандартные входные данные, но принимают определённые форматы данных или значения.

Нарушение авторизации в действии: четыре реальные уязвимости API, обнаруженные Autoswagger

Мы протестировали Autoswagger на объектах нескольких крупных программ Bug Bounty, сканируя уязвимые API в больших масштабах.

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

Учетные данные Microsoft MPN

Одна из обнаруженных нами уязвимостей заключалась в конечной точке с простым названием «config», которая раскрывала учётные данные и ключи API для хранилищ данных партнёрской программы Microsoft. Среди раскрытых данных был действительный набор учётных данных для базы данных Redis, содержащей персональные данные партнёров, включая информацию о пройденных ими курсах и сертификациях.

Уязвимая конечная точка была скрыта на глубине шести уровней (/1/dashboard/mpn/program/api/config/), что делало ее практически невозможной для угадывания или обнаружения методом подбора — она была обнаружена только потому, что схема API OpenAPI была раскрыта.

Более 60 000 записей Salesforce

В другом случае использовался API, подключенный к экземпляру Salesforce в крупной технологической компании. API возвращал данные о клиентах, включая имена, контактную информацию и заказы продуктов, которые можно было извлекать в больших объемах, увеличивая значение параметра URL «ByDate» для получения 1000 записей за один запрос.

SQL Access во внутреннем обучающем приложении

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

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

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

Перечисление Active Directory (AD) (Octopus Deploy)

Наконец, Autoswagger обнаружил уязвимость CVE-2025-0589, которая позволяла неаутентифицированному злоумышленнику перечислять информацию о пользователях Active Directory, если AD была интегрирована с сервером Octopus Deploy.

Автоматизированное документирование = риск поверхностной атаки

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

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

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

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

Больше новостей в моём Telegram. Подписывайтесь!

Tags:
Hubs:
+3
Comments2

Articles