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

2023-12-23 18:53:25

实验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可以使用

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

文章来源:https://blog.csdn.net/weixin_49816179/article/details/135171502
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。