Il mio insegnante mi dà qualche esercizio su B.O per capire come funziona l'overflow del buffer e "come" scrivere qualche exploit per dimostrarlo! Mi ha dato alcuni programmi in C, non posso risolvere l'ultimo. Per ultimo, l'obiettivo è sfruttare l'overflow del buffer, abilitare rdp e aggiungere l'account amministratore alla macchina vittima.
Configurazione:
Macchina vittima con Windows XP SP3, in esecuzione programma vulnerabile lato server.
La macchina dell'attaccante è la mia kali linux box.
Ecco il codice: codice L'ho compilato e lanciato su xp sp3 box, tornando a kali ho scritto anche uno script in python per cercare l'overflow del buffer con l'aiuto di immunità debugger:
Grazie a pattern_create.rb e pattern_offset.rb ho visto che ho bisogno di 185 caratteri prima di sovrascrivere l'EIP. Ho anche visto che la stringa generata da pattern_create confronta con il registro ESP. Quindi apri kernel32.dll per l'indirizzo di CALL ESP e mettilo nel mio exploit, ecco il codice con le modifiche:
buff="\ x41" * 185 #junk charaters
buff +="\ x67 \ x86 \ x86 \ x7c" #l'indirizzo di CALL ESP
buff + = needshellcodeHERE!
Ora ho bisogno dello shellcode, ma sfortunatamente non capisco come posso creare uno shellcode che abiliti RDP e aggiunga account utente con privilegi massimi.
Chiunque può aiutarmi?