1. windows登錄的明文密碼,存儲過程是怎么樣的,密文存在哪個文件下,該文件是否可以打開,并且查看到密文
windows的明文密碼:是通過LSA(Local Security Authority)進行存儲加密的
存儲過程:當用戶輸入密碼之后,密碼會傳遞到LSA,LSA會對密碼進行加密后保存在Windows注冊表中的Security Accounts Manager數據庫(SAM)中
密文存儲在SAM數據庫中的SAM文件中,該文件通常位于C:/windows/System32/config下,SAM是系統級文件,權限很高,一般無法直接打開該文件,會顯示一直被占用,但是可以通過特殊的工具打開。此外,即使通過某些工具如mimikatz等能夠提取出密碼的哈希值,也需要相應的技術知識和技能來進行解密,這通常涉及到復雜的加密算法和計算過程
2. 我們通過hashdump 抓取出 所有用戶的密文,分為兩個模塊,為什么? 這兩個模塊分別都代表什么
原因:
hashdump抓取的用戶密文分為兩個模塊是因為Windows系統在存儲用戶密碼時會使用兩種不同的加密算法:NTLM(NT LAN Manager)和LM(LAN Manager)。這兩個模塊分別代表了使用這兩種加密算法加密過的用戶密碼。
兩個模塊各自代表:
NTLM模塊:NTLM是Windows系統中常用的一種加密算法,用于加密密碼。NTLM模塊中存儲的是使用NTLM算法加密后的用戶密碼密文。
LM模塊:LM是Windows早期版本中使用的一種加密算法,已逐漸被NTLM所取代。LM模塊中存儲的是使用LM算法加密后的用戶密碼密文。
3. 為什么第一個模塊 永遠是一樣的aad3
在Windows系統中,如果用戶的密碼為空或者密碼長度不足14個字符,系統會自動生成一個固定的"aad3b435b51404eeaad3b435b51404ee"值進行存儲。這是因為LM(LAN Manager)算法要求密碼長度必須是14個字符,如果密碼不足14個字符,系統就會用"aad3b435b51404eeaad3b435b51404ee"來填充。因此,當通過hashdump工具抓取用戶密碼時,如果用戶的密碼為空或者長度不足14個字符,那么對應的LM模塊中的密文就會是固定的"aad3b435b51404eeaad3b435b51404ee"
4. 這兩個模塊的加密算法有什么不同,如何加密的
NTLM(NT LAN Manager)算法是現代化的加密方法,使用更安全的單向哈希函數(如MD4或MD5)來存儲和驗證用戶密碼。
?LM(LAN Manager)算法是早期使用的較為簡單的DES算法,對密碼進行分割并分別進行加密。
再具體一點,NTLM算法會對用戶密碼進行單向哈希后,再進行加鹽等操作,得到密文存儲在系統中。而LM算法會將用戶密碼分成7個字符一個塊,補齊為14個字符,然后分別進行DES加密生成兩個7字節的密鑰塊,最后將這兩個密鑰塊合并得到最終的密文。
?