Windows漏洞利用开发——利用SEH绕过GS保护

实验6  Windows漏洞利用开发

6.1实验名称

Windows漏洞利用开发

6.2实验目的

学习windows漏洞利用开发,使用kali linux相关工具对windows内目标程序进行漏洞利用

6.3实验步骤及内容

阶段:利用SEH绕过GS保护

  1. 了解GS编译选项,SHE异常处理机制
  2. 分析利用SHE异常处理机制绕过GS的原理
  3. 寻找溢出点
  4. 寻找PPR,解释为何利用PPR
  5. 编写漏洞利用脚本,自动化攻击

漏洞点为在处理请求时存在漏洞—— 一个恶意的请求头部(HEAD或 GET)就可以引起缓冲区溢出,从而改写SEH链的地址。

接下来开启服务器程序

首先确定溢出点位置,同上的方法生成有序字符串,并构造请求文件3.txt

使用调试器ImmunityDebugger打开Easy File Sharing Web Server 7.2,并且运行

在kali上使用telnet连接

或者直接使用脚本进行连接

接下来就可以查看Easy File Sharing Web Server 7.2溢出地址

Catch块的地址为46356646,下一条SEH记录地址为34664633。然后计算catch块偏移量,计算下一条she的偏移量

需要注意,我们需要POP/POP/RET指令的地址来载入下一条SEH记录的地址,并跳转到攻击载荷。这需要一个外部的DLL文件载入一个地址,不过现在大多数最先进的操作系统都使用SafeSEH保护机制来编译DLL,因此我们需要一个没有被SafeSEH保护的DLL模块的POP/POP/RET指令地址,即ImageLoad.dll。使用mona寻找PPR,需要POP/POP/RET指令的地址来载入下 一条SEH记录的地址,并跳转到攻击载荷。选择第一个ImageLoad.dll

找到并且复制到kali

msfbinscan,出来很多返回地址。对其依次进行尝试

经过尝试0x10022fd7可以使用

然后运行攻击程序,多尝试几次发现可以成功

  • 15
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值