flawopen.com/SSRF/Облачные метаданные и SSRF
Как SSRF может обратиться к облачным метаданным и когда учетные данные под угрозой?
Представьте службу метаданных как закрытую внутреннюю стойку обслуживания внутри облачной машины. SSRF может превратить приложение в курьера к этой стойке, но доступные данные зависят от правил запросов провайдера, настроек экземпляра и сетевого пути приложения. Сам факт доступности конечной точки не означает автоматическую утечку учетных данных.
Чем опасна конечная точка метаданных
AWS EC2, Azure и Google Compute Engine документируют службы метаданных экземпляров, доступные из поддерживаемых сред виртуальных машин. 169.254.169.254 — распространенный link-local адрес, но форматы запросов и средства контроля различаются. Метаданные могут содержать чувствительные сведения об экземпляре; AWS может выдавать временные учетные данные роли, если это допускают профиль экземпляра и путь запроса. SSRF опасна, когда атакующий может влиять на серверный запрос к этой службе. Доступность сама по себе не доказывает возможность получить учетные данные: важны обязательные заголовки или токены, HTTP-метод, прокси, положение в сети и настройки экземпляра.
Как складывается цепочка воздействия
Для реализации воздействия должна сложиться цепочка условий: ввод влияет на серверный запрос; запрос достигает службы метаданных; служба принимает его согласно контролям провайдера; возвращенные данные дают полезный доступ. Итоговый охват зависит от прав идентичности рабочей нагрузки. Разорвите цепочку фиксированными целями, строгим контролем исходящего трафика, защитой метаданных провайдера и минимальными правами для идентичностей.
Частые вопросы
Нет. Адреса, заголовки, методы, требования к токенам и доступные данные различаются. AWS IMDSv2 требует токен сеанса для получения метаданных, когда HttpTokens задан как required; Azure требует заголовок Metadata: true; Google документирует заголовок Metadata-Flavor: Google. Эти меры могут усложнить некоторые пути SSRF, но не заменяют запрет целей, управляемых пользователем, и блокировку ненужного исходящего трафика. Проверьте документацию для конкретных настроек виртуальной машины и контейнера.
Источники и связанные разборы
- OWASP — Руководство по предотвращению SSRF
- AWS — Настройка параметров метаданных экземпляра
- Microsoft Learn — Служба метаданных экземпляров Azure
- Google Cloud — Заголовки запросов к серверу метаданных
- CWE-918 — Server-Side Request Forgery
- Capital One — Разбор инцидента SSRF и метаданных AWS за 2019 год
- CVE-2022-31150 — Разбор CRLF-инъекции и SSRF в Node.js Undici