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

栏目: 数据库 · 发布时间: 5年前

内容简介:在目标:在Ubuntu 18.04上运行的Memcached Server攻击者:Kali Linux

之前的文章 中,我向大家介绍了如何在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

针对 <a href='https://www.codercto.com/topics/19203.html'>Memcached</a> 缓存服务器的渗透测试方法介绍

如上图所示,Memcached正在目标机器上运行,运行端口为11211。

现在,让我们通过键入以下命令使用nmap脚本命令进行一些高级搜索。

nmap -p11211 --script=memcached-info 192.168.1.32

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

如上图所示,nmap脚本命令向我们提取了一些关于Memcached Server的重要信息,例如进程ID,正常运行时间,架构,MAC地址等。

现在,让我们尝试使用telnet连接Memcached Server,输入以下命令。

telnet 192.168.1.32 11211

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

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

键入以下命令检查Memcached Server的当前版本。

version

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

可以看到Memcached的版本为1.5.6,运行在Ubuntu机器上。

现在,让我们直接获取存储在服务器中的有价值数据。键入以下命令打印服务器所有常规统计信息。

stats

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

以上信息显示了当前的流量统计信息。包括连接数,数据被存储到缓存中,缓存命中率以及有关内存使用和信息分布的详细信息。

现在,我们将运行另一个命令来获取slab统计信息。命令如下:

stats slabs

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

如上图所示,目前服务器中只有一个编号为1的slab。

现在,让我们运行下面的命令来显示各个slab中item的数目和存储时长(最后一次访问距离现在的秒数)。

stats items

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

接着,我们运行下面的命令来转储特定slab中存在的所有键。

stats cachedump 1 0

这里1和0是参数,

1 = slab ID

0 = 要转储的键数,0表示转储存在的所有键。

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

上图代表ITEM [ b; s]

现在,我们可以简单地使用get命令来获取存储在键中的值,如下所示。

get first 
get second
get third

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

正如你在上图中所看到的,我们已成功转储了存储在键值中的数据。

使用 libmemcached-tools 转储数据

首先在我们的系统中安装libmemcached-tools,键入以下命令。

apt install libmemcached-tools

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

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

memcstat --servers=192.168.1.33

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

以上命令将会为我们显示与之前stats命令几乎相同的结果。

现在,让我们直接转储存储在服务器中的键值。运行以下命令。

memcdump --servers=192.168.1.33

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

正如你在上图中看到的,我们已经转储了当前服务器中存在的所有键。

现在,让我们分别转储存储在键中的所有值。运行以下命令。

memccat --servers=192.168.1.33 fifth fourth third second first

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

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

输入以下命令。

memccp --servers=192.168.1.33 file

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

这里,memccp命令正在上传一个名为“file.txt”的文件,该文件存在于我们系统的根目录中。现在,让我们使用memcat来查看该文件中的内容。

memcat --servers=192.168.1.33 file

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

使用 Metasploit 转储数据

启动Metasploit Framework并搜索Memcache。

search memcache

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

可以看到当前有4个可用的auxiliary模块。

这里我选择使用的是auxiliary/gather/memcached_extractor模块。运行下面给出的命令。

use auxiliary/gather/memcached_extractor

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

在Metasploit Framework中成功导入auxiliary后,只需设置rhost然后运行即可。上图显示auxiliary已提取了当前存在于Memcached服务器中的键值,并将其保存到了默认位置/root/.msf4/loot/20190218044841_default_192.168.1.35_memcached.dump_286171.txt。

使用 Watchers 监听

Watchers是一种连接到Memcached并监听内部执行的所有操作的方法。

现在,我们使用telnet连接到Memcached并输入以下命令。

watch fetchers

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

其中OK表示watcher已准备好发送日志。

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

正如你在上图中所看到的,服务器中正在执行的所有操作都会被实时的显示在这里。

总结

在本文中我们学习了简单利用Memcached server的方法。在之后的文章中,我将向大家展示更为高级的Memcached server的利用方法。

*参考来源: hackingarticles ,FB小编secist编译,转载请注明来自FreeBuf.COM


以上所述就是小编给大家介绍的《针对Memcached缓存服务器的渗透测试方法介绍》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Think Python

Think Python

Allen B. Downey / O'Reilly Media / 2012-8-23 / GBP 29.99

Think Python is an introduction to Python programming for students with no programming experience. It starts with the most basic concepts of programming, and is carefully designed to define all terms ......一起来看看 《Think Python》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具