## https://sploitus.com/exploit?id=78C6893A-A03D-53CE-B0E1-C1CDAF71B4A7
# Stack Buffer Overflow & Local Privilege Escalation Project
**Autori:** Andrea Erpini (2082488), Eleonora Conti (2082947)
**Corso:** Sicurezza Informatica β UniversitΓ degli Studi
---
## π Descrizione Generale
Questo progetto illustra l'analisi dinamica, la progettazione e l'esecuzione di un attacco di **Stack Buffer Overflow** su un'applicazione C vulnerabile (`guess_game.exe`), sviluppata ad hoc.
Il progetto spazia dall'ispezione dei registri della CPU in un ambiente di testing controllato (**Windows XP Professional 32-bit SP3**) alla scrittura di uno shellcode custom in Python, fino alla concatenazione con un exploit kernel-level (**KiTrap0D**) per l'ottenimento dei massimi privilegi di sistema (`NT AUTHORITY\SYSTEM`).
---
## π Struttura della Repository
La repository Γ¨ organizzata nelle seguenti cartelle e sezioni:
.
βββ README.md # Documentazione principale della repository
βββ LICENSE # Licenza MIT
βββ Relazione/ # Documentazione dettagliata del progetto
β βββ Relazione Homework 1.pdf # Relazione finale in formato PDF
β βββ Relazione Homework 1.docx # Relazione finale in formato Word editable
βββ Codice/ # Moduli software e script di attacco
βββ Programma Vulnerabile/ # Sorgenti e compilato del gioco vulnerabile
β βββ guess_game.c # Codice sorgente C con vulnerabilitΓ get_name()
β βββ guess_game.exe # Eseguibile compilato senza mitigazioni
βββ Base/ # Attacco Buffer Overflow (Parte Obbligatoria)
β βββ payloadBase.py # Script Python per la generazione del payload
β βββ payload.bin # Payload binario generato (Spawna cmd.exe)
βββ Opzionale/ # Escalation dei Privilegi a SYSTEM (Parte Opzionale)
βββ escalation.py # Script Python con shellcode modificato per KiTrap0D
βββ payload2.bin # Payload binario per l'esecuzione di vdmallowed.exe
## π Guida alla Navigazione e Riferimenti
Per comprendere a fondo tutti i dettagli tecnici, i problemi riscontrati e le relative soluzioni adottate, fare riferimento alla Relazione presente nella cartella Relazione/.
## π οΈ Requisiti e Strumenti Utilizzati
Sistema Operativo Target: Windows XP Professional SP3 32-bit (senza mitigazioni/patch attive).
Debugger: Immunity Debugger (per l'analisi dei registri e l'individuazione di JMP ESP a 0x7C86467B e WinExec a 0x7C8623AD).
Compilatore: GCC (gcc -fno-stack-protector -o guess_game.exe guess_game.c).
Scripting: Python 3 (utilizzando il modulo struct per l'impacchettamento Little-Endian).
## β οΈ Note sulla Parte Opzionale (KiTrap0D)
Come dettagliato nella Sezione 7.2.2 della relazione, i file binari dell'exploit locale vdmallowed.exe e vdmexploit.dll non sono inclusi nella repository per evitare segnalazioni di sicurezza/antivirus. Per riprodurre l'escalation dei privilegi, i binari originali devono essere scaricati da Exploit-DB e posizionati all'interno della cartella dell'eseguibile vulnerabile come specificato nei requisiti operativi (Sezione 7.4).