iT邦幫忙

2021 iThome 鐵人賽

DAY 29
0
Security

讓Web開發者森77的Hacking Trick系列 第 29

[Day29] Windows Privilege Escalation

前言

昨天的Linux PrivEsc中已經介紹過提權的基本概念了,所以今天就直接進入正題吧

正文

與Linux的提權一樣,有一些常見的Windows提權手段,像是Windows Version和一些設定,我們可以透過輸入一些指令獲得這台機器的基本訊息,例如:

  • systeminfo

這個指令可以提供此機器的Windows硬體與軟體環境參數,也可以將此結果丟給Windows Exploit Suggesterpython3 wes.py systeminfo.txt,這會幫你判別出那些提權漏洞最有可能存在,並列出相關CVE和KB

圖源同上

  • wmic qfe

這個指令可以會提供此機器存在的patch和更新

set
Get-ChildItem Env: | ft Key,Value

列出所有環境變數

  • whoami /priv or whoami /groups
    列出現在用戶的權限
    另一個whoami /all
    除了可以顯示現在用戶的名稱、group之外還有安全等級、SID、和許可權(Privilege Information)

可以看到圖中的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
    列舉Process和Task

除了這些指令可以幫助提權外,還有像是DLL Hijacking、$PATH Interception和Windows Kernel漏洞、具有漏洞的Driver等等

這些只是Windows提權的一小部分,實際上提權手段種類繁多,也會依據不同環境有不同的變種和方法,而提權考驗的是對於該系統的經驗、知識儲備和各種軟體的熟悉程度以及資安新聞的follow,例如我曾碰過一台機器,用了一些常規方法和一個script都沒有看到特別有價值的東西,反而在手動瀏覽目錄時看到teamviewer,就想到可以拿來進行提權。

Script

WinPeas

Windows Exploit Suggester

Fireeye的SessionGopher

JAWS

windows-privesc-check

Sherlock

各種script都有其優點和針對性,搭配使用加上手動檢查效果更好


上一篇
[Day28] Linux Privilege Escalation
下一篇
[Day30] 讓Web開發者森77之後 / 總結
系列文
讓Web開發者森77的Hacking Trick30

尚未有邦友留言

立即登入留言