
Sfruttamento di CVE-2023-2825 su una VM
Questo repository documenta il mio percorso e i risultati conseguiti durante il programma di mentorship del MassCyber Center. Questo programma di mentorship ci ha incaricato di completare un progetto di cybersecurity e poi presentarlo a un evento dimostrativo a cui hanno partecipato professionisti della cybersecurity. L'obiettivo di questo progetto era costruire, violare, proteggere e amministrare una macchina virtuale. Nello specifico, il mio obiettivo era sfruttare una nota vulnerabilità di Gitlab, CVE-2023-2825, per comprendere le debolezze di sicurezza e implementare strategie di mitigazione.
Per costruire la macchina virtuale, ho utilizzato VirtualBox, un potente prodotto di virtualizzazione x86 e AMD64/Intel64.
Configurazione dell'ambiente:
La versione 16.0.0 di GitLab è stata installata sulla VM, che è affetta da CVE-2023-2825, una vulnerabilità che consente a utenti non autenticati di leggere file arbitrari sul server sfruttando un bug di path traversal. Dopo aver condotto ricerche approfondite, ho trovato un exploit disponibile pubblicamente su GitHub qui: Occamsec per CVE-2023-2825.
Per questo progetto, ho personalizzato l'exploit modificando il codice Python originale per consentire l'input dell'utente in fase di esecuzione e implementando la gestione degli errori per rendere lo script più interattivo e robusto. Di seguito sono riportati i passaggi che ho seguito per implementare ed eseguire l'exploit sulla VM vulnerabile:
Per proteggere la VM, ho aggiornato all'ultima versione della patch di Gitlab, che era la 17.5.1. Ecco alcuni passaggi che ho seguito per farlo:
gitlab-rake gitlab:env:info
sudo gitlab-backup create
sudo apt-get update
sudo apt-get install gitlab-ee
sudo gitlab-ctl restart
gitlab-rake gitlab:env:info
Per amministrare efficacemente la VM, ho implementato diverse misure per garantire una gestione sicura ed efficiente. Queste includevano la limitazione dell'accesso amministrativo, l'applicazione di aggiornamenti regolari e il seguire le migliori pratiche per l'amministrazione del sistema:
getent group sudo
Questo progetto è stata un'incredibile esperienza di apprendimento che mi ha permesso di approfondire il ciclo di vita di una macchina virtuale, dalla costruzione e lo sfruttamento delle vulnerabilità alla protezione e amministrazione. Sfruttando CVE-2022-2825, ho acquisito preziose conoscenze nell'identificare e mitigare le minacce alla sicurezza nel mondo reale. Il processo di protezione della VM ha rafforzato l'importanza della manutenzione proattiva del sistema e del rimanere aggiornati con le ultime patch e le migliori pratiche.
Attraverso questo programma di mentorship, ho affinato le mie competenze in:
Nel complesso, questa esperienza ha rafforzato le mie capacità tecniche e approfondito la mia comprensione della cybersecurity. Ha inoltre sottolineato il ruolo fondamentale della vigilanza e dell'apprendimento continuo nella protezione dei sistemi contro le minacce in evoluzione.
Sono grato per la guida fornita dal programma di mentorship del MassCyberCenter e non vedo l'ora di applicare queste competenze alle future sfide nella cybersecurity.