SSRFire: автоматический поиск SSRF
Этичный Хакер
Введение
В этом блоге я расскажу об инструменте SSRFire, автоматизированном инструменте, используемом для обнаружения уязвимостей CSRF. Кроме того, этот инструмент может быть использован для выявления уязвимостей XSS и Open Redirect. Не будем медлить, давайте углубимся в эту тему.
1. Что такое SSRF?
SSRF (подделка запросов на стороне сервера) - это уязвимость веб-безопасности, которая позволяет злоумышленникам манипулировать веб-сервером для выполнения несанкционированных запросов.

Это может произойти тремя способами:
1. Внешний SSRF: предоставляя вредоносный URL-адрес или IP-адрес в качестве входных данных, злоумышленник может обманом заставить сервер отправлять HTTP-запросы к ресурсам внешнего сервера. Это потенциально может привести к краже данных или несанкционированному доступу к конфиденциальным ресурсам на целевых внешних серверах.
- Пример: В этом запросе мы добавляем вредоносную ссылку burp suite collaborator в параметр stock api

Здесь мы получили запрос на поиск DNS и HTTP-запрос с сервера приложений на сервер burp suite collaborator.

2. SSRF полного ответа: Злоумышленники могут создавать URL-адреса, указывающие на внутренние службы или локальные ресурсы серверных систем, заставляя сервер невольно отправлять запросы к этим внутренним адресатам. Это представляет значительный риск, поскольку может привести к раскрытию конфиденциальных данных или позволить злоумышленникам скомпрометировать всю внутреннюю сеть с помощью этих запросов.
В этом типе SSRF, конфиденциальная информация внутреннего сервера, присутствующая на внутреннем сервере, может быть получена через HTTP-ответ. Это означает, что выходной результат для вставленного запроса можно увидеть в самом ответе, что позволяет злоумышленникам отфильтровать конфиденциальные данные.
- Пример: В этом запросе мы используем URL-адрес localhost в параметре stock api для выполнения запросов к внутреннему получателю, по этому запросу мы получили доступ к панели администратора.

3. Blind SSRF: атаки Blind SSRF происходят, когда хост-сервер не возвращает злоумышленникам видимые данные, что затрудняет им непосредственное наблюдение за результатами своих действий. Вместо извлечения конфиденциальных данных эти атаки направлены на манипулирование поведением сервера в злонамеренных целях.
При слепой атаке SSRF злоумышленник может изменять разрешения пользователя, манипулировать конфигурациями сервера или взаимодействовать с конфиденциальными файлами, хранящимися на сервере. Например, злоумышленник может изменить URL-адрес, используемый для вызова API, заставляя сервер повторно извлекать большой файл или выполнять ресурсоемкие запросы. Со временем это может привести к исчерпанию ресурсов сервера или даже полному сбою сервера, что приведет к отказу в обслуживании (DoS).
- Пример: В этом примере мы используем Burp Suite Collaborator для запроса DNS к службе, внешней по отношению к целевому серверу и контролируемой злоумышленником. Тщательно формулируя DNS-запросы, злоумышленник может косвенно подтвердить уязвимость SSRF, отслеживая взаимодействия DNS с сервером Burp Collaborator, даже при отсутствии видимых данных в ответе.

2. Влияние SSRF
Успешная атака SSRF часто может привести к несанкционированным действиям или доступу к данным внутри организации, либо в самом уязвимом приложении, либо в других серверных системах, с которыми приложение может взаимодействовать. В некоторых ситуациях уязвимость SSRF может позволить злоумышленнику выполнить произвольную команду.
- Эксплойт SSRF, вызывающий подключение к внешним системам сторонних производителей, может привести к дальнейшим вредоносным атакам, которые, по-видимому, исходят от организации, в которой размещено уязвимое приложение.
3. Методы поиска уязвимости SSRF
Чтобы найти уязвимости для подделки запросов на стороне сервера (SSRF), выполните следующие действия. Во-первых, определите пользовательские вводимые данные и параметры URL-адреса в приложении. Затем протестируйте эти входные данные, указав различные URL-адреса, IP-адреса и протоколы, чтобы проверить возможности SSRF. Попытка манипулировать URL-адресами для таргетинга на внутренние системы, локальный хостинг или конфиденциальные ресурсы. Будьте бдительны в отношении слабых мест проверки URL-адресов и ограничений протокола, которые могут быть обойдены.
- Используйте внеполосные методы, такие как Burp Collaborator или поиск в DNS, для обнаружения потенциальных взаимодействий SSRF. Анализируйте сообщения об ошибках и ответы на наличие любых признаков попыток SSRF или внутренних утечек IP-адресов.
Чтобы найти уязвимости SSRF в облаке, одним из распространенных подходов является поиск конечных точек облачных метаданных, таких как “http://169.254.169.254 " используется облачными сервисами для предоставления информации об экземплярах. Например, в AWS доступ к “http://169.254.169.254/latest/meta-data/iam/security-credentials/admin " возможно, потребуется получить учетные данные AWS IAM. Протестируйте эти конечные точки, указав различные URL-адреса, IP-адреса или протоколы, чтобы обнаружить потенциальные возможности SSRF.
4. SSRFire
SSRF - это мощный автоматизированный инструмент поиска SSRF. Он предназначен для обнаружения уязвимостей, связанных с подделкой запросов на стороне сервера в веб-приложениях.
Просто предоставляя доменное имя и сведения о сервере, он сканирует на наличие потенциальных уязвимостей SSRF, позволяя пользователям расслабиться, пока он выполняет свою работу. Кроме того, он предлагает дополнительные функциональные возможности для выявления уязвимостей межсайтового скриптинга (XSS) и открытого перенаправления.
Особенности и преимущества SSRFire
1. Простота в использовании: SSRFire поставляется с удобным интерфейсом, что делает его доступным как для начинающих, так и для опытных исследователей безопасности.
2. Комплексное обнаружение: Он эффективно обнаруживает уязвимости SSRF в веб-приложениях, заставляя сервер выполнять непреднамеренные запросы.
3. Пользовательские полезные нагрузки: SSRFire позволяет пользователям использовать пользовательские полезные нагрузки для тестирования SSRF, позволяя им адаптировать атаки на основе конкретных сценариев.
4. Автоматизированные запросы: Инструмент автоматизирует процесс отправки запросов на целевой сервер, что делает его эффективным для крупномасштабного тестирования.
Установка
$ git clone https://github.com/ksharinarayanan/SSRFire.git $ cd SSRFire $ ./setup.sh (preferably yes for all — -> **highly recommended**)
Теперь нам нужно настроить местоположение в ssrfire.sh файл, добавив #!/bin/bash в начало файла, а затем добавив местоположение файла .path, который находится внутри каталога SSRFire, в моем случае он находится в /home/kali/Tools/SSRFire/directory

Примечание: Нам нужно переименовать .profile в .bash_profile в строке 9
Теперь нам нужно удалить строки с 49 по 112 из файла .profile

Примечание: .Profile - это скрытый файл, который присутствует внутри каталога Starfire
Теперь запустите следующую команду, чтобы использовать Starfire.
$ ./ssrfire.sh -d domain.com -s yourserver.com

Примечание: Здесь я использовал сервер Burp Collaborator для записи взаимодействия SSRF.
Чтобы зафиксировать взаимодействие по протоколу HTTP или DNS, мы можем использовать множество инструментов, таких как:
1. Pingb
2. Canarytokens
3. Requestcatcher
4. Interractsh
5. ssrf-sheriff и так далее
Ссылка на инструмент: https://github.com/ksharinarayanan/SSRFire