跟小黑学漏洞利用开发之SEH+Egghunter

来源:岁月联盟 编辑:猪蛋儿 时间:2020-01-29

进入POP POP RET指令将我们重定向到nSEH记录,该记录包含B的4个字节。

 
利用回跳技术
下一步将使用跳转指令更改这4个B,将我重定向到我的shellcode。但是,如上所述,我不能使用D的缓冲区,因为它只有二十多个字节长。即使是利用egghunter,这也不够,因为它需要32个字节的空间。由于A的缓冲区位于4个B的缓冲区的正上方,因此不得不跳回去。为此,无法进行“长跳”操作,因为对应opcode的长度为5个字节。仅有4个字节的空间的nSEH不能满足要求。相反,我跳回了50个字节,就像之前的文章一样(不知道的小伙伴可以回看跟小黑学漏洞利用开发之egghunter)。下面显示了我使用的代码。

如此处所示,回跳起了作用。下一步是将egghunter代码放在此位置。

 
Egghunter
我们使用!mona egg -t HACK生成egghunter代码。

在使用egghunter之前,我们必须先确定egghunter代码之前A的偏移量。为此,进行了一个简单的计算:A的原始3495字节+向回跳转的Opcode占用2字节-向后跳转的距离为50字节= A *3447字节。下面我们重新调整代码。

重定向和计算正常,当前指令指向egghunter。如图所示。

 
生成shellcode&存放shellcode
然后,我们使用MSFvenom生成了一个shellcode。

由于A的剩余缓冲区仍然很大,因此决定将egghunter代码和shellcode放在GMON命令之后。
 
漏洞攻击
下面为大致执行流程。

执行最终的利用代码后,egghunter在GMON命令之后成功定位了egg / tag和shellcode 。

Shellcode运行,依旧在目标机器开启在4444 / tcp监听端口。最后要做的是连接到此端口以Getshell。

上一页  [1] [2]