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
gitlab-cve-2020-10977 — Exploit di lettura arbitraria di file in GitLab | Kitploit
Strumenti/GitHubGitHub/vandycknick/gitlab-cve-2020-10977
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingRed TeamingSviluppo Payload
GitHubvandycknick/gitlab-cve-2020-10977

gitlab-cve-2020-10977

Exploit di lettura arbitraria di file in GitLab

Vedi Repository
225 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

GitLab CVE2020-10977

Introduzione

Questo script fornisce l'esecuzione remota di codice contro GitLab Community Edition (CE) ed Enterprise Edition (EE). La CVE è una lettura arbitraria di file che consente di estrarre la secret_key_base di Rails scaricando il file secrets.yaml di GitLab. Questo a sua volta permette di ottenere l'esecuzione di codice firmando il proprio cookie experimentation_subject_id che GitLab utilizza internamente per i test A/B. Il payload incorporato nel cookie contiene una vulnerabilità di deserializzazione che consente di eseguire codice sull'istanza GitLab.

La lettura arbitraria di file esiste in GitLab EE/CE 8.5 e versioni successive. È stata corretta in 12.9.1, 12.8.8 e 12.7.8. Tuttavia, la RCE riguarda solo la versione 12.4.0 e successive, quando è stato introdotto il cookie vulnerabile experimentation_subject_id.

Testato su 12.8.1

Utilizzo

Il modulo è stato testato con Python 3.9 e richiede le seguenti dipendenze:

  • requests
  • beautifulsoup4

Se hai pipenv installato, puoi iniziare rapidamente eseguendo pipenv install e pipenv shell per ottenere una shell nell'ambiente virtuale pipenv.

root@kitploit:~
 $ ./cve_2020_10977.py --help

usage: cve_2020_10977.py [-h] --url URL -u USERNAME -p PASSWORD [--cmd CMD]

optional arguments:
  -h, --help            show this help message and exit
  --url URL             Target URL
  -u USERNAME, --username USERNAME
                        Gitlab username
  -p PASSWORD, --password PASSWORD
                        Gitlab password
  --cmd CMD             Command to execute

Sviluppo

È incluso un Makefile per facilitare lo sviluppo locale o per testare l'exploit. Dipende da docker e docker-compose per avviare rapidamente una versione locale di GitLab vulnerabile a questa CVE.

root@kitploit:~
make up

Avvierà un'istanza locale di GitLab e un'istanza Debian per facilitare il test di una reverse shell. L'istanza GitLab sarà disponibile dal tuo localhost sulla porta 5580. Avere questa immagine aggiuntiva ti fornisce un IP raggiungibile dall'interno della rete Docker. È possibile rendere il tuo localhost raggiungibile dal container Docker, ma secondo me non vale lo sforzo, e sicuramente non voglio promuovere l'uso di --privileged.

La connessione all'istanza Debian RHOST può essere effettuata facilmente con:

root@kitploit:~
make shell

Questo ti consente di preparare la tua reverse shell con nc -lnvp 9000.

Quando hai fatto questo, sei pronto per testare l'exploit. Puoi eseguire:

root@kitploit:~
make exploit

Per eseguire l'exploit, questo non effettuerà la RCE, ma stamperà invece il segreto Rails di GitLab.

root@kitploit:~
make exploit-rce

Combinerà questa CVE con il payload RCE menzionato sopra per ottenere una reverse shell.

Buon hacking!

Riferimenti

  • https://hackerone.com/reports/827052
  • https://nvd.nist.gov/vuln/detail/CVE-2020-10977
  • https://www.exploit-db.com/exploits/48431
Scarica lo strumento