我是如何破解你的WINDOWS密碼的 ?(2)


介紹

在這個系類的第一部分中,我們揭示了windows創建和儲存密碼的機制。我們也涉獵了一點兩種加密方法的弱點和破解的方法。在這系列的第二篇也是最后一篇文章中,我會實戰用網上免費的工具一步一步的來破解一次密碼給你看。

注意!以下這些技術只為學習目的,請勿用於非法用途!

 

獲取密碼HASH

 

為了破解密碼你應該先獲取密碼在windows中儲存的位置,這些hash儲存在windows在SAM文件中,這個文件在C:\Windows\System32\config不過在windows啟動時這個文件是不能被讀取的,這個文件同樣也儲存在HKEY_LOCAL_MACHINE\SAM中不過在windows啟動時,這個文件也是不能讀取的。

下面幾種方法可以審計你的機器,用哪種方法取決於你對要審計的機器有多大的權限。

物理接觸

如果你可以物理接觸那台機器的話,最有效的辦法就是在那台電腦上進入另一個系統,如果你習慣使用Linux系統的話,你可以引導一個linux系統,掛載上WINDOWS所在的盤,把SAM文件拷貝到別的地放

如果你用不慣這種方式,你可以用P. Nordahl著名的一款工具Offline NT Password Editor,下載鏈接http://pogostick.net/~pnh/ntpasswd/ 這個linux系統設計出來的目的就是為了幫助忘了密碼的人重置密碼,這對我們很有用因為我們可以也用這個發行版簡單的讀取SAM文件並且得到hash數據。

為了完成這些,啟動CD鏡像系統,選擇有SAM和注冊表文件的系統分區。

選擇

重置密碼【1】

啟動內置的注冊表編輯器【9】

瀏覽SAM\Domain\Account\Users,瀏覽你想要進入的哪個賬戶,使用命令cat查閱文件中儲存的hash值。文件以16進制輸出,可以經過簡單的轉換它。

(1)用16進制輸出的sam文件

在實際中使用Offline NT Password Editor去重置密碼時。確保你不沒有用文件加密系統{Encrypted File System (EFS)}或者在Windows XP/2003之后發布的版本。如果你堅持這樣做,你的系統會丟失EFS keys,會導致比忘記密碼更多的麻煩事。

 

從命令行進入


如果你想執行密碼審計並且不能物理接觸機器時,但是你有命令行或者VNC界面,你可以使用多功能的Fizzgig fgdump,由這里獲得http://foofus.net/goons/fizzgig/fgdump/

你在目標主機下載了fgdump之后你可以直接簡單的不帶參數的運行它會導出一個本地機器的SAM文件

image0041265466252852

(2)正確配置fgdump運行

運行之后這個程序會在痛目錄下面創建一個txt文件,其中包含了一個所有用戶的賬戶和他們LM hash和MTLMv2hash

(3)文件被fgdump導出了

 

從互聯網進入

 

最后,如果你沒有任何和機器互動的權限,但是你又想要得到它的hash,你可以在你想要獲取hash的網段中嗅探,它們會在驗證時傳送hash。當然,只有在客戶端發送驗證到域控服務器時或者進入其他客戶端時才可以,這時候運氣比你全副武裝要有用的多了.

如果你和要截取密碼的客戶機在同一個網段,當兩台計算機在傳輸密鑰密文時你可以使用cain截取密碼hash。cain可以從這里下載http://www.oxid.it/cain.html 你可以使用cain進行一種中間人攻擊叫做ARP毒化,利用ARP協議的不足,使兩台機器的流量通過你的電腦,當兩台機器的流量通過你的電腦時,你可以使用cain內置的網絡嗅探,截取NTLM hash。關於ARP毒化攻擊的原理又是另外一門課,這里我們只涉及一點,如果你想學更多我接下來會介紹。

使用cain破解密碼

現在我們已經有了hash了,接下來我們應該做的事情就是我們應該破解他們了,如果你已經下載安裝了cain,納尼已經可以用它破解簡單的LM hash了。

如果你沒有下載cain你應該去下一個,如果你安裝cain你也應該安裝一個Wincap,一款cain使用的流量捕捉軟件驅動。你可以打開軟件界面,界面頂端有一個cracker按鈕,選擇左邊的LM&NTLM Hashes,右擊中間的空白地方,選擇Add to list.

cain不接受直接復制黏貼hash,你應該放在一個txt文件里,格式參照以下的文件,

如果你是使用fgdump到處的文件,那么那個文件可以直接使用。

(4)

如果你手動提取密碼你需要為每個用戶在txt文件中創建單獨一行,每行應該包含username,RID,hashes。

格式如下:

Username:RID:LMHash:NTLMHash:::

選擇文件,選擇它,點擊下一步導入hashes,你可以使用暴力破解,右鍵點選你想破解的賬戶的LM hases,暴力破解方法是窮舉可能的密碼密文和hash對比直到找出符合的為止,你可以自定義破解字符/最小/最大字符長度,因為LM會自動把所有字符轉換成大寫,所以你不必輸入小寫字母,而且最大長度是7位。

在我們的測試場景中我們的密碼是password123我們可以立即看到后半部分密碼是“Plaintext of 664345140A852F61 is D123”在一台現代計算機中,一個LM密碼破解最多不會超過三個小時。

image0101265466379586

(5)成功破解LM密碼hash

使用Johe the ripper破解密碼

 

cain對破解LM密碼非常好用,不過對於破解NTLMv2密碼非常慢,如果你不排斥使用命令行界面的話,那么這款John the Ripper工具是破解NTLMv2密文最快的工具了。

你可以從這里下載John the Ripper

http://www.openwall.com/john/

當你提取了壓縮文件時,你會發現一個可執行文件386.exe在目錄里,jone可以進入幾個不同的模式,不過你只要在命令行中使用默認模式,提供包含hash的文件給它作為參數

image0121265466379602

(6)jone the ripper嘗試破解一個密碼

破解完成后,jone the ripper會顯示cracked passwords並且把結果儲存在john.pot文件中,一般我們使用默認模式就可以了,不過我們也可以選擇以下幾種模式:

  • Single Crack Mode – Uses variations of the account name

  • Wordlist Mode – Relies on a dictionary for password guesses

  • Incremental Mode – Relies on a brute-force style attack

  • External Mode – Relies on another (user supplied) application for password guessing
    john每個模式都很有用,這款軟件是我最常用的破解hash軟件。

    使用彩虹表破解密碼

    當你破解一個非常復雜的NTLMv2密碼需要花費大量的時間時,最合理的辦法應該是使用彩虹表。彩虹表是事先把所有可能的密碼生成好,然后直接對比加密密文,所以彩虹表非常占硬盤空間。在以前,低配的處理器和硬盤無法儲存彩虹表,不過在現代計算機的幫助下,正規滲透測試師和惡意的入侵者可以把彩虹表放在外接的硬盤上。

    找到一個有儲存彩虹表的地方下載你只需要google就可以了,不過對一般的密碼,你可以使用在線web破解。

    預防密碼被破解

    人們總是想創建一個沒有人能破解的加密方式,不過其實這個想法是有點問題的。這個想法是建立在電腦生成隨機數然后加密,但是實話來說電腦並不能做到真正的“隨機”,所謂的隨機建立在程序邏輯上,所以它只能做到使其被破解的時間延長,換句話來說就是,當破解它的成本比它本身的成本高時就可以了。

    使用復雜密碼並且經常更換
    最有效的放置別人破解密碼的方法是把自己的密碼弄得非常復雜,如果你的密碼包含大小寫,數字,特殊符號,並且長度很大,它一時間就不能被破解。再加一層保險就是你經常改你的密碼,當攻擊者破解了你的密碼時,你的密碼早就改了。沒有比這個更好的辦法了。

    關閉LM加密

    到現在你應該了解到了LM算法的弱點了,不過應該慶幸的是我們已經不用這個算法了,現代計算機可以簡單的配置注冊表來使用NTLMv2來加密。
    你在注冊表中打開HKLM\System\CurrentControlSet\Control\LSA關閉LM加密。並且創建一個DWORD命名為NoLMHash並且賦值為1
    另外的一個步驟就是關閉網絡傳輸中的LM認證,再次打開HKLM\System\CurrentControlSet\Control\LSA將CompatibiltyLevel設置為3那么他就只會傳輸NTLMv2hash到域控機器了,如果說你設置為5那個么機器會只接受NTLMv2的認證請求,這個適合服務器。
    不過這個唯一的缺點就是會對網絡里的Windows NT4計算機造成麻煩,不過如果你還是使用這種老版本的系統,我唯一能給你的安全建議就是把它們扔了!

    使用syskey

    syskey是windows的一個對SAM文件進行128位的加密,syskey使用用戶創建的key對SAM文件進行加密,一旦開啟它就不能結束。

    我們應該了解到的是,SYSKEY只加密SAM文件本身,目的是為了防止SAM文件被復制。不過SKSKEY不能防止從內存中提取SAM文件的軟件,例如cain和fgdump
    你可以從微軟官方文檔中找到對SYSKEY的解釋ttp://support.microsoft.com/kb/143475.

    結論

    破解密碼對入侵者來說是一項有用的技能,不過對系統管理員來說,windows如何創建/儲存密鑰,並且他們會被如何偷取,破解也是很有必要的,當有潛在的入侵者多數對LM加密的密碼和見到那的密碼流口水。記住,打仗不能對戰況一知半解,如果說你對這篇文章一知半解,那我無能為力了。你應該使用這些技巧去對付想破解你的系統密碼的入侵者。


免責聲明!

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



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