【渗透基础】windows登录的明文密码

2024-05-28 20:36

本文主要是介绍【渗透基础】windows登录的明文密码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

        在这个过程中,明文密码只会在用户输入时短暂存在于内存中,随后立即被加密并丢弃,以确保密码不会被泄露。windows 登录密码的密文存储在系统本地的 SAM(Security Accounts Manager,安全账户管理器)文件中。该文件位于%SystemRoot%system32config目录下。需要注意的是,SAM 文件是受到系统保护的,普通用户无法直接访问或修改它。只有具有管理员权限的用户才能够通过特定的工具访问 SAM 文件,并进行密码重置等操作。此外,为了提高密码的安全性,现在更加推荐使用哈希加盐存储的方式。哈希加盐存储是指在存储密码时,不仅使用哈希函数对密码进行摘要处理,还添加一个随机的盐值。盐值是一个随机的字符串,它与密码拼接在一起后再进行哈希计算。这样可以增加密码的复杂度,使黑客更难以通过彩虹表或其他方式破解密码。

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

通过hashdump抓取的密文分为LMhash和NThash两个模块。其中:

  • LMhash:LM哈希是早期 windows 版本中使用的一种较弱的哈希算法,当用户密码小于15个字符的时候,windows 会首先将其转化为大写,然后使用 LM 哈希算法进行加密。然而由于 LM 哈希算法存在已知漏洞,因此现代 Windows 系统默认禁用了 LM 哈希,或者仅当密码长度超过14个字符时才使用它。在某些情况下,如果 LM 哈希被禁用或未使用,这个模块的值可能会显示为固定的值,就表示 LM 哈希为空或未使用。
  • NThash:它是 Windows 系统中更为常用的哈希算法,用于存储用户的密码信息,与 LM 哈希不同,NT 哈希没有长度限制,并且使用了更安全的加密算法。因此,在大多数情况下,NT 哈希是更可靠和安全的密码存储方式。

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

        这是因为早期版本的Windows使用了一种名为LAN Manager Hash(LM Hash)的加密方法。由于LM Hash使用的DES加密算法安全性较低,较容易被破解,微软在新的Windows版本中默认禁用了LM Hash,但出于兼容性考虑,系统仍然会生成一个固定的LM Hash值。

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

LMhash 和 NThash 是 Windows 系统中用于存储用户密码的两种哈希算法。它们的不同主要体现在以下方面:

  • 加密算法:LMhash 使用的是 DES 算法,而 NThash 使用的是更安全的加密算法。
  • 密码长度限制:LMhash 对密码长度有限制,最大长度为14个字符。而 NThash 没有长度限制。
  • 安全性:LMhash 存在已知漏洞,安全性较低。现代 Windows 系统默认禁用了 LMhash,或者仅在密码长度超过14个字符时才使用它。相比之下,NThash 更安全可靠。

关于它们的加密过程,LMhash 的加密过程如下:

  1. 将用户的密码转换为大写。
  2. 将密码转换为16进制字符串。
  3. 如果密码长度不足14字节,使用0在后面补全。
  4. 将密码的16进制字符串分成两个7byte部分。
  5. 将每部分转换成比特流,长度位56bit,长度不足使用0在左边补齐长度。
  6. 将长度为56bit的比特流再分7bit为一组,每组末尾加0。
  7. 使用固定的 key(KGS!@#$%)对每组进行 DES 加密。
  8. 将加密后的两组拼接在一起,得到最终的 LMhash 值。

需要注意的是,由于 LMhash 的安全性较低,现代 Windows 系统通常使用更安全的 NTLM hash 来存储用户密码。

这篇关于【渗透基础】windows登录的明文密码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1011620

相关文章

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

Ubuntu 24.04启用root图形登录的操作流程

《Ubuntu24.04启用root图形登录的操作流程》Ubuntu默认禁用root账户的图形与SSH登录,这是为了安全,但在某些场景你可能需要直接用root登录GNOME桌面,本文以Ubuntu2... 目录一、前言二、准备工作三、设置 root 密码四、启用图形界面 root 登录1. 修改 GDM 配

nginx 负载均衡配置及如何解决重复登录问题

《nginx负载均衡配置及如何解决重复登录问题》文章详解Nginx源码安装与Docker部署,介绍四层/七层代理区别及负载均衡策略,通过ip_hash解决重复登录问题,对nginx负载均衡配置及如何... 目录一:源码安装:1.配置编译参数2.编译3.编译安装 二,四层代理和七层代理区别1.二者混合使用举例

Spring Security中用户名和密码的验证完整流程

《SpringSecurity中用户名和密码的验证完整流程》本文给大家介绍SpringSecurity中用户名和密码的验证完整流程,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 首先创建了一个UsernamePasswordAuthenticationTChina编程oken对象,这是S

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.

PostgreSQL数据库密码被遗忘时的操作步骤

《PostgreSQL数据库密码被遗忘时的操作步骤》密码遗忘是常见的用户问题,因此提供一种安全的遗忘密码找回机制是十分必要的,:本文主要介绍PostgreSQL数据库密码被遗忘时的操作步骤的相关资... 目录前言一、背景知识二、Windows环境下的解决步骤1. 找到PostgreSQL安装目录2. 修改p

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

Windows下C++使用SQLitede的操作过程

《Windows下C++使用SQLitede的操作过程》本文介绍了Windows下C++使用SQLite的安装配置、CppSQLite库封装优势、核心功能(如数据库连接、事务管理)、跨平台支持及性能优... 目录Windows下C++使用SQLite1、安装2、代码示例CppSQLite:C++轻松操作SQ

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1