1. 程式人生 > >WINDOWS系統密碼破解全攻略

WINDOWS系統密碼破解全攻略

題目:Windows系統密碼破解全攻略
作者:hackest [H.S.T.]
來源:hackest's blog

此文章已發表在《黑客X檔案》2009年第6期雜誌上
後經作者釋出在部落格上,如轉載請務必保留此資訊!

背景

要破解一個程式的密碼,要先了解它的一些背景知識。先來簡單說一下Windows系統密碼的加密演算法。早期SMB協議在網路上傳輸明文口令。後來出現"LAN Manager Challenge/Response"驗證機制,簡稱LM,它是如此簡單以至很容易被破解。微軟提出了WindowsNT挑戰/響應驗證機制,稱之為NTLM。現在已經有了更新的NTLMv2以及Kerberos驗證體系。Windows加密過的密碼口令,我們稱之為hash(中文:雜湊),Windows的系統密碼hash預設情況下一般由兩部分組成:第一部分是LM-hash,第二部分是NTLM-hash。以下內容摘選自安全焦點:

--------------------------------------引文開始----------------------------------------------

一、如何從明文口令生成LM-Hash?

1、假設明文口令是"Welcome",首先全部轉換成大寫WELCOME,再做如下變換:
"WELCOME" -> 57454C434F4D4500000000000000
先把WELCOME轉換成十六進位制形式,在明文口令不足14位元組的情況下,後面新增0x00補足14位元組。有些書上介紹新增空格(0x20)補足14位元組,這是錯誤的,我不清楚是原作者寫錯了,還是譯者的問題。

2、然後切割成兩組7位元組的資料,分別經str_to_key()函式(程式碼已附光碟)處理得到兩組8位元組資料:
57454C434F4D45 -str_to_key()-> 56A25288347A348A
00000000000000 -str_to_key()-> 0000000000000000

3、這兩組8位元組資料將做為DESKEY對魔術字串"

[email protected]#$%"進行標準DES加密(程式碼已附光碟):

"[email protected]#$%" -> 4B47532140232425

56A25288347A348A -對4B47532140232425進行標準DES加密-> C23413A8A1E7665F
0000000000000000 -對4B47532140232425進行標準DES加密-> AAD3B435B51404EE

4、將加密後的這兩組資料簡單拼接,就得到了最後的LM-Hash

Welcome的LM-Hash: C23413A8A1E7665FAAD3B435B51404EE。

顯然,由於明文口令一開始就全部轉換成大寫,導致多個明文口令對應一個LM-Hash。反過來,在窮舉破解LM-Hash時,得到的有可能不是原始口令,因為不可能確定大小寫。仔細觀察前述SMB身份驗證過程,即使這裡得到的不是原始口令(大小寫有差別),同樣可以通過SMB身份驗證。這種轉換成大寫的行為減小了窮舉破解難度。

另一個弱點,當明文口令小於8位元組時,LM-Hash後8位元組的計算過程總是這樣的:

00000000000000 -str_to_key()-> 0000000000000000

對4B47532140232425進行標準DES加密-> AAD3B435B51404EE

這也將減小窮舉破解難度。

IBM設計了這個LM-Hash演算法,魔術字串"
[email protected]
#$%"的意義無從考證。這個演算法稱之為"雜湊"不怎麼妥當,由於是標準DES加密,完全是可逆的。當然,由於要窮舉的是DESKEY本身,與傳統所說的可逆有區別。

二、如何從明文口令生成NTLM-Hash?

IBM設計的LM-Hash演算法存在幾個弱點,微軟在保持向後相容性的同時提出了自己的挑戰響應機制,所以,NTLM-Hash應運而生。

1、假設明文口令是"123456",首先轉換成Unicode字串,與LM-Hash演算法不同,這次不需要新增0x00補足14位元組:

"123456" -> 310032003300340035003600

從ASCII串轉換成Unicode串時,使用little-endian序,微軟在設計整個SMB協議時就沒考慮過big-endian序,ntoh*()、hton*()函式不宜用在SMB報文解碼中。0x80之前的標準ASCII碼轉換成Unicode碼,就是簡單地從0x??變成0x00??。此類標準ASCII串按little-endian序轉換成Unicode串,就是簡單地在原有每個位元組之後新增0x00。

2、對所獲取的Unicode串進行標準MD4單向雜湊(程式碼已附光碟),無論資料來源有多少位元組,MD4固定產生128-bit的雜湊值,16位元組:

310032003300340035003600 -進行標準MD4單向雜湊-> 32ED87BDB5FDC5E9CBA88547376818D4

3、就得到了最後的NTLM-Hash

123456的NTLM-Hash: 32ED87BDB5FDC5E9CBA88547376818D4。

NTLM-Hash與LM-Hash演算法相比,明文口令大小寫敏感,但無法根據NTLM-Hash判斷原始明文口令是否小於8位元組,擺脫了魔術字串"
[email protected]
#$%"。

MD4是真正的單向雜湊函式,窮舉做為資料來源出現的明文,難度較大。問題在於,微軟一味強調NTLM-Hash的強度高,卻避而不談一個事實,為了保持向後相容性,NTLM-Hash預設總是與LM-Hash一起使用的。這意味著NTLM-Hash強調再高也是無助於安全的,相反潛在損害著安全性。增加NTLM-Hash後,首先利用LM-Hash的弱點窮舉出原始明文口令的大小寫不敏感版本,再利用NTLM-Hash修正出原始明文口令的大小寫敏感版本。

--------------------------------------引文結束----------------------------------------------

實戰

理論準備得差不多了,進入實戰階段。當你已經得到Windows的系統許可權後,如何才能獲得管理員的密碼hash呢?不同版本的Windows的hash獲取方法不一樣。用到的工具有pwdump7.exe、GetHashes.exe、SAMInside.exe、LC5、Cain、Proactive Password Auditor、Ophcrack。下面將會詳細介紹如何抓取各Windows版本的系統密碼hash。

都是工具的使用,想了解的看原文,略過。

vista、2008、win7下,pwdump7.exe,SAMInside.exe,Cain、PPA可以抓取Hash。

線上查詢

如果你覺得上面提到的這麼多東西都太麻煩,有沒有線上查詢hash的網站呢?答案是肯定的!國外有一個線上查詢hash的網站:http://www.objectif-securite.ch/en/products.php,和Ophcrack的官方有點關係的哦,嘿嘿……不過線上查詢只允許查tables XP free的表,有點可惜……同時特別要指出的是,線上查詢的時候需要注意hash的格式。比如使用者名稱和密碼都是hackest的hash為:
hackest:1011:7831A0FFABEE5FB3AAD3B435B51404EE:D78DF6E868E606E442313C5DF93216F1:::
我們只需要把7831A0FFABEE5FB3AAD3B435B51404EE:D78DF6E868E606E442313C5DF93216F1複製填入hash後面的框,再點選submit hash即可進行查詢,同時也支援輸入密碼返回hash值,如圖33。



Vista以後系統如果開啟BitLocker則以上方法均無效,根本無法抓取到hash,不過好在BitLocker預設是關閉的,不是特別需要的使用者一般不會開啟它。

相關推薦

Windows系統密碼破解 hash破解

作者:hackest [H.S.T.]來源:hackest's blog http://www.hackest.cn/post/102/ 引子我一直在想,到底用什麼樣的方式才能較長時間地控制已經得到了許可權的目標呢?留後門,種木馬,甚至是Rootkit?留的Webshell痕跡太明顯

WINDOWS系統密碼破解

題目:Windows系統密碼破解全攻略 作者:hackest [H.S.T.] 來源:hackest's blog 此文章已發表在《黑客X檔案》2009年第6期雜誌上 後經作者釋出在部落格上,如轉載請務必保留此資訊! 背景 要破解一個程式的密碼,要先了解它的一些背景知識。先來簡單說一下Windows系統密碼

Windows 系統 Unicode 文件名操作(新建、重命名、枚舉、復制)

for overflow date col left 文件的 函數 參數 splay 常見的那些文件操作函數都不支持,於是為了達到目的,需要各種方法配合,應該是不如其他語言方便。我只是想看看Perl到底是否適合做這件事,於是折騰了一回。文件的建立: 模塊:Win32

如何破解qq密碼破解與對策

自從本站開辦以來,不斷有網友來信大量重複詢問同一個問題:QQ密碼的破解。因為站長有限的精力,不可能一一作答,以後同樣的問題我將不會回覆了,您自己看這篇教程吧! 目前QQ木馬品種繁多,功能強大,且易學易用,連初學者也會用!正因為這樣,QQ木馬才那麼容易氾濫成災,現在的網咖,學

Windows勒索病毒防範、解決方法

windowsxp 殺毒軟件 金山毒霸 下載地址 官方下載 【防禦措施建議】1、安裝殺毒軟件,保持安全防禦功能開啟,比如金山毒霸已可攔截(下載地址http://www.duba.net),微軟自帶的WindowsDefender也可以。2、打開Windows Update自動更新,及時升級

win7下安裝Linux實現雙系統

ont c51 item itl command 桌面 ted current 輸入 最近剛剛把原來32位的系統給重新安裝成64位的win7旗艦版,但又想嘗試下Linux,於是在win7下安裝了Linux實現了雙系統,是ubuntu 12.04版本的,據說現在最新的14.

Windows平臺下載、安裝、配置Apache

郵件地址 director fig ons min least chang 修改 all 本文介紹了如何在windows平臺進行apache服務器的下載、安裝和配置過程。 1.下載 首先進入apache for windows的官方下載地址[猛戳這裏],依次在下列頁面進行

微信小程式小白總結4-伺服器(windows OS)簡易搭建和相關配置

廢話少敘,切入正題。     作為微信小程式後端的“核心”,伺服器搭建這一步至關重要,而且操作繁雜,需要有耐心而且會查閱,下面將提供一種簡單有效的簡易的微信小程式伺服器從零搭建和相關配置方法。 一、伺服器的購買      同域名一樣,如

Windows訪問Ubuntu14.04遠端桌面(修改版)

最近接到一個任務,在Ubuntu系統下開發一個串列埠讀寫程式。開發要在臺式機上進行,安裝UbuntuKylin 14.04,並且在串列埠連線了裝置。個人使用的是膝上型電腦,系統是Windows8.1。自然想到使用遠端桌面登入到Ubuntu,使用起來就方便多了。經過一番搜尋

Linux一鍵安裝web環境(阿裏雲ECS服務器)

傳輸 80端口 掛載 iyu 使用 ftp服務 老版本 雲服務 linux服務 摘自阿裏雲服務器官網,此處 一鍵安裝包下載: 點此下載 安裝須知 1、此安裝包可在阿裏雲所有linux系統上部署安裝,此安裝包包含的軟件及版本為: nginx:1.0.15、1.2.5、1.4.

android屏幕適配的

屏幕分辨率 縮放 img 關系 我們 http 分辨 tro pix 一. 核心概念與單位詳解 1. 什麽是屏幕尺寸、屏幕分辨率、屏幕像素密度? 屏幕分辨率越大,手機越清晰 2. 什麽是dp、dip、dpi、sp、px?之間的關系是什麽? dip:Density

Linux編程之UDP SOCKET

應用場景 什麽是 vid 結構體指針 from 好的 conn 能力 cnblogs 這篇文章將對linux下udp socket編程重要知識點進行總結,無論是開發人員應知應會的,還是說udp socket的一些偏僻知識點,本文都會講到。盡可能做到,讀了一篇文章之後,大家對

大型ECShop安裝搬家升級錯誤問題最

item auth prototype c2c params 同時 return ping 屏蔽 【引子】 最近將ECShop框架網站從租用服務器搬家至阿裏雲,雖然模塊及功能上已經被修改的面目全非了,但基礎部分還在。 在這個過程中遇到了很多的WARNIN

論文檢測省錢

5.1 bds 而且 用途 jpeg har -m 也有 一個 學校是使用的知網論文查重系統,如果去使用別的論文檢測系統不僅浪費錢而且他們之間的報告根本就沒有可比性,因為論文查重系統的不同它收錄的學術論文資源以及算法都是不同的所以結果有偏差才是正常的。因此很多學生也只能使用

maven教程

教程 bean 然而 mave 外部依賴 創建 包含 冗余 快照 maven教程全攻略 我們在開發項目的過程中,會使用一些開源框架、第三方的工具等等,這些都是以jar包的方式被項目所引用,並且有些jar包還會依賴其他的jar包,我們同樣需要添加到項目中,所有這些相關的ja

淘寶優惠券最!省錢

alt bsp 用戶 ima nload 粘貼 list 成功 推廣 工具/原料 淘寶APP 好券捕手APP 首先我們來說一下淘寶優惠券的由來! 淘寶優惠券分兩種 一、公開優惠券 用戶在淘寶店家店鋪就可以直接看到的優惠券 二、賣家用於淘客推廣的優惠券(這種券是不公開的

聯通老用戶換套餐奉上

移動電話 .html 詳細 模版 ges 操作 移動 聯系 等待  聯通互聯網套餐哪個好?近日,很多網友都在討論這個話題,越來越多老用戶通過聯通客服投訴,得以換用資費更加實惠的聯通互聯網套餐。   那麽到底聯通互聯網套餐要如何申請更換,今天就一起來看看聯通老用戶換互聯網套餐

【微軟大法好】VS Tools for AI(2)

port shell orf 方式 virt cnblogs 我們 玩耍 虛擬 接著上文,我們來討論如何使用Azure資源來訓練我們的tensorflow項目。Azure雲我個人用得很多,主要是因為微軟爸爸批了150刀每月的額度,我可以愉快地玩耍。 那麽針對Azure,有成

Vue.js——vue-resource

lam 類型 網絡 java 隱藏 header 做的 response scrip 概述 上一篇我們介紹了如何將$.ajax和Vue.js結合在一起使用,並實現了一個簡單的跨域CURD示例。Vue.js是數據驅動的,這使得我們並不需要直接操作DOM,如果我們不需要使用jQ

Perl Unicode

erl 結果 編程 國際 要求 locale intern 操作 自動 Perl Unicode全攻略 耐心看完本文,相信你今後在unicode處理上不會再有什麽問題。 本文