操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    通過SQL注入等方式獲取網站的Webshell后,就需要利用系統各種漏洞進行提權,提權成功后通過遠程終端登入系統,此時為了長期控制或者進一步滲透網絡,就需要獲取系統正常用戶的密碼。獲取系統密碼哈希值的軟件很多,在本小節中主要介紹如何通過saminside來獲取系統的hash以及結合彩虹表快速破解操作系統用戶密碼。

    下載和使用saminside

    Saminside的官方下載地址為:http://www.insidepro.com/download/saminside.zip,目前最新版本為2.6.5,官方提供的是試用版本,有一些高級功能不能使用,但并不影響獲取系統密碼哈希值,saminside可以獲取包括Windows 2008 Server以下操作系統的用戶密碼哈希值,在獲取這些哈希值后可以通過彩虹表或者字典等來進行破解,進而獲取系統的密碼。Saminside不需要安裝,將下載的saminside.zip解壓縮到本地磁盤即可使用。

    使用Scheduler導入本地用戶的哈希值

    直接運行saminside,如圖1 所示,單擊第三個小圖標,然后選擇“Import Local Users via Scheduler”,將本地用戶的Hash導出。雖然在saminside中還提供了從LSASS導出本地用戶,但該方法在一些操作系統中容易出錯,這兩個方法均可使用。

    圖1 使用Scheduler導入本地用戶的哈希值

    查看導入到Hash值

    使用saminside導入本地用戶的哈希值,必須具有管理員權限,在有些情況下,管理員會對磁盤進行權限限制,這個時候需要為saminside授權,然后才能獲取系統用戶的hash值,如圖2 所示,一共獲取了4個用戶的hash值,該值按照User、RID、LM-Password、NT-Password、LM-Hash、NT-Hash和Description順序進行顯示。如果在LM-Password和NT-Password顯示為Disabled,則表示該賬戶是禁用帳號。超過14位的密碼,在LM-Password中會以全0顯示,在老版本中以AA3D開頭顯示的也表示密碼位數超過14位,例如“simeon:1005:AAD3B435B51404EEAAD3B435B51404EE:5E9C2FAAE669F5D06F33014E33AC2CFC:::”其密碼就是超過14位。

    圖2 查看導入到Hash值

    導出系統用戶的hash值

    單擊“File”-“Export Users to PWDUMP File”將獲取系統用戶的密碼哈希值導出為一個文件,其導出文件的內容如圖3 所示,然后將該文件再次導入到ophcrack中進行破解。Saminside本身也能破解系統hash值,不過破解速度和效果不如ophcrack,一些簡單的密碼Saminside直接顯示其密碼,使用感興趣的朋友可以直接去嘗試使用Saminside破解系統hash值。

    圖3 導出系統用戶的hash值

    設置saminside破解方式

    如圖4 所示,默認選擇LM-hashes attack破解方式,如果用戶密碼超過14位,或者LM-hash中顯示的全是0,則可以選擇NT-hashes attack進行破解。然后還需要選擇字典破解、暴力破解、掩碼破解以及彩虹表破解。

    圖4 設置saminside破解方式

    如果是選擇采用字典破解,則需要在設置中選擇“options”,在“Dictionary attack”中設置字典,將本地字典文件添加到字典文件列表中,如圖5 所示。可以設置多個字典文件進行破解。Saminside幫助中提供了在線字典下載,大概有2G字典可供下載。

    圖5 導入字典文件進行破解

    執行破解

    設置好破解有關選項后,單擊其綠色小三角形圖標進行破解,如圖6 所示,如果密碼在字典文件中,則很快就會給出結果。

    圖6 運行字典破解本地用戶密碼

    使用ophcrack破解操作系統用戶密碼值

    另外一種快捷的破解用戶密碼的方式就是將導出的文件導入到到ophcrack進行破解,運行ophcrack,單擊“Load”-“PWDUMP file”選擇前面使用saminside導出的文件,接著單擊“Crack”按鈕進行破解,如圖7 所示,一共花了2分7秒鐘便將該系統的密碼成功破解出來。有關ophcrack的詳細使用方法請參考本書后面的利用ophcrack破解系統密碼的章節。

    圖7 使用ophcrack破解操作系統用戶密碼值

    作者介紹:陳小兵,北京理工大學博士,計算機網絡安全攻防專家,原海軍某部網絡安全研究員、公安部網絡安全攻防實驗員、曾就職于北京公安局網絡安全總隊,主要從事網絡安全攻防研究工作,在網絡安全研究與培訓、病毒防范、網絡滲透等領域具有20年以上經驗,在業內享有盛名。曾出版多本業內權威性著作包括《SQL Server2000培訓教程》《黑客攻防及實戰案例解析》《Web滲透及實戰案例解析》《安全之路-Web滲透及實戰案例解析第二版》、《黑客攻防實戰加密與解密》,在國內核心期刊及普通學術期刊發表論文20余篇。

    對入侵者來說,獲取Windows的口令是整個攻擊過程至關重要的一環,擁有系統原來用戶的口令,將使得內網滲透和守控更加容易。Windows系統中的Hash密碼值主要有LM-HASH以及NTLM-HASH值兩部分構成,一旦入侵者獲取了系統的Hash值,通過LC5以及彩虹表等破解工具可以很快的獲取系統的密碼。本文主要探討如何使用Gethashes工具來獲取系統的Hash值,并對Hash值的生成原理等知識進行了介紹,最后還介紹了一些有關Hash破解方面的技巧。

    Hash基本知識

    (1)Hash定義

    Hash,一般翻譯為“散列”,也有直接音譯為“哈希”的,就是把任意長度的輸入(又叫做預映射,pre-image),通過散列算法,變換成固定長度的輸出,該輸出就是散列值。這種轉換是一種壓縮映射,也就是散列值的空間通常遠小于輸入的空間,不同的輸入可能會散列成相同的輸出,而不可能從散列值來唯一的確定輸入值。簡單的說就是一種將任意長度的消息壓縮到某一固定長度的消息摘要的函數。

    (2)Hash的應用

    HASH主要用于信息安全領域中加密算法,它把一些不同長度的信息轉化成雜亂的128位的編碼里,叫做HASH值。也可以說,Hash就是找到一種數據內容和數據存放地址之間的映射關系。

    Hash算法在密碼上的應用

    MD5 和 SHA1 可以說是目前應用最廣泛的Hash算法,而它們都是以 MD4 為基礎設計的。那么他們都是什么意思呢?這里簡單說一下:

    (1)MD4

    MD4(RFC 1320)是 MIT 的 Ronald L. Rivest 在 1990 年設計的,MD是 Message Digest 的縮寫。它適用在32位字長的處理器上用高速軟件實現,它是基于 32 位操作數的位操作來實現的。

    (2) MD5

    MD5(RFC 1321)是 Rivest于1991年對MD4的改進版本。它仍以512位分組來輸入,其輸出是4個32位字的級聯,與 MD4 相同。MD5比MD4來得復雜,并且速度較之要慢一點,但更安全,在抗分析和抗差分方面表現更好

    (3)SHA1 及其他

    SHA1是由NIST NSA設計為同DSA一起使用的,它對長度小于264的輸入,產生長度為160bit的散列值,因此抗窮舉(brute-force)性更好。SHA-1 設計時基于和MD4相同原理,并且模仿了該算法。

    Hash算法在信息安全方面的應用主要體現在以下的3個方面:

    (1) 文件校驗

    我們比較熟悉的校驗算法有奇偶校驗和CRC校驗,這2種校驗并沒有抗數據篡改的能力,它們一定程度上能檢測并糾正數據傳輸中的信道誤碼,但卻不能防止對數據的惡意破壞。 MD5 Hash算法的“數字指紋”特性,使它成為目前應用最廣泛的一種文件完整性校驗和(Checksum)算法,不少Unix系統有提供計算md5 checksum的命令。

    (2)數字簽名

    Hash 算法也是現代密碼體系中的一個重要組成部分。由于非對稱算法的運算速度較慢,所以在數字簽名協議中,單向散列函數扮演了一個重要的角色。對Hash值,又稱“數字摘要”進行數字簽名,在統計上可以認為與對文件本身進行數字簽名是等效的。而且這樣的協議還有其他的優點。

    (3)鑒權協議

    鑒權協議又被稱作挑戰--認證模式:在傳輸信道是可被偵聽,但不可被篡改的情況下,這是一種簡單而安全的方法。

    Windows下Hash密碼值

    (1)Windows系統下的hash密碼格式

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

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

    用戶名稱為:Administrator

    RID為:500

    LM-HASH值為:C8825DB10F2590EAAAD3B435B51404EE

    NT-HASH值為:683020925C5D8569C23AA724774CE6CC

    (2)Windows下LM Hash值生成原理

    假設明文口令是“Welcome”,首先全部轉換成大寫“WELCOME”,再做將口令字符串大寫轉后后的字符串變換成二進制串:

    “WELCOME” -> 57454C434F4D4500000000000000

    技巧:可以將明文口令復制到UltraEdit編輯器中使用二進制方式查看即可獲取口令的二進制串。

    說明:如果明文口令經過大寫變換后的二進制字符串不足14字節,則需要在其后添加0x00補足14字節。然后切割成兩組7字節的數據,分別經str_to_key()函數處理得到兩組8字節數據:

    57454C434F4D45 -str_to_key()-> 56A25288347A348A

    00000000000000 -str_to_key()-> 0000000000000000

    這兩組8字節數據將做為DESKEY對魔術字符串“KGS!@#$%”進行標準DES加密

    "KGS!@#$%" -> 4B47532140232425

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

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

    將加密后的這兩組數據簡單拼接,就得到了最后的LM Hash

    LM Hash: C23413A8A1E7665FAAD3B435B51404EE

    關于str_to_key()函數見最后附錄1

    Windows下NTLM Hash生成原理

    從IBM設計的LM Hash算法存在幾個弱點,微軟在保持向后兼容性的同時提出了自己的挑戰響應機制,NTLM Hash應運而生。假設明文口令是“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。對所獲取的Unicode串進行標準MD4單向哈希,無論數據源有多少字節,MD4固定產生128-bit的哈希值,

    16字節310032003300340035003600 -進行標準MD4單向哈希-> 32ED87BDB5FDC5E9CBA88547376818D4

    就得到了最后的NTLM Hash

    NTLM Hash: 32ED87BDB5FDC5E9CBA88547376818D4

    與LM Hash算法相比,明文口令大小寫敏感,無法根據NTLM Hash判斷原始明文口令是否小于8字節,擺脫了魔術字符串"KGS!@#$%"。MD4是真正的單向哈希函數,窮舉作為數據源出現的明文,難度較大。

    使用GetHashes獲取Windows系統的Hash密碼值

    GetHashes目前最高版本是v1.4,它是InsidePro公司早期的一款Hash密碼獲取軟件,其公司地址為:http://www.InsidePro.com,該公司還有“SAMInside”、“PasswordsPro”以及“Extreme GPU Bruteforcer”三款密碼破解軟件。

    (1)GetHashes命令使用格式

    GetHashes <SAM registry file> [System key file] Or GetHashes $Local

    一般使用 “GetHashes $Local”來獲取系統的Hash密碼值,該命令僅在system權限下才能執行成功。一般根據個人愛好,可以將“GetHashes.exe”工具軟件命名為其它名稱,例如在后面案例中,就將其命名為“getpw”。

    (2)使用GetHashes獲取系統Hash值實例

    將GetHashes重命名為getpw,然后將其復制到欲獲取hash密碼值的系統盤中,然后執行“getpw $local”,如圖1 所示,順利獲取其密碼Hash值,在本案例中使用的是Radmin的Telnet,單擊“文本”-“保存為”將結果保存為一個新文件,然后使用UltraEdit編輯器進行編輯,僅僅保存Hash密碼值部分,后面可使用LC5導入Hash密碼值即可破解系統的密碼值。

    圖1 獲取系統Hash值

    注意:

    (1)使用“GetHashes”來獲取系統的Hash密碼值,必須要在System權限下,也就是在反彈shell或者telnet下。

    (2)如果系統中安裝有殺毒軟件或者防火墻,有可能由于殺毒軟件和防火墻的保護而導致密碼獲取失敗。通過研究發現,由于Gethashes軟件威力巨大,主要用在入侵過程中獲取系統的Hash密碼值,因此絕大多少殺毒軟件已經將GetHashes軟件加入到病毒庫中,如圖2 所示,是Castlecops網站提供的關于各大殺毒軟件針對GetHashes所做的病毒庫版本以及更新結果。

    圖2 殺毒軟件已經將Gethashes作為病毒處理

    (3)InsidePro公司在其網站上還提供了一個Hash產生器,通過輸入一些參數值能夠生成經過某種加密算法處理的口令密碼值,如圖3 所示,有興趣的朋友可以去嘗試,該功能在研究系統的Hash密碼值生成中可以進行相互驗證。

    圖3 Hash生成器

    (4)Hash密碼值在線查詢

    在網站http://hash.insidepro.com/中還可以在線查詢Hash密碼值的原始明文口令,如圖4 所示,將獲取的MD5加密后的Hash值輸入后,單擊“Search”按鈕,如果數據庫中存在則會在下面給出查詢結果。

    圖4 在線破解Hash密碼值

    使用GetHashes獲取系統Hash值技巧

    使用GetHashes來獲取系統的Hash值一般是在獲得了系統的部分或者全部控制權限,通常是在新漏洞利用工具出來后,例如Ms08067漏洞利用工具,當存在Ms0867漏洞時,通過使用Ms08067漏洞利用工具獲得存在漏洞計算機的一個反彈Shell,然后再將“GetHashes”軟件上傳到系統中來執行“GetHashes $Local”命令。對GetHashes工具的使用,筆者將一些經驗技巧進行總結。

    (1)在獲得反彈Shell的情況下,首先查看系統是否存在殺毒軟件;如果存在,則嘗試是否可以關閉,如果不能關閉,則放棄使用GetHashes來獲取Hash密碼值,轉向第二步。

    (2)查看系統是什么系統,是否開啟3389遠程終端,如果未開啟3389終端,可否直接開啟3389終端。如果可以利用3389終端,則直接添加一個具有管理員權限的用戶,然后使用用戶登錄到系統。

    (3)關閉殺毒軟件,再次通過shell或者其他控制軟件的telnet來執行“GetHashes $Local”命令來獲取Hash密碼值,然后刪除新添加到用戶。

    相關免費資源

    (1)在線Hash密碼值破解:http://hash.insidepro.com/

    (2)在線生成Hash密碼值:http://www.insidepro.com/hashes.php?lang=eng

    (3)免費字典下載:http://www.insidepro.com/eng/download.shtml

    (4)SAMInside http://www.insidepro.com/download/saminside.zip

    (5)PasswordsPro http://www.insidepro.com/download/passwordspro.zip

    (6)Extreme GPU Bruteforcer http://www.insidepro.com/download/egb.zip

    作者介紹:陳小兵,北京理工大學博士,計算機網絡安全攻防專家,原海軍某部網絡安全研究員、公安部網絡安全攻防實驗員、曾就職于北京公安局網絡安全總隊,主要從事網絡安全攻防研究工作,在網絡安全研究與培訓、病毒防范、網絡滲透等領域具有20年以上經驗,在業內享有盛名。曾出版多本業內權威性著作包括《SQL Server2000培訓教程》《黑客攻防及實戰案例解析》《Web滲透及實戰案例解析》《安全之路-Web滲透及實戰案例解析第二版》、《黑客攻防實戰加密與解密》,在國內核心期刊及普通學術期刊發表論文20余篇。

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有