提权学习之旅—基础篇
字数 1733 2025-08-19 12:41:11

提权学习之旅—基础篇

0x00 什么是提权

提权是指提高自己在服务器中的权限,主要针对网站入侵过程中,当入侵某一网站时,通过各种漏洞提升WEBSHELL权限以夺得该服务器权限。简单来说就是权限提升。

  • Windows: User >> System
  • Linux: User >> Root

0x01 什么情况下使用提权

一般产生提权的原因是因为当前权限无法做到某些我们需要做到的事情,以下情况会产生提权需求:

  1. Webshell权限不足
  2. 数据库权限(如拿到数据库的user权限)
  3. 普通用户权限受限

0x02 Windows下的权限划分

Windows是一个支持多用户、多任务的操作系统,权限设置基于用户和进程:

  • Administrators: 管理员组,拥有不受限制的完全访问权
  • Power Users: 高级用户组,可执行除Administrators保留任务外的其他任务
  • Users: 普通用户组,无法进行有意或无意的改动
  • Guests: 来宾组,限制比普通用户更多
  • Everyone: 所有用户

0x03 Linux下的权限划分

Linux系统中用户角色通过UID和GID识别:

  • 超级用户(0): root用户,UID和GID都是0,拥有最高管理权限
  • 普通用户(1~499): 系统中大多数用户,一般使用普通用户操作,需要时用sudo提升权限
  • 虚拟用户(500~65535): 系统正常运行必需,大多数默认不能登录系统

0x04 Windows基础命令

query user          // 查看用户登陆情况
whoami             // 当前用户权限
systeminfo         // 查看当前系统版本与补丁信息
ver               // 查看当前服务器操作系统版本
Net start        // 查看当前计算机开启服务名称

# 添加管理员用户
net user username password /add          // 添加普通用户
net localgroup administrators username /add  // 添加到管理员组
net localgroup "Remote Desktop Users" username /add  // 添加远程桌面组

netstat -ano       // 查看端口情况
tasklist          // 查看所有进程占用的端口
taskkill /im 映像名称.exe /f  // 强制结束指定进程
taskkill -PID pid号       // 结束某个pid号的进程

0x05 Linux基础命令

# 查看发行版
cat /etc/issue
cat /etc/*-release

# 查看内核版本
uname -a

0x06 常用提权方法

Webshell提权方向

  1. 系统漏洞提权
  2. 第三方软件提权
  3. 数据库提权
  4. 配置错误提权
  5. 计划任务提权

数据库权限提权方法

  1. MySQL UDF提权
  2. MSSQL xp_cmdshell提权
  3. Oracle Java提权

普通用户提权方向

  1. 密码破解
  2. 内核漏洞利用
  3. SUID/SGID提权
  4. 环境变量提权
  5. sudo配置不当提权

实践—基于密码破解的提权

0x01 环境准备

实验环境: Windows Server 2003

0x02 Windows密码原理

Windows使用两种方法对用户密码进行哈希处理:

  • LAN Manager(LM)哈希
  • NTLAN Manager(NTLM)哈希

Windows系统密码hash格式:
用户名:RID:LM-HASH值:NT-HASH值

在线破解网站:

  • http://cracker.offensive-security.com/index.php
  • https://www.objectif-securite.ch/ophcrack

0x03 抓取hash及暴力破解

获取hash的方法:

  1. 导出导入SAM、system文件
  2. gethashs导出
  3. Pwdump导出
  4. Wce导出

常用工具:

  • Quarks PwDump

    QuarksPwDump -dh1   // 导出本地哈希值
    QuarksPwDump -dhdc  // 导出内存中域账户哈希值
    QuarksPwDump -dhd   // 导出域哈希值(指定NTDS文件)
    
  • WCE

    wce -a  // 获取所有账户哈希值
    

暴力破解工具:

  • Saminside字典破解
  • Ophcrack加载彩虹表破解

0x04 Windows明文密码抓取

  1. WCE明文密码获取
  2. Mimikatz明文密码获取
    privilege::debug
    sekurlsa::logonpasswords
    
  3. Getpass明文密码获取

0x04 Linux密码原理

重要文件:

  • /etc/passwd # 用户信息
  • /etc/shadow # 密码信息

Linux密码文件存放位置:

  • Linux: /etc/shadow
  • AIX3: /etc/security/passwd
  • HP-UX: /.secure/etc/passwd

加密算法标识:

  • $1: Md5加密算法
  • $2: Blowfish加密算法
  • $5: sha-256加密算法
  • $6: sha-512加密算法
  • 其他: 标准DES加密算法

0x05 Linux密码破解

使用john工具破解步骤:

  1. 合并passwd和shadow文件

    unshadow /etc/passwd /etc/shadow > shadow
    
  2. 使用字典暴力破解

    john --wordlist=/usr/share/john/password.lst --rules shadow
    
  3. 查看破解结果

    john --show shadow
    

横向渗透与纵向渗透

横向渗透

已经拿到内网中部分主机,利用这些主机作为跳板进一步攻击内网中其他主机。密码破解主要运用在横向渗透中。

纵向渗透

  1. 匿名访问
  2. 进入后台
  3. 拿到webshell
  4. 最终拿到系统权限

总结

掌握基础知识后,可进一步学习:

  1. Windows操作系统提权
  2. Linux操作系统提权
提权学习之旅—基础篇 0x00 什么是提权 提权是指提高自己在服务器中的权限,主要针对网站入侵过程中,当入侵某一网站时,通过各种漏洞提升WEBSHELL权限以夺得该服务器权限。简单来说就是权限提升。 Windows: User >> System Linux: User >> Root 0x01 什么情况下使用提权 一般产生提权的原因是因为当前权限无法做到某些我们需要做到的事情,以下情况会产生提权需求: Webshell权限不足 数据库权限(如拿到数据库的user权限) 普通用户权限受限 0x02 Windows下的权限划分 Windows是一个支持多用户、多任务的操作系统,权限设置基于用户和进程: Administrators : 管理员组,拥有不受限制的完全访问权 Power Users : 高级用户组,可执行除Administrators保留任务外的其他任务 Users : 普通用户组,无法进行有意或无意的改动 Guests : 来宾组,限制比普通用户更多 Everyone : 所有用户 0x03 Linux下的权限划分 Linux系统中用户角色通过UID和GID识别: 超级用户(0) : root用户,UID和GID都是0,拥有最高管理权限 普通用户(1~499) : 系统中大多数用户,一般使用普通用户操作,需要时用sudo提升权限 虚拟用户(500~65535) : 系统正常运行必需,大多数默认不能登录系统 0x04 Windows基础命令 0x05 Linux基础命令 0x06 常用提权方法 Webshell提权方向 系统漏洞提权 第三方软件提权 数据库提权 配置错误提权 计划任务提权 数据库权限提权方法 MySQL UDF提权 MSSQL xp_ cmdshell提权 Oracle Java提权 普通用户提权方向 密码破解 内核漏洞利用 SUID/SGID提权 环境变量提权 sudo配置不当提权 实践—基于密码破解的提权 0x01 环境准备 实验环境: Windows Server 2003 0x02 Windows密码原理 Windows使用两种方法对用户密码进行哈希处理: LAN Manager(LM)哈希 NTLAN Manager(NTLM)哈希 Windows系统密码hash格式: 用户名:RID:LM-HASH值:NT-HASH值 在线破解网站: http://cracker.offensive-security.com/index.php https://www.objectif-securite.ch/ophcrack 0x03 抓取hash及暴力破解 获取hash的方法: 导出导入SAM、system文件 gethashs导出 Pwdump导出 Wce导出 常用工具: Quarks PwDump WCE 暴力破解工具: Saminside字典破解 Ophcrack加载彩虹表破解 0x04 Windows明文密码抓取 WCE明文密码获取 Mimikatz明文密码获取 Getpass明文密码获取 0x04 Linux密码原理 重要文件: /etc/passwd # 用户信息 /etc/shadow # 密码信息 Linux密码文件存放位置: Linux: /etc/shadow AIX3: /etc/security/passwd HP-UX: /.secure/etc/passwd 加密算法标识: $1 : Md5加密算法 $2 : Blowfish加密算法 $5 : sha-256加密算法 $6 : sha-512加密算法 其他: 标准DES加密算法 0x05 Linux密码破解 使用john工具破解步骤: 合并passwd和shadow文件 使用字典暴力破解 查看破解结果 横向渗透与纵向渗透 横向渗透 已经拿到内网中部分主机,利用这些主机作为跳板进一步攻击内网中其他主机。密码破解主要运用在横向渗透中。 纵向渗透 匿名访问 进入后台 拿到webshell 最终拿到系统权限 总结 掌握基础知识后,可进一步学习: Windows操作系统提权 Linux操作系统提权