Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2022-25262 — PoC + dettagli sulla vulnerabilità per CVE-2022-25262 / Acquisizione della risposta SAML con un solo clic su JetBrains Hub | Kitploit
Strumenti/GitHubGitHub/yuriisanin/cve-2022-25262
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingAutenticazioneRed Teaming
GitHubyuriisanin/cve-2022-25262

CVE-2022-25262

PoC + dettagli sulla vulnerabilità per CVE-2022-25262 / Acquisizione della risposta SAML con un solo clic su JetBrains Hub

Vedi Repository
1754 anni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2022-25262

PoC + dettagli sulla vulnerabilità per CVE-2022-25262 | Acquisizione della risposta SAML con un solo clic su JetBrains Hub

  • CVE-2022-25262
    • Requisiti
    • Utilizzo
    • Come funziona?
      • Pool di codici di autorizzazione per lo scambio "OAuth2 -> SAML"
      • Acquisizione del codice di autorizzazione OAuth2 di YouTrack Konnector (per progettazione)
      • Mitigazione

Requisiti

  • JetBrains Hub <2022.1.14434
  • JetBrains Hub configurato come SAML IdP
  • Servizio "YouTrack Konnektor" installato (in bundle con YouTrack)

Utilizzo

Installa ed esegui:

root@kitploit:~
$ git clone https://github.com/yuriisanin/CVE-2022-25262
$ cd CVE-2022-25262/
$ pip3 install -r requirements.txt
$ python3 exploit.py -h

  usage: exploit.py [-h] [-p P]

  optional arguments:
    -h, --help  show this help message and exit
    -p P        Uvicorn port
    
# If you run the exploit on the local machine, you might need to use Ngrok or alternatives.
$ ngrok http 8000

Utilizzo:

  1. Usa l'endpoint "GET /get-exploit-link" per ottenere il link dell'exploit
  2. Invia il link a una vittima

Parametri della query:

Ottieni il link dell'exploit:

root@kitploit:~
$ curl -v "http://{exploit-host}/get-exploit-link?hub_url=https://hub.jetbrains.com&issuer=jbs.zendesk.com&acs_url=https://jbs.zendesk.com/access/saml"

* Trying {exploit-host-ip}:80...
* Connected to {exploit-host} ({exploit-host-ip}) port 80 (#0)
> GET /get-exploit-link?hub_url=https://hub.jetbrains.com&issuer=jbs.zendesk.com&acs_url=https://jbs.zendesk.com/access/saml HTTP/1.1
> Host: {exploit-host-ip}
> User-Agent: curl/7.77.0
> Accept: */*
> 
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Content-Length: 341
< Content-Type: application/json
< Date: Sat, 30 Apr 2022 19:14:45 GMT
< Server: uvicorn
< 
* Connection #0 to host {exploit-host-ip} left intact

{"exploit_url":"https://hub.jetbrains.com/api/rest/oauth2/auth?client_id=fd6b45e6-4a91-4574-9fcf-ebc6926f6378&response_type=code&scope=Hub+YouTrack+TeamCity+Upsource+fd6b45e6-4a91-4574-9fcf-ebc6926f6378&state=fhdyaaf&access_type=offline&redirectURI=https://konnector.services.jetbrains.com/ring/oauth"}

DEMO:

Demo di CVE-2022-25262

Come funziona?

La debolezza consiste in 2 parti:

  • Utilizzo del pool di codici di autorizzazione OAuth2 per il processo di scambio "OAuth2 -> SAML".
  • Acquisizione del codice di autorizzazione tramite l'integrazione con YouTrack Konnector.

Pool di codici di autorizzazione per lo scambio "OAuth2 -> SAML"

Il SAML IdP funge da estensione per OAuth. Quando un utente specifico vuole accedere a un determinato provider di servizi, passa attraverso il flusso del codice di autorizzazione OAuth (richieste 1-2) e, una volta ottenuto il codice, lo restituisce all'Hub (richiesta 3). L'Hub prende le informazioni sull'utente associate al codice ed emette una risposta SAML firmata per il servizio. Anche se il SAML IdP utilizza il client OAuth2 dell'Hub (client_id=0-0-0-0-0), per l'integrazione non verifica per conto di quale client OAuth sia stato emesso il codice. L'unica cosa che conta qui è se il codice è valido. Ciò potrebbe portare all'acquisizione della risposta SAML se l'attaccante trova un modo per acquisire il codice di autorizzazione da qualsiasi client OAuth registrato nell'Hub.

oauth2-saml-exchange

Acquisizione del codice di autorizzazione OAuth2 di YouTrack Konnector (per progettazione)

YouTrack Konnector è un servizio di prima parte che consente di connettere una specifica istanza YouTrack con il loro bot Slack. Il servizio prende l'URL di un YouTrack e sia l'id che il segreto del client OAuth di Konnector (richiesta 1). Quindi cerca di verificare che l'URL fornito punti a un YouTrack valido chiamando diversi endpoint API ("handshake" richieste 2-3). Se tutto va bene, Konnector restituirà l'URL che consentirebbe a un utente specifico di procedere con il flusso del codice di autorizzazione OAuth (risposta 1). L'URL contiene un parametro query "state" che aiuta Konnector a instradare il codice di autorizzazione OAuth al gestore appropriato (istanza Hub). Un attaccante potrebbe creare un host con gli endpoint necessari per l'"handshake" e ottenere un parametro "state" che punta all'host dell'attaccante. Successivamente, un attaccante potrebbe creare un URL di autorizzazione OAuth e inviarlo a una vittima. Se la vittima clicca sul link e completa il flusso OAuth (la vittima deve avere una sessione valida in Hub), il servizio Konnector riceverà il codice e lo invierà all'host dell'attaccante (richieste 4-6).

slack-service-authz-code-takeover

Mitigazione

Il team di YouTrack ha aggiunto un controllo che consente di utilizzare i codici di autorizzazione emessi per il client OAuth "JetBrains Hub Service" durante il processo di scambio "OAuth2 -> SAML". Di conseguenza, non è possibile scambiare i codici di autorizzazione emessi per il client OAuth "YouTrack Konnector".

Supporto

Puoi seguirmi su Twitter, GitHub o YouTube.

Scarica lo strumento
NameDescriptionRequired
hub_urlURL dell'istanza Hub target✅
issuerEmittente SAML✅
acs_urlURL del servizio di consumo dell'asserzione✅
youtrack_urlURL dell'istanza YouTrack connessa all'Hub (richiesto se l'utente guest è disabilitato)❔