Remote Buffer Overflow exploitation + writing exploit

-1

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:

Ecco il codice:

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?

    
posta Murdoc 28.10.2016 - 20:13
fonte

2 risposte

0

Now i need the shellcode, but unfortunately, i don't understand how i can create a shellcode that enable RDP and add user account with max privileges.

Non capisco perché sia necessario un codice shell che abiliti Desktop remoto. Se si è in grado di ottenere la shell remota sulla macchina, come amministratore, è possibile abilitare Desktop remoto modificando i valori del registro e avviando il servizio.

Questo articolo fornisce maggiori dettagli su come abilitare MS Remote Desktop.

    
risposta data 28.10.2016 - 20:19
fonte
0

Usa semplicemente uno shellcode ordinario generato con msfvenom. Una volta ottenuta una connessione alla shell, abilitare RDP, aggiungere account amministratore o qualsiasi altra cosa desideri nel solito modo. La creazione di shellcode che abilita solo RDP o solo un'attività specifica non è molto utile o efficiente (eccetto casi speciali). Tieni presente che la parola shellcode deriva dal fatto che questo codice viene utilizzato per avviare una shell. Sebbene da allora lo shellcode sia stato usato per fare un sacco di altre cose, l'uso della parola è rimasto bloccato. A meno che non siate sotto vincoli seri, usate uno shellcode generico per inserire semplicemente una shell.

    
risposta data 28.10.2016 - 20:32
fonte

Leggi altre domande sui tag