昨天的Linux PrivEsc中已经介绍过提权的基本概念了,所以今天就直接进入正题吧
与Linux的提权一样,有一些常见的Windows提权手段,像是Windows Version和一些设定,我们可以透过输入一些指令获得这台机器的基本讯息,例如:
systeminfo
这个指令可以提供此机器的Windows硬体与软件环境参数,也可以将此结果丢给Windows Exploit Suggester,python3 wes.py systeminfo.txt
,这会帮你判别出那些提权漏洞最有可能存在,并列出相关CVE和KB
图源同上
wmic qfe
这个指令可以会提供此机器存在的patch和更新
set
Get-ChildItem Env: | ft Key,Value
列出所有环境变数
whoami /priv
or whoami /groups
whoami /all
可以看到图中的SeImpersonatePrivilege的状态(State)是Enalbe,这就可以使用Juicy Potato,这个工具是一个local提权工具,让攻击者可以从一个较低权限的帐户提升到NT AUTHORITY\SYSTEM
,也就是Windows中的Administrator
帐户。
图源同Juicy Potato Github
net share
列出网路共享
WMIC /Node:localhost /Namespace:\\root\SecurityCenter2 Path AntivirusProduct Get displayName
列出防毒软件
%SYSTEMROOT%\repair\SAM
%SYSTEMROOT%\System32\config\RegBack\SAM
%SYSTEMROOT%\System32\config\SAM
%SYSTEMROOT%\repair\system
%SYSTEMROOT%\System32\config\SYSTEM
%SYSTEMROOT%\System32\config\RegBack\system
也可能可以从这些地方找到密码,再使用如pwdump
,samdump2
,johntheripper
来破解密码
REG QUERY HKLM /F "password" /t REG_SZ /S /K
可以用来找出registry中的金钥或密码,相似的指令还有
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\Currentversion\Winlogon"
等等
tasklist /v
,Get-Process
除了这些指令可以帮助提权外,还有像是DLL Hijacking、$PATH Interception和Windows Kernel漏洞、具有漏洞的Driver等等
这些只是Windows提权的一小部分,实际上提权手段种类繁多,也会依据不同环境有不同的变种和方法,而提权考验的是对於该系统的经验、知识储备和各种软件的熟悉程度以及资安新闻的follow,例如我曾碰过一台机器,用了一些常规方法和一个script都没有看到特别有价值的东西,反而在手动浏览目录时看到teamviewer,就想到可以拿来进行提权。
Script
Fireeye的SessionGopher
各种script都有其优点和针对性,搭配使用加上手动检查效果更好
>>: 那些被忽略但很好用的 Web API / Geolocation
我们把昨天的写入档案功能抽成一个独立静态方法,减少Action负责的逻辑,在其他地方若也用到写度档案...
正文 kubectl create ns kubecost wget https://raw.git...
今天要来分享我第二年参加铁人赛的故事!这时故事的时间线已经来到去年暑假。 进入正题 去年暑假,除了做...
今天来讲条件渲染(Conditional Rendering),也就是可以依照条件变化改变渲染元素的...
前言 目前为止我们都着重在解释作用域与变量的工作机制,有了这些基础後将进到下一步,首先我们要先探讨不...