不出网环境下的渗透测试
字数 1456 2025-08-29 08:30:05

不出网环境下的渗透测试技术详解

环境概述

本次渗透测试模拟的是一个不出网环境下的攻击场景:

  • 靶机环境

    • IP地址:10.10.10.135
    • 运行有CVE-2022-26134漏洞的Confluence服务(端口8090)
    • 数据库服务:PostgreSQL(默认用户postgres:postgres,端口5432)
  • 攻击机环境

    • IP地址:10.10.10.1
    • 使用工具:vshell、suo5、哥斯拉、Proxifier、Navicat

漏洞利用阶段

1. 初始漏洞利用(CVE-2022-26134)

Confluence的CVE-2022-26134是一个OGNL表达式注入漏洞,允许远程代码执行。

利用步骤

  1. 构造恶意请求利用该漏洞
  2. 上传内存马(内存webshell)到目标系统
  3. 使用哥斯拉(Godzilla)连接该内存马

2. 建立第一层代理(suo5)

由于目标环境不出网,需要建立代理通道:

  1. 通过哥斯拉的suo5插件注入Suo5Filter马
  2. 注入成功后,使用suo5客户端连接建立代理通道

技术要点

  • Suo5是一种用于不出网环境下的代理工具
  • 内存马注入不留痕迹,避免文件落地

3. 获取正向Shell(vshell)

  1. 使用vshell生成正向监听器
  2. 通过哥斯拉上传vshell客户端到/var/tmp目录
  3. 在哥斯拉的虚拟终端中执行:
    chmod +x /var/tmp/vshell
    nohup /var/tmp/vshell &  # 使用nohup避免痕迹
    
  4. 查看内网IP信息
  5. 在vshell上建立正向连接

4. 数据库信息收集

  1. 在获取的shell中查看Confluence配置文件:

    /var/atlassian/application-data/confluence/confluence.cfg.xml
    
  2. 获取数据库凭据:

    • 用户名:postgres
    • 密码:postgres
    • 端口:5432
    • 主机名:db(需进一步解析)
  3. 使用curl解析真实数据库IP:

    curl http://db:5432
    

    发现真实IP为172.18.0.2

数据库渗透阶段

1. 建立第二层代理

  1. 在vshell中创建隧道,将数据库端口映射到本地
  2. 配置Proxifier设置代理规则
  3. 使用Navicat通过代理连接数据库

2. 数据库操作

  1. 连接PostgreSQL数据库后,查看confluence库中的cwd_user
  2. 获取管理员账号密码(使用PBKDF2加密)
  3. 备份原始密码
  4. 将管理员密码修改为简单密码(如123456)

3. Confluence登录与权限维持

  1. 使用修改后的密码登录Confluence管理界面
  2. 创建新的管理员账号
  3. 退出admin账号,将原始密码恢复
  4. 保留新创建的管理员账号作为后门

技术总结

  1. 不出网环境渗透关键点

    • 利用内存马避免文件落地
    • 分层建立代理通道(suo5 → vshell → Proxifier)
    • 使用nohup执行不留痕迹
  2. 工具链使用

    • 哥斯拉:Webshell管理
    • suo5:第一层代理建立
    • vshell:正向Shell获取
    • Proxifier:流量转发
    • Navicat:数据库管理
  3. 权限维持技巧

    • 修改-恢复密码不留痕迹
    • 创建隐蔽管理员账号
    • 使用内存驻留技术避免文件检测
  4. 数据库渗透路径

    • 配置文件信息收集 → 数据库定位 → 代理建立 → 凭证修改 → 权限维持

防御建议

  1. 及时修补Confluence漏洞(CVE-2022-26134)
  2. 数据库服务不应使用默认凭证
  3. 实施网络隔离,限制数据库访问
  4. 监控异常进程和网络连接
  5. 实施严格的权限管理和审计日志
  6. 对配置文件进行权限控制
  7. 部署内存马检测机制

通过这种分层渗透技术,攻击者可以在不出网环境下建立完整的攻击链,获取系统控制权并维持持久访问。防御方需要采取纵深防御策略来应对此类攻击。

不出网环境下的渗透测试技术详解 环境概述 本次渗透测试模拟的是一个不出网环境下的攻击场景: 靶机环境 : IP地址:10.10.10.135 运行有CVE-2022-26134漏洞的Confluence服务(端口8090) 数据库服务:PostgreSQL(默认用户postgres:postgres,端口5432) 攻击机环境 : IP地址:10.10.10.1 使用工具:vshell、suo5、哥斯拉、Proxifier、Navicat 漏洞利用阶段 1. 初始漏洞利用(CVE-2022-26134) Confluence的CVE-2022-26134是一个OGNL表达式注入漏洞,允许远程代码执行。 利用步骤 : 构造恶意请求利用该漏洞 上传内存马(内存webshell)到目标系统 使用哥斯拉(Godzilla)连接该内存马 2. 建立第一层代理(suo5) 由于目标环境不出网,需要建立代理通道: 通过哥斯拉的suo5插件注入Suo5Filter马 注入成功后,使用suo5客户端连接建立代理通道 技术要点 : Suo5是一种用于不出网环境下的代理工具 内存马注入不留痕迹,避免文件落地 3. 获取正向Shell(vshell) 使用vshell生成正向监听器 通过哥斯拉上传vshell客户端到 /var/tmp 目录 在哥斯拉的虚拟终端中执行: 查看内网IP信息 在vshell上建立正向连接 4. 数据库信息收集 在获取的shell中查看Confluence配置文件: 获取数据库凭据: 用户名:postgres 密码:postgres 端口:5432 主机名:db(需进一步解析) 使用curl解析真实数据库IP: 发现真实IP为172.18.0.2 数据库渗透阶段 1. 建立第二层代理 在vshell中创建隧道,将数据库端口映射到本地 配置Proxifier设置代理规则 使用Navicat通过代理连接数据库 2. 数据库操作 连接PostgreSQL数据库后,查看 confluence 库中的 cwd_user 表 获取管理员账号密码(使用PBKDF2加密) 备份原始密码 将管理员密码修改为简单密码(如123456) 3. Confluence登录与权限维持 使用修改后的密码登录Confluence管理界面 创建新的管理员账号 退出admin账号,将原始密码恢复 保留新创建的管理员账号作为后门 技术总结 不出网环境渗透关键点 : 利用内存马避免文件落地 分层建立代理通道(suo5 → vshell → Proxifier) 使用nohup执行不留痕迹 工具链使用 : 哥斯拉:Webshell管理 suo5:第一层代理建立 vshell:正向Shell获取 Proxifier:流量转发 Navicat:数据库管理 权限维持技巧 : 修改-恢复密码不留痕迹 创建隐蔽管理员账号 使用内存驻留技术避免文件检测 数据库渗透路径 : 配置文件信息收集 → 数据库定位 → 代理建立 → 凭证修改 → 权限维持 防御建议 及时修补Confluence漏洞(CVE-2022-26134) 数据库服务不应使用默认凭证 实施网络隔离,限制数据库访问 监控异常进程和网络连接 实施严格的权限管理和审计日志 对配置文件进行权限控制 部署内存马检测机制 通过这种分层渗透技术,攻击者可以在不出网环境下建立完整的攻击链,获取系统控制权并维持持久访问。防御方需要采取纵深防御策略来应对此类攻击。