前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kali Linux Web渗透测试手册(第二版) - 7.1 - 使用Exploit-DB利用Heartbleed漏洞

Kali Linux Web渗透测试手册(第二版) - 7.1 - 使用Exploit-DB利用Heartbleed漏洞

作者头像
用户1631416
发布2019-03-06 14:44:34
1.5K0
发布2019-03-06 14:44:34
举报
文章被收录于专栏:玄魂工作室玄魂工作室

翻译来自掣雷小组

成员信息:

thr0cyte,Gr33k,花花,MrTools,R1ght0us,7089bAt

7.0、介绍

有时,我们会发现服务器的操作系统、web应用程序常使用的库或比较活跃的服务中存在的漏洞,或者可能存在浏览器或web代理无法利用的其他安全问题。

如果项目的范围允许我们这样做,并且不会对服务器造成干扰,那么我们可以尝试利用这些漏洞并访问目标应用程序的底层操作系统。

在本章中,我们将从已经在web服务器或操作系统上发现漏洞的地方开始,然后找到针对该漏洞的漏洞并针对目标执行该漏洞,一旦该漏洞被成功利用,我们将构建获得管理访问的路径,并能够在网络中横向移动。


7.1、使用Exploit-DB利用Heartbleed漏洞

Heartbleed是2014年发现的OpenSSL库中的漏洞。它允许攻击者从服务器读取部分内存; 这些部分内存以明文形式包含客户端和服务器之间的通信中的一部分。Heartbleed漏洞发布后,很多公共漏洞被曝光。Kali Linux的创建者,也主持Exploit-DB(https://www.exploit-db.com/),这是一个收集公开漏洞的网站; 我们可以在那里找到Heartbleed漏洞的几种变体。

在本文中,我们将使用Kali中包含的命令来寻找Kali Linux中Exploit-DB的本地副本,找到我们需要的漏洞,最后我们将通过使用它从而在目标服务器中利用Heartbleed。

环境准备

在这个章节,我们将使用易受攻击的虚拟机(https://sourceforge.net/projects/bwapp/files/bee-box/),因为它的OpenSSL版本易受Heartbleed的漏洞攻击(http://heartbleed.com/),Heartbleed影响协议TLS版本1.0和1.1的加密通信,并允许攻击者在服务器内存的一部分中提取包含未加密信息。

实战演练

易受攻击的蜜罐虚拟机的IP地址为192.168.56.12,易受攻击的服务在端口8443上运行。让我们首先确定服务器中的漏洞:

1. 我们使用sslscan检查蜜罐上的TCP端口8443; 如下面的屏幕截图所示,我们会发现它很容易受到Heartbleed的攻击:

2.通过利用Heartbleed我们将从服务器中提取信息,然后继续在其应用中进行一些攻击,例如登录bWAPP(https://192.168.56.12:8443/bwapp/)以确保服务器内存中有一些数据。

3.现在,要在Exploit-DB的本地副本中查找漏洞,请打开终端并键入searchsploit heartbleed命令。 结果显示在此处:

4.我们将在列表中选择第一个漏洞。 我们先检查此漏洞的内容并分析如何使用它以及它的作用,我们可以简单地使用cat命令来显示Python代码,如图所示:

5.根据漏洞利用中的说明,我们应该将服务器地址作为第一个参数运行,然后使用-p选项输入我们要测试的端口。因此,攻击命令应该是

代码语言:javascript
复制
python /usr/share/exploitdb/platforms/multiple/remote/32764.py 192.168.56.12  -p  8443

下一个屏幕截图显示了成功攻击的结果,我们能够找到用户名和密码:

原理剖析

Heartbleed是OpenSSL TLS的缓冲区溢出读取漏洞;这意味着可以从内存中读取比允许的数据更多的数据。通过利用此漏洞,攻击者可以以明文形式从OpenSSL服务器内存中读取信息,这意味着我们无需解密甚至拦截客户端与服务器之间的任何通信。利用服务器和客户端交换的心跳消息;这些是客户端发送的短消息,由服务器应答以保持会话活动。在易受攻击的服务中,客户端可以声称发送大小为X的消息,但发送较小量(Y)的字节。然后,服务器将以X字节进行响应,从存储接收到的心跳消息的存储空间相邻的存储空间中获取差值(X-Y)。此内存空间通常包含先前由其他客户端发送的请求(已解密)。

一旦我们知道目标中易受此攻击,我们就会使用searchsploit命令;它是安装在KaliLinux上的Exploit-DB本地副本的接口,命令会在exploit的标题和描述中查找相应的字符串并显示结果。

一旦我们了解了漏洞利用的工作原理并确定它是否可以安全使用,我们就会针对目标运行它并收集结果。在我们的示例中,我们能够从通过加密通道连接的客户端提取有效的用户名和密码。

更多...

在实时系统中我们使用它之前,检测漏洞利用的效果和影响非常重要。通常,Exploit-DB中的漏洞利用是值得信赖的,即使它们经常需要一些调整才能在特定情况下工作,尽管有些时候可能不会按照他们的说法行事; 因此,我们需要检查源代码并在我们的实验中进行测试,然后才能在真实的测试中使用它们。

另请参阅

除了Exploit-DB之外,还有其他网站可以查找已知的漏洞:

http://www.securityfocus.com http://www.xssed.com/ https://packetstormsecurity.com/ http://seclists.org/fulldisclosure/ http://0day.today/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-01-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 玄魂工作室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档