搜索公众号:白帽子左一,领配套练手靶场,全套安全课程及工具
在windows中,权限种类还是比较多,但我们涉及到的基本就三个
User(普通用户权限)、Administrator(管理员权限)和system(系统权限)
一、提权方法
常用的提权方法
系统内核溢出提权
数据库提权
错误的系统配置提权
组策略首选项提权
DLL劫持提权
滥用高权限令牌提权
第三方软件/服务提权
二、内核溢出提权
电脑里的数据就好比水缸里的水,正常情况下水满了就不会在向水缸里注水
如果继续注入,水就会溢出到外界从而污染外界环境;这里的水缸就类似与电脑里的缓冲区或者内存。
内核溢出通常依托于目标系统的漏洞,如果目标没有及时安装相应的补丁,则可能造成溢出。
查找缺失补丁和exp
使用系统指令
首先获得获得已安装的补丁
wmic qfe get caption,description,hotfixid,installedon
systeminfo | findstr KB
然后借助提权辅助站点如https://i.hacking8.com/tiquan/或者http://blog.neargle.com/win-powerup-exp-index/进行查询未安装补丁或搜索可用exp
使用Windows-Exploit-Suggester
Windows-Exploit-Suggester可以将已安装的补丁和微软数据库中的补丁做比对,从而识别可提权的漏洞。使用方法如下:
step1.首先需要更新漏洞数据库./windows-exploit-suggester.py --update
记住最新库的文件名,如2021-05-28-mssb.xls
step2:使用systeminfo
获取系统信息,将其保存,如testf.txt
step3:执行./windows-exploit-suggester.py --database 2021-05-28-mssb.xls --systeminfo test.txt
使用sherlock 脚本
sherlock和上述的Windows-Exploit-Suggester
具有同样的作用。
使用方法:
step1: 输入Import-Module .\Sherlock.ps1
导入脚本
step2:输入Find-AllVulns
扫描
三、系统配置错误提权
windows操作系统中的常见配置错误包括:
管理员凭证配置错误
服务配置错误
故意削弱的安全措施
用户权限过高
系统服务权限配置错误
windows系统服务文件在操作系统启动时加载执行,并在后台调用可执行文件。
如果一个低权限的用户对此类系统服务调用的可执行文件拥有写权限,那么就可以替换该文件,并随着系统启动获得控制权限。
windows服务是以system权限运行的,其文件夹、文件和注册表key-value都是受强制访问控制保护的。
但是在某些情况下,操作系统中依然存在一些没有得到有效保护的服务。
PowerUP
powerup直接导入即可。
使用方法:
step1:Import-Module .\1.ps1
导入模块
step2:Invoke-AllChecks
查询服务
step3:根据提示输入语句即可
可信任服务路径漏洞
利用了windows文件路径解析的特性,如果一个服务调用的可执行文件没有正确处理所引用的完整路径名,这个漏洞就会被攻击者用来上传任意可执行文件。
通俗的说,如果一个服务的可执行文件的路径(带空格)没有被双引号引起来,那么这个服务就有漏洞。
比如:如:c:\program files\some folder\service.exe
,对于该路径中空格所有可能情况进行尝试,直到找到一个匹配的程序
c:\program.exe
c:\program files\some.exe
c:\program files\some folder\service.exe
此时如果在C盘
传入program.exe
文件,则会执行这个文件,以此类推。
操作步骤:
step1: 执行wmic service get displayname,startmode,pathname|findstr /i "Auto" | findstr /i /v "C:\Windows\\"
探测符合条件的服务
step2:确认该目录是否可写
step3:执行
sc stop service_name
sc start service_name
自动配置文件
域的好处之一就是可以统一配置多台服务器,网络管理员在内网中给多台机器配置同一个环境时,通常不会逐个配置,而是使用脚本批量部署。
在这个过程中,会使用安装配置文件。
这些文件中包含所有的安装配置信息,其中一些还可能包含管理员账号和密码。
操作方法:
搜索文件名为sysprep
或unattend
,后缀为.inf
、.xml
、inf
的文件,如dir /b /s C:\Unattend.xml
计划任务
与Linux/Unix
系统的cron/jobs
相比,Windows
计划任务程序 是定义为触发器执行操作。
计划任务可以存档不同的操作:
触发 COM 处理程序;
执行二进制;
发送 E-mail;
显示一个消息框
可用于执行动作的不同触发器:
基于时间
时间触发
每日触发
每周触发
每月触发
基于事件
空闲触发
开机触发
注册触发
登陆触发
会话状态更改触发
可以使用多个触发器来触发任务。
一个简单的例子:我想要一个任务,该任务将在用户每次登陆时执行一次脚本,或者每个月弹出一个消息框,以便提醒我必须修改密码。
在大多数情况下,计划任务是以 NT Authority\System 高权限执行的。
因此,如果计划任务要执行的是一个二进制,而且二进制文件可以用任意一个二进制文件覆盖,则可能会导致特权提升。
查看本机计划任务
schtasks /query /fo LIST /v