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链的地址。

接下来开启服务器程序

Windows漏洞利用开发——利用SEH绕过GS保护_第1张图片

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

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

Windows漏洞利用开发——利用SEH绕过GS保护_第2张图片

Windows漏洞利用开发——利用SEH绕过GS保护_第3张图片

在kali上使用telnet连接

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

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

Windows漏洞利用开发——利用SEH绕过GS保护_第4张图片

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

Windows漏洞利用开发——利用SEH绕过GS保护_第5张图片

找到并且复制到kali

Windows漏洞利用开发——利用SEH绕过GS保护_第6张图片

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

Windows漏洞利用开发——利用SEH绕过GS保护_第7张图片

经过尝试0x10022fd7可以使用

Windows漏洞利用开发——利用SEH绕过GS保护_第8张图片

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

你可能感兴趣的:(软件安全,安全,系统安全,网络安全,网络攻击模型,kali,MSF,SEH)