渗透思考题

1. windows登录的明文密码,存储过程是怎么样的,密文存在哪个文件下,该文件是否可以打开,并且查看到密文

当用户设置或更改密码时,系统会计算密码的哈希值,并将这个哈希值存储在系统的一个安全数据库中,通常是Windows注册表或系统账户数据库(如SAM文件);哈希的存储位置,通常是在%SystemRoot%\System32\config\SAM文件中;查看SAM文件中的内容,需要具有系统管理员权限,并且通常需要使用特殊的工具或方法,例如通过启动到安全模式或使用第三方软件

2. 我们通过hashdump 抓取出 所有用户的密文,分为两个模块,为什么? 这两个模块分别都代表什么

本地账户哈希:包含了本地计算机上的用户账户的密码哈希

域账户哈希:(这台计算机是域控制器,或者工具能够访问域控制器的SAM数据库包含域用户的密码哈希

3. 为什么第一个模块 永远是一样的aad3

在Windows系统中,本地账户的密码哈希如果是空密码,那么它们的LM哈希和NTLM哈希通常会显示为固定的值,分别是AAD3B435B51404EEAAD3B435B51404EE31D6CFE0D16AE931B73C59D7E0C089C0。这些值是特定于空密码的哈希,而不是真正的密码哈希。

这里的AAD3开头的哈希值实际上是一个占位符,表示该账户没有设置密码。在Windows系统中,即使是管理员账户,也可能被设置为没有密码,尤其是在创建用于测试或特殊用途的账户时

LM哈希和NTLM哈希的固定值对于空密码的情况是已知的,因此,如果你在hashdump或其他密码哈希提取工具的输出中看到这些值,那么这通常意味着对应的账户没有设置密码,或者密码是空的

由于LM哈希的安全性较差,从Windows Vista和Windows Server 2008开始,Windows默认不再使用LM哈希,在较新的Windows系统中,LM哈希部分显示为AAD3这样的占位符,而NTLM哈希部分才是用于认证的实际哈希值

4. 这两个模块的加密算法有什么不同,如何加密的

本地账户哈希和域账户哈希都使用NTLM哈希算法进行加密,但它们的应用场景和存储位置不同。NTLM哈希算法是一种基于MD4哈希算法的加密方法,用于将用户的密码转换成一个固定长度的哈希值

NTLM哈希算法的基本步骤:

  1. 将用户密码转换成UTF-16 Little Endian格式。
  2. 对转换后的密码进行MD4哈希计算,生成一个128位的哈希值。

NTLM哈希:用于在Windows系统中进行密码验证。当用户尝试登录时,系统会将用户输入的密码转换为UTF-16 Little Endian格式,然后计算其MD4哈希值,最后将这个计算出的哈希值与存储在SAM数据库或Active Directory中的哈希值进行比较。如果两个哈希值相同,用户就可以成功登录

本地账户哈希:存储在本地计算机的SAM文件中,而域账户哈希存储在域控制器的Active Directory数据库中。在域环境中,当用户登录时,系统会向域控制器发送认证请求,域控制器会根据存储在Active Directory中的哈希值进行验证

注意:在本地账户认证过程中,系统会直接访问本地计算机的SAM文件进行验证;而在域账户认证过程中,系统需要与域控制器进行通信,由域控制器完成认证过程。此外,域账户认证还可能涉及到Kerberos协议等其他认证机制。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值