专栏首页FreeBuf针对Memcached缓存服务器的渗透测试方法介绍

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

在之前的文章中,我向大家介绍了如何在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缓存服务器的渗透测试方法介绍

如上图所示,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 secondget 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

本文分享自微信公众号 - FreeBuf(freebuf),作者:secist

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-04-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 网络空间的罪恶天堂,暗网是一个怎样的世界?

    一、背景 “互联网+”等新产业、新业态的快速发展,为经济结构调整注入了新活力。截止到日前,中国网民规模达6.68亿,手机网民规模达5.94亿,互联网普及率48....

    FB客服
  • 如何写一个你自己的Web集群式渗透系统

    一个功能完善可以自定义的渗透系统可以帮助你省下很多的时间来思考目标站点的弱点,本文章就是教你怎么搭建一个Web入口的集群式渗透系统。 0×00 介绍 不知道大...

    FB客服
  • 一封钓鱼邮件带来的乐趣

    整个六月你我都很忙,你忙着钓鱼、我忙着封锁 IP,一份邮件把我从紧张的氛围中拉了出来,邮件大意为“蓝队的朋友想要加分么?你如果能协助国际刑警修复从犯罪嫌疑人电脑...

    FB客服
  • 网络空间的罪恶天堂,暗网是一个怎样的世界?

    一、背景 “互联网+”等新产业、新业态的快速发展,为经济结构调整注入了新活力。截止到日前,中国网民规模达6.68亿,手机网民规模达5.94亿,互联网普及率48....

    FB客服
  • 渗透测试

    渗透测试,也称为笔测试,是针对您的计算机系统的一个模拟网络攻击,用于检查可利用的漏洞。在Web应用程序安全性方面,渗透测试通常用于增强Web应用程序防火墙(WA...

    周俊辉
  • 网络世界的罪恶天堂:暗网发展调研报告

    大数据文摘
  • 从金融时序到图像识别:基于深度CNN的股票量化策略(附代码)

    本文基于一篇题为《Algorithmic Financial Trading with Deep Convolutional Neural Networks: ...

    量化投资与机器学习微信公众号
  • 网络编程—tcp

    TCP协议,传输控制协议(英语:Transmission Control Protocol,缩写为 TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议...

    py3study
  • 淘宝数据分析实战:美食霸榜销量No.1的竟然是....

    想必大家都喜欢囤货吧,小编购物车里全是加购的零食,闲来无事,就顺手爬了淘宝搜索美食出来的商品信息,简单做了个分析,借此案例给大家学习参考。

    1480
  • 虚拟机总脑裂,写坏磁盘怎么办?

    鹏 飞 专注于OpenStack计算、Python。 热爱大海、雪山。 ? 导 语 在云中使用虚拟机HA,热迁移等功能的时候,可能会出现两个主机上的虚拟机同时...

    腾讯云TStack

扫码关注云+社区

领取腾讯云代金券