CCProxy Telnet Proxy Ping远程栈溢出分析 's

admin 2017年4月20日01:11:09评论347 views字数 1347阅读4分29秒阅读模式
摘要

By:疯狗(B.C.T)简单的了解了一下漏洞原因,问题出在ping上,首先先触发这个漏洞看看效果。
开启CC,然后telnet 127.0.0.1 23,出现如下提示
CCProxy Telnet>CCProxy Telnet Service Ready.
CCProxy Telnet>
直接输入ping AAAAAAAAAA…(超长的A),程序崩溃了,看看提示

程序在读取41414141也就是AAAA时出错,41414141是我提交的超长的AAA…并不是正确的指令,况且这里的内存还是为分配的,典型的栈溢出。

By:疯狗(B.C.T)

简单的了解了一下漏洞原因,问题出在ping上,首先先触发这个漏洞看看效果。
开启CC,然后telnet 127.0.0.1 23,出现如下提示
CCProxy Telnet>CCProxy Telnet Service Ready.
CCProxy Telnet>
直接输入ping AAAAAAAAAA…(超长的A),程序崩溃了,看看提示
CCProxy Telnet Proxy Ping远程栈溢出分析  's
程序在读取41414141也就是AAAA时出错,41414141是我提交的超长的AAA…并不是正确的指令,况且这里的内存还是为分配的,典型的栈溢出。

漏洞分析暂时略过,已经被分析的很透彻了,CC在发ping命令的时候用的是send函数和WSASend函数, send一次只能发送一个缓冲区,而且效率底下,WSASend可以发送多个缓冲区,而且性能要比send高,所以CC肯定使用了WSASend,经过一些人的分析确实如此。

OD载入,动态分析,这次我使用了cooldiyer的检测溢出点的程序,在xfocus下的好code,工具的原理(借助于英文26个字母实现了26进制,4位最多可以到ZZZZ也就是26的4次方就是十进制的456976十六进制的0x6f910,原理是因为编译器字节对齐默认情况下是按双字(4bytes)对齐的)

AAAD 4 0x04 EIP ==> 0x44414141
AAAH 8 0x08 EIP ==> 0x48414141
AAAL 12 0x0c EIP ==> 0x4c414141

生成了3000个字符进行提交后读取的数值变成了这样
CCProxy Telnet Proxy Ping远程栈溢出分析  's
变成了424e4241
手工调试跟踪了几次,查看寄存器窗口,发现了想要的东西,被覆盖的ESP,还有面目全非的EIP:)
CCProxy Telnet Proxy Ping远程栈溢出分析  's
(cooldiyer的那个小程序)123.exe -c 3000 -v 输出内存数据
然后查找EIP现在的值0x424e4241
ABNB 1016 0x3f8 EIP ==> 0x424e4241
OK,EIP的位置就是提交1012个字符后的位置
在用相同的方法找ESP指向的位置,寻找AAAH
AAAH 8 0x08 EIP ==> 0x48414141
GOOD,是字符串开始的4 字符,为什么?1字符=2字节,2×4=8…

关于exploit,不想浪费太多精力在上面,昨天就浪费好多时间在写shelllcode上,网上那么多随便找个不就得了:(

不过还是要分析下这个exploit中感兴趣的部分

memset(Buff, 0x90, sizeof(Buff)-1); //NOP空操作填充 程序不中断 一直往下走

memcpy(&Buff[1017], JUMPESP,4); //ping+空格+1012个字符正好到EIP:) 1017个字符厄
memcpy(&Buff[9], shellcode,sizeof(shellcode)-1); // ping+空格+4 控制ESP

后来得知由于填充数据太长,shellcode被放在了前面的1017个字符中,而且程序在前面有个ESI可以被控制,指向的正是填充数据区域,所以利用格式就是ping+空格+AAAA…+shellcode+jmp esi。

ok,分析到此结束,这次分析主要依靠cooldiyer的小工具和其分析思路,拜一个,但是在学习别人的同时自己理解才是最重要的!!溢出分析真的很有意思,近期就会投入到工作范围中了吧:)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2017年4月20日01:11:09
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CCProxy Telnet Proxy Ping远程栈溢出分析 'shttps://cn-sec.com/archives/46952.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息