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字节的密钥块,最后将这两个密钥块合并得到最终的密文。