《metasploit渗透测试魔鬼训练营》靶机演练之第五章实战案例Oracle数据库

参考书籍:《metasploit渗透测试魔鬼训练营》
准备一台BT5作为入侵机,一台win2003作为靶机,靶机上存在着Oracle数据库(版本为10.2.0.1.0)TNS服务的漏洞,该漏洞的编号为CVE-2009-1979。
BT5:
ip 10.10.10.128
win2003:
ip 10.10.10.130

下面开始演练:
在网上找到了关于这一漏洞的一些介绍,metasploit里有利用这个漏洞的模块,首先search这个模块:

进入目录去查看一下这个模块的源代码,找到target,如图:



能看出用了p/p/r的溢出方式,以及不同版本需要不同的返回地址变量Ret。

进入metasploit,选择好渗透模块和攻击载荷,配置好参数:












配置好后,执行exploit命令,发现没有返回shell:



多以执行后依然没有返回,于是就怀疑系统版本的问题。
首先怀疑是返回地址出现的差错,于是去靶机用OllyDbg加载了ORACLE.EXE进程,从渗透模块的源代码可以知道,Ret为0x011b0528,对应的是p/p/r,
在靶机上定位到该位置,如图:


没有错啊,,

没有思路了,,还是回去翻了翻书,根据书上的思路来吧。。

回去看了看模块源代码,找到了这几行,有了线索:

数据包用了AUTH_SESSKEY作为名称标识,这就意味着ORACLE程序中肯定用到了这个标识,回到OllyDBG,查看所有的文本字符串,如图:


在文本框中搜索 AUTH_SESSKEY,找到了三个,如图:

分别跟进去看了看,发现都调用了同一个函数,这里就截一个图:

跟踪这个函数,来到了这里:


在60FD99AC下个断点,然后F9让程序跑起来,然后再次用BT5的exploit命令攻击。程序断在断点处。
然后用Ctrl+F9到返回处01010EBD,如图:


接着又调用了CALL_02610928函数,看了书才知道这是_intel_fast_memcpy函数,F7跟进,可以再栈中看到调用的参数,
Address        Value            Comments
0673D040    |0673DA96    目的地址
0673D044    |04AB99A4     源地址
0673D048    |000001A7     复制长度

接下来看一下SEH:
Address        Value            Comments
0673DC40    |0673DE64    Pointer to next SEH record
0673DC44    |0261348C    SEH handler

计算一下,向目的地址0673DA96复制长度0X1A7字节的数据,最终覆盖到0X0673DC3D 没有覆盖到SEH起始地址0X0673DC40 。
真相大白了,原来是复制的字符串不构长!
在内存部分中找到源地址04AB99A4处的字符串,然后查找开始时找到的返回地址Ret0x011B0528,地址为0x04AB9B42。
计算一下偏移量:
返回地址和源地址之间:0x04AB9B42-0x04AB99A4=0x19E
目的地址到SEH Handler之间:0x0673DC44-0x0673DA96=0x1AE
故,需要增加0x10的随机字节,找到模块中构造溢出字符串的源代码:


修改为




为了覆盖必须加长字符串,所有+0x10。这样做就加大了栈中payload和跳转指令偏移量,所以也要修改jmp指令跳转的距离,由于jmp后移0x10,前面字符串增加0x10最终增加+0x20,这里说的略简单,不懂的读者可以去百度一下SEH跳转内存攻击原理,就不在详细说了,过于繁琐,而且我也不是很懂。

重新启动ORACLE服务,在BT5上重新测试,用rexploit命令,结果:


成功。


演练心得:
这次演练主要是根据书上的步骤来的,如果没有书的教程,自己根本就做不来,特别是程序跟踪调试,完全就是一步步跟着做,换个演练案例估计就跪了。。。所以以后得加强这方面的学习和实践,还有关于利用SEH异常溢出漏洞的原理还是不太懂,计算偏移量时有点混乱。。毛病多多啊。。。
这两天好好把这些梳理梳理,会转载一些关于讲解溢出漏洞的文章(自己写不出来啊。。),还有关于程序调试的。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Metasploit渗透测试魔鬼训练营是一种针对渗透测试人员的培训课程,旨在帮助学员掌握使用Metasploit框架进行渗透测试的技能。该课程包括理论知识和实践操作,涵盖了Metasploit框架的基础知识、漏洞利用、后渗透等内容。通过参加该训练营,学员可以提高自己的渗透测试技能,为企业提供更加全面和有效的安全保障。 ### 回答2: Metasploit渗透测试魔鬼训练营是一种专注于渗透测试技术的培训计划。Metasploit是一款广泛使用的渗透测试工具,能够帮助安全专业人士评估网络系统的弱点和漏洞,并提供相应的修复方案。Metasploit渗透测试魔鬼训练营旨在提供系统性的培训,使学员能够熟练运用Metasploit进行渗透测试,并成为专业的渗透测试人员。 这个魔鬼训练营采用实践与理论相结合的教学方法,通过大量的实际案例和模拟演练来帮助学员有效掌握渗透测试技术。训练营的内容包括Metasploit的基础知识、常见漏洞的挖掘与利用、渗透测试的方法与策略等。学员将学习如何利用Metasploit对目标网络进行扫描、漏洞利用和漏洞修复,以保证网络安全。 在这个训练营中,学员还将接触到实际渗透测试的场景和挑战,通过团队合作来解决复杂的安全问题。这不仅可以提高学员的问题解决能力,还可以培养他们的团队合作精神和沟通能力。 Metasploit渗透测试魔鬼训练营适合那些对渗透测试感兴趣,想要提升自己技能的安全专业人员。通过参加这个培训计划,学员可以全面了解Metasploit的功能与应用,并具备进行渗透测试的实际能力。这对于保护网络安全,提高企业的安全性具有重要意义。 ### 回答3: Metasploit是一款著名的渗透测试工具,它被广泛用于评估网络系统的安全性和漏洞。Metasploit渗透测试魔鬼训练营是一个专门针对Metasploit工具进行训练和实践的培训班。 这个训练营的目的是让参与者全面了解Metasploit的功能和使用方法,并通过实际操作和挑战来提高他们的渗透测试技能。在训练中,学员将学习如何使用Metasploit来发现和利用目标系统中的漏洞,以及如何进行渗透测试和攻击模拟。这些实践活动将使学员更好地理解网络安全漏洞的本质和攻击者的行为方式。 Metasploit渗透测试魔鬼训练营学习过程是非常实际的,学员将通过真实情景模拟来进行虚拟网络环境下的渗透测试。他们将学习如何选择和配置适当的漏洞利用模块,如何使用payloads以获取系统访问权限,并了解如何绕过防御机制和检测系统。 这个训练营的主要优势之一是培训者具有丰富的经验和专业知识,能够引导学员在实践中掌握Metasploit的各个方面。此外,训练营还提供了配套的学习资料和交互环节,使学员能够进一步加强他们的学习效果。 总而言之,Metasploit渗透测试魔鬼训练营是一个提供高质量Metasploit培训和实践机会的地方。通过参加这个训练营,学员可以提高他们的渗透测试技能,增强他们评估网络安全的能力,并为他们未来的职业发展打下坚实的基础。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值