记docker复杂环境下的内网打点
字数 1658 2025-09-01 11:26:11
Docker复杂环境下的内网渗透实战教学
一、前言
本文详细记录了一次在Docker复杂环境下的内网渗透过程,包含外网打点、Docker环境突破、内网横向移动等完整流程。所有技术仅用于安全研究和防御目的,相关漏洞均已修复。
二、渗透流程概述
- 外网打点:通过SQL注入和XXE漏洞获取初始权限
- Docker环境突破:发现目标处于Docker容器内,通过内存马建立隧道
- 内网横向渗透:数据库攻陷、系统攻陷、突破内网隔离
- 最终成果:控制多台内网主机,获取高权限账户,突破隔离网段
三、详细技术教学
3.1 外网打点阶段
3.1.1 初始漏洞利用
-
SQL注入利用:
- 发现登陆口存在1Day SQL注入漏洞(MySQL)
- 结合XXE漏洞获取初始系统权限
- 使用sqlmap等工具自动化利用
-
隐藏资产发现:
- 全端口扫描发现404响应端口
- 目录扫描发现
/jmreport路径 - 确认为Jeecg-Boot系统
3.1.2 Jeecg-Boot RCE利用
- 确认系统版本后直接利用已知RCE漏洞
- 获取Webshell权限
3.1.3 反弹Shell受阻处理
- 目标环境严格限制出网,常规反弹Shell失败
- 尝试多种内存马注入工具均失败
- 最终使用特制版哥斯拉成功植入内存马
3.2 Docker环境突破
3.2.1 环境确认
- 发现当前Shell处于Docker容器内
- 尝试Docker逃逸未成功
3.2.2 内存马植入技术
- 手动打入sou5内存马
- 建立Socks5代理隧道进入Docker内网
- 关键工具:特制版哥斯拉
3.2.3 内网侦察技术
- 使用webshell工具自带端口扫描功能
- 使用fscan快速扫描内网资产
- 发现MySQL、MSSQL、Web等服务
- Linux环境下无需考虑免杀问题
3.3 内网横向渗透
3.3.1 数据库攻陷
MySQL数据库:
- 发现Druid未授权访问(但无近期登录记录)
- 通过Swagger API接口报错注入获取MySQL root密码
- 破解哈希后连接受阻(数据库限制外部访问)
MSSQL数据库:
- 通过密码复用进入MSSQL服务器
- 目标不出网限制进一步利用
3.3.2 系统攻陷
Linux主机:
- 利用S2漏洞攻陷不出网的Linux服务器
- 发现多台SSH弱口令主机
Windows主机:
- 利用永恒之蓝(MS17-010)攻陷Windows机器
- 抓取密码尝试突破内网隔离
3.3.3 突破内网隔离
- 以攻陷的Windows主机作为跳板
- 进入内网其他隔离网段
- 扫描新网段发现更多漏洞:
- 弱口令
- 未授权访问漏洞
3.4 关键工具与技术总结
-
内存马技术:
- 特制版哥斯拉
- sou5内存马
- 针对不出网环境的解决方案
-
内网扫描工具:
- fscan快速内网资产识别
- CS自带端口扫描
-
漏洞利用:
- Jeecg-Boot RCE
- S2漏洞
- 永恒之蓝(MS17-010)
-
代理与隧道:
- Socks5代理建立
- MSF代理设置:
setg Proxies socks5:127.0.0.1:1080 setg ReverseAllowProxy true
四、经验与教训
-
不出网环境处理:
- 内存马是唯一选择
- 需要准备多种版本的内存马工具
-
Docker环境限制:
- 逃逸难度大时,建立隧道是更好选择
- 注意Docker内网的特殊性
-
内网横向技巧:
- 密码复用是高效方法
- 利用已控主机突破隔离
-
效率问题:
- Docker小水管导致操作卡顿
- 需要合理安排渗透顺序
五、防御建议
-
对外服务:
- 及时修复已知漏洞(如Jeecg-Boot RCE)
- 限制不必要的端口暴露
-
Docker安全:
- 使用非root用户运行容器
- 限制容器网络权限
-
内网安全:
- 避免密码复用
- 网络隔离策略实施
- 定期更新内网系统补丁
-
监控措施:
- 内存马检测机制
- 异常网络连接监控
六、参考资源
-
内网渗透相关文章:
-
工具集合:
- fscan内网扫描工具
- 哥斯拉Webshell管理工具
- MSF渗透框架
本教学文档完整呈现了一次复杂环境下的内网渗透过程,重点突出了在限制条件下的技术解决方案,可作为高级渗透测试人员的实战参考。