Возможность SSRF-атаки на Asterisk REST API
18 декабря 2024, 02:36
SSRF - это подделка запросов на стороне сервера, уязвимость в системе веб-безопасности, которая позволяет злоумышленнику заставить серверное приложение отправлять запросы в непредусмотренное назначние. При типичной SSRF-атаке злоумышленник может заставить сервер подключиться только к внутренним службам в инфраструктуре организации. В других случаях они могут принудительно подключать сервер к произвольным внешним системам. Это может привести к утечке конфиденциальных данных, таких как учетные данные для авторизации.https://issues-archive.asterisk.org/ASTERISK-29476
Если для эндпойнта PJSIP задано значение stir_shaken = yes, сервер Asterisk получит содержимое URL-адреса, указанного в параметре info в заголовке Identity, из пакета INVITE.
Зная стандартный синтаксис запросов, типа
Каковы последствия SSRF-атак?Успешная SSRF-атака часто может привести к несанкционированным действиям или доступу к данным внутри организации. Это может произойти в уязвимом приложении или в других серверных системах, с которыми приложение может взаимодействовать. В некоторых ситуациях уязвимость SSRF может позволить злоумышленнику выполнить произвольную команду. Эксплойт SSRF, который приводит к подключению к внешним системам сторонних производителей, может привести к дальнейшим вредоносным атакам. Может оказаться, что они исходят от системы, в которой размещено уязвимое приложение. Распрeделённые SSRF-атакиSSRF-атаки часто используют доверительные отношения для усиления атаки из уязвимого приложения и выполнения несанкционированных действий. Эти доверительные отношения могут существовать в отношении сервера или в отношении других серверных систем в той же организации. SSRF-атаки на Астериск-серверПри SSRF-атаке на сервер злоумышленник заставляет приложение отправить HTTP-запрос обратно на сервер, на котором размещено приложение, через его сетевой интерфейс обратной связи. Обычно это включает в себя указание URL-адреса с именем хоста, таким как 127.0.0.1 или localhost. |
curl -v -u asterisk:asterisk -X GET "http://pbx.company.info/ari/endpoints/SIP/321"
можно попытаться получить расширенный доступ в виде таких запросов злоумышленника к REST API. Его браузер может получить список доступных аппликаций:
POST /ari/ HTTP/1.0
Content-Type: application/list
Content-Length: 118
Api=http://localhost:8080/ari/applications
Content-Length: 118
Api=http://localhost:8080/ari/applications
или попытаться отследить события в АТС, возможно даже изменить:
Api=http://127.0.0.1:8080/ari/applications/{applicationName}/subscription