欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

针对Memcached缓存服务器的渗透测试方法介绍

来源:本站整理 作者:佚名 时间:2019-04-30 TAG: 我要投稿

在之前的文章中,我向大家介绍了如何在Ubuntu 18.04上配置Memcached Server,来构建我们自己的渗透测试实验环境。而本文我们将学习多种利用Memcached Server的方法。
实验环境
目标:在Ubuntu 18.04上运行的Memcached Server
攻击者:Kali Linux
话不多说,那我们开始吧!
手动从 Memcached Server 转储数据
我们先来启动Kali Linux机器,并执行个简单的nmap扫描,以检查目标计算机是否存在正在运行的Memcached Server。
nmap -sV -p- 192.168.1.32

如上图所示,Memcached正在目标机器上运行,运行端口为11211。
现在,让我们通过键入以下命令使用nmap脚本命令进行一些高级搜索。
nmap -p11211 --script=memcached-info 192.168.1.32

如上图所示,nmap脚本命令向我们提取了一些关于Memcached Server的重要信息,例如进程ID,正常运行时间,架构,MAC地址等。
现在,让我们尝试使用telnet连接Memcached Server,输入以下命令。
telnet 192.168.1.32 11211

正如你在上图中看到的,我们可以通过telnet连接Memcached Server。在意味着服务器未受到任何的保护(未配置SASL或任何类型的防火墙),因此攻击者可以非常顺利的访问服务器。让我们进一步的利用已获取访问权限的Memcached Server。
键入以下命令检查Memcached Server的当前版本。
version

可以看到Memcached的版本为1.5.6,运行在Ubuntu机器上。
现在,让我们直接获取存储在服务器中的有价值数据。键入以下命令打印服务器所有常规统计信息。
stats

以上信息显示了当前的流量统计信息。包括连接数,数据被存储到缓存中,缓存命中率以及有关内存使用和信息分布的详细信息。
现在,我们将运行另一个命令来获取slab统计信息。命令如下:
stats slabs

如上图所示,目前服务器中只有一个编号为1的slab。
现在,让我们运行下面的命令来显示各个slab中item的数目和存储时长(最后一次访问距离现在的秒数)。
stats items

接着,我们运行下面的命令来转储特定slab中存在的所有键。
stats cachedump 1 0
这里1和0是参数,
1 = slab ID
0 = 要转储的键数,0表示转储存在的所有键。

上图代表ITEM  [ b;  s]
现在,我们可以简单地使用get命令来获取存储在键中的值,如下所示。
get first get secondget third

正如你在上图中所看到的,我们已成功转储了存储在键值中的数据。
使用 libmemcached-tools 转储数据
首先在我们的系统中安装libmemcached-tools,键入以下命令。
apt install libmemcached-tools

现在我们已安装了libmemcached-tools,通过输入以下命令开始使用它。
memcstat --servers=192.168.1.33

以上命令将会为我们显示与之前stats命令几乎相同的结果。
现在,让我们直接转储存储在服务器中的键值。运行以下命令。
memcdump --servers=192.168.1.33

正如你在上图中看到的,我们已经转储了当前服务器中存在的所有键。
现在,让我们分别转储存储在键中的所有值。运行以下命令。
memccat --servers=192.168.1.33 fifth fourth third second first

以上命令为我们获取到了存储在各个键中的所有数据。攻击者可以使用libmemcached-tools轻松地将任何恶意文件上传到服务器。在这里,我们将向你展示如何在服务器中上传文件。

[1] [2]  下一页

【声明】:黑吧安全网(http://www.ylxj.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载