详述一次拿shell后的单机信息搜集和贯穿整个内网的大型横向渗透
字数 1328 2025-08-25 22:58:41

内网渗透实战:从单机信息搜集到横向渗透

1. 初始渗透阶段

1.1 目标发现与初步测试

  • 目标为基于Vuex开发的APP,参数全加密
  • 测试账号无数据,常规功能测试无果
  • 发现客服机器人功能,通过交互触发文件上传功能

1.2 文件上传漏洞利用

  • 上传文件后系统返回编号而非直接地址
  • 通过抓包分析发现绝对路径引用漏洞:
    • 系统在响应中直接暴露了文件服务器内网地址
    • 开发未使用相对路径或API参数,直接引用文件服务器绝对路径

1.3 突破不出网限制

  • 文件存储服务器不出网,常规webshell无法回连
  • 使用JSP文件管理器(2007年工具)实现不出网环境下的文件管理
  • 通过.bash_history文件查看历史命令记录(因history命令被限制)

2. 单机信息搜集

2.1 系统信息搜集

  • 执行ps -ef发现进程中的明文密码
  • 对比.bash_history中脚本密码,确认密码复用情况
  • 检查/etc/passwd、/etc/shadow等关键文件

2.2 文件系统分析

  • 按修改时间排序目录,重点关注近期修改的目录
  • 网站目录分析:
    • 发现开发习惯:直接在旧版中间件上部署新代码
    • 早期版本保留在旧中间件中
  • 关键目录发现:
    • dashuju文件夹
    • druid(阿里开源数据连接池)目录
    • ZooKeeper目录

2.3 网络架构分析

  • 通过hosts文件确定机器处于DMZ网络
  • 主机名命名规则反映机器功能(db=数据库等)
  • 确认站库分离架构

3. 横向渗透技术

3.1 密码复用利用

  • 发现多系统使用相同密码
  • 通过hosts文件中的主机列表进行横向移动

3.2 中间件管理界面利用

  • 发现Druid、ZooKeeper等管理界面
  • 通过管理界面获取200+个URL、cookie等信息
  • 发现备用服务器存在相同配置问题

3.3 关键文件发现

  • 使用JSP脚本获取网站目录下所有路径
  • 发现包含内网IP列表的ip.xls文件(6w+条数据)
  • 通过文件时间戳和命名规则推断网络架构

4. 渗透技巧总结

  1. 信息搜集优先原则

    • 历史命令记录(.bash_history)
    • 进程信息(ps -ef)中的密码泄露
    • hosts文件分析
    • 目录时间排序分析
  2. 开发习惯利用

    • 绝对路径引用漏洞
    • 密码复用模式
    • 版本迭代方式
  3. 不出网环境突破

    • JSP文件管理器使用
    • 绝对路径漏洞利用
    • 内网服务发现
  4. 横向移动技巧

    • 密码喷洒攻击
    • 管理界面未授权访问
    • 网络拓扑推断

5. 防御建议

  1. 开发层面

    • 避免绝对路径引用
    • 不同系统使用不同密码
    • 敏感信息不应出现在进程参数中
  2. 运维层面

    • 限制history命令记录
    • 定期清理.bash_history
    • 管理界面应做访问控制
  3. 架构层面

    • 严格区分DMZ与内网
    • 避免内网IP列表外泄
    • 实施网络分段隔离
  4. 安全监控

    • 监控异常文件上传行为
    • 检测异常进程创建
    • 审计管理界面访问日志

6. 工具与命令参考

  • 关键命令

    ps -ef  # 查看进程及参数
    cat ~/.bash_history  # 查看历史命令
    ls -lt  # 按时间排序查看目录
    
  • 利用工具

    • JSP文件管理器(不出网环境使用)
    • Burp Suite(抓包分析)
    • 自定义JSP脚本(目录遍历)

通过此案例可以看出,内网渗透的核心在于细致的信息搜集和对开发、运维习惯的深入分析,往往简单的配置错误或开发疏忽就能导致整个内网沦陷。

内网渗透实战:从单机信息搜集到横向渗透 1. 初始渗透阶段 1.1 目标发现与初步测试 目标为基于Vuex开发的APP,参数全加密 测试账号无数据,常规功能测试无果 发现客服机器人功能,通过交互触发文件上传功能 1.2 文件上传漏洞利用 上传文件后系统返回编号而非直接地址 通过抓包分析发现绝对路径引用漏洞: 系统在响应中直接暴露了文件服务器内网地址 开发未使用相对路径或API参数,直接引用文件服务器绝对路径 1.3 突破不出网限制 文件存储服务器不出网,常规webshell无法回连 使用JSP文件管理器(2007年工具)实现不出网环境下的文件管理 通过.bash_ history文件查看历史命令记录(因history命令被限制) 2. 单机信息搜集 2.1 系统信息搜集 执行 ps -ef 发现进程中的明文密码 对比.bash_ history中脚本密码,确认密码复用情况 检查/etc/passwd、/etc/shadow等关键文件 2.2 文件系统分析 按修改时间排序目录,重点关注近期修改的目录 网站目录分析: 发现开发习惯:直接在旧版中间件上部署新代码 早期版本保留在旧中间件中 关键目录发现: dashuju文件夹 druid(阿里开源数据连接池)目录 ZooKeeper目录 2.3 网络架构分析 通过hosts文件确定机器处于DMZ网络 主机名命名规则反映机器功能(db=数据库等) 确认站库分离架构 3. 横向渗透技术 3.1 密码复用利用 发现多系统使用相同密码 通过hosts文件中的主机列表进行横向移动 3.2 中间件管理界面利用 发现Druid、ZooKeeper等管理界面 通过管理界面获取200+个URL、cookie等信息 发现备用服务器存在相同配置问题 3.3 关键文件发现 使用JSP脚本获取网站目录下所有路径 发现包含内网IP列表的ip.xls文件(6w+条数据) 通过文件时间戳和命名规则推断网络架构 4. 渗透技巧总结 信息搜集优先原则 : 历史命令记录(.bash_ history) 进程信息(ps -ef)中的密码泄露 hosts文件分析 目录时间排序分析 开发习惯利用 : 绝对路径引用漏洞 密码复用模式 版本迭代方式 不出网环境突破 : JSP文件管理器使用 绝对路径漏洞利用 内网服务发现 横向移动技巧 : 密码喷洒攻击 管理界面未授权访问 网络拓扑推断 5. 防御建议 开发层面 : 避免绝对路径引用 不同系统使用不同密码 敏感信息不应出现在进程参数中 运维层面 : 限制history命令记录 定期清理.bash_ history 管理界面应做访问控制 架构层面 : 严格区分DMZ与内网 避免内网IP列表外泄 实施网络分段隔离 安全监控 : 监控异常文件上传行为 检测异常进程创建 审计管理界面访问日志 6. 工具与命令参考 关键命令 : 利用工具 : JSP文件管理器(不出网环境使用) Burp Suite(抓包分析) 自定义JSP脚本(目录遍历) 通过此案例可以看出,内网渗透的核心在于细致的信息搜集和对开发、运维习惯的深入分析,往往简单的配置错误或开发疏忽就能导致整个内网沦陷。