安全作业-1

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

用户在登录界面输入用户名和密码。Windows登录进程(winlogon.exe)接收用户的输入,并准备进行身份验证。Lsass处理认证:本地安全授权子系统服务(lsass.exe)接收由winlogon.exe传来的用户凭据。这个进程负责处理Windows的安全机制,包括用户的身份验证和密码管理。Lsass将用户输入的明文密码通过NT LAN Manager (NTLM) Hash算法转换为哈希值。系统将加密后的密码与存储在安全账户管理器(SAM)("C:\Windows\System32\config\SAM")数据库中的密码哈希进行比对。如果密码匹配,认证成功,用户得以登录系统。如果密码不匹配,则认证失败,用户无法登录。一旦用户通过身份验证,系统会根据用户的权限对其进行授权,确定用户可以访问的资源和执行的操作。根据认证和授权的结果,系统会给出相应的反馈,如允许登录或显示错误信息。


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

通过hashdump抓取的所有用户密文分为两个模块,分别是LMhashNThash。这两个模块代表的是不同类型的密码散列

hashdump工具在提取Windows系统中存储的用户密码散列时,会区分这两种不同的散列类型。原因在于这两种哈希代表了不同版本的Windows系统对用户密码的加密方式。

具体来说,LMhash全称为LAN Manager Hash,是早期Windows系统用来存储用户密码的散列类型。由于其安全性较差,新的Windows系统版本(从Vista和Server 2008开始)默认禁用了LMhash,转而使用更安全的加密算法。而NThash则代表Net NTLM认证协议中使用的密码散列,是目前Windows系统中用于本地认证的标准散列类型。


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

第一个模块永远是一样的aad3是因为这通常意味着LM Hash为空值或被禁用了

在Windows系统中,用户密码的加密方式经历了从LMhash到NThash的变迁。LMhash是早期Windows系统使用的加密方式,但由于其安全性较低,新的Windows系统版本中默认禁用了LMhash,转而使用更安全的NThash。当hashdump工具抓取到的密文显示第一个模块为aad3时,这通常表示该账户没有设置LMhash,或者LMhash已被系统禁用。这是因为:

  • LMhash的安全性问题:由于LMhash使用的是DES加密算法,而且密钥长度较短,这使得它容易被破解。因此,为了提高系统的安全性,微软在较新的Windows版本中默认禁用了LMhash,不再存储明文密码的LMhash值。
  • 系统的兼容性策略:即使在禁用了LMhash的情况下,为了确保与旧版Windows系统的兼容性,系统仍然会生成一个固定的LMhash值,即aad3。这样做的目的是为了避免在网络认证过程中出现兼容性问题。


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

这两个模块的加密算法指的是LMhash和NThash所采用的加密方式,它们在加密算法和加密过程上存在显著不同。

  1. LMhash(LAN Manager Hash)

    • 加密算法:LMhash使用的是DES(Data Encryption Standard)算法,这是一种较老的对称加密标准,使用56位的密钥进行加密。
    • 加密过程:在Windows操作系统的早期版本中,用户密码首先会被转换为Unicode编码,然后被拆分为两个7字符的部分。这两部分分别被加上一个固定的偏移量(例如,"KGS!@#$%"),然后每一部分都通过DES算法进行加密,最终拼接成一个16字节的LMhash值。
  2. NThash(NT LAN Manager Hash)

    • 加密算法:NThash使用的是基于MD4的加密算法,这是一种更快、更安全的哈希函数,它产生一个128位(16字节)的哈希值。
    • 加密过程:在Windows操作系统的新版本中,用户密码首先经过Unicode转换和大小写折叠(即将大写字母转换为小写字母)。然后,整个密码字符串被划分为每4个字符一组的子串,每个子串都通过MD4算法进行哈希计算。最后,所有子串的哈希值被拼接在一起,形成最终的NThash值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/829222.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ssm智能停车场管理系统

视频演示效果: SSMvue智能停车场 摘 要 本论文主要论述了如何使用JAVA语言开发一个智能停车场管理系统,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述智能停车…

新兴游戏引擎Godot vs. 主流游戏引擎Unity和虚幻引擎,以及版本控制工具Perforce Helix Core如何与其高效集成

游戏行业出现一个新生事物——Godot,一个免费且开源的2D和3D游戏引擎。曾经由Unity和虚幻引擎(Unreal Engine)等巨头主导的领域如今迎来了竞争对手。随着最近“独特”定价模式的变化,越来越多的独立开发者和小型开发团队倾向于选择…

Vitis HLS 学习笔记--Syn Report解读(1)

目录 1. 介绍 2. 示例一 2.1 HLS 代码 2.2 Report 解读 2.2.1 General Information 2.2.2 Timing Estimate 2.2.3 Performance & Resource Estimates 2.2.4 HW interfaces 2.2.4.1 硬件接口报告 2.2.4.2 导出至 Vivado 中的 IP 2.2.4.3 Port-Level Protocols 端…

图形化编程要怎么做

0. 简介 Scratch其实应该算得上最早做图形化编程的工程了。Scratch 是麻省理工学院的“终身幼儿园团队”在 2007 年 [5]发布的一种图形化编程工具,主要面对全球青少年开放,是图形化编程工具当中最广为人知的一种,所有人都可以在软件中创作自…

排序算法-计数排序

一、计数排序 这种排序算法 是利用数组下标来确定元素的正确位置的。 如果数组中有20个随机整数,取值范围为0~10,要求用最快的速度把这20个整数从小到大进行排序。 很大的情况下,它的性能甚至快过那些时间复杂度为O(nlogn)的排序。…

【React】Sigma.js框架网络图-入门篇(2)

通过《【React】Sigma.js框架网络图-入门篇》有了基本认识 由于上一篇直接给出了基本代码示例,可能看着比较复杂也不知道是啥意思; 今天从理论入手重新认识下! 一、基本认识 首先,我们先了解下基础术语: 图(Graph)&…

如何实现直播声卡反向给手机充电功能呢?

在数字化时代的浪潮中,声卡作为多媒体系统的核心组件,扮演着声波与数字信号相互转换的关键角色。它不仅能够将来自各类音源的原始声音信号转换为数字信号,进而输出到各类声响设备,更能够通过音乐设备数字接口(MIDI)发出合成乐器的…

Eudic欧路词典for Mac:专业英语学习工具

Eudic欧路词典for Mac,作为专为Mac用户设计的英语学习工具,凭借其简捷高效的特点,成为众多英语学习者不可或缺的助手。 Eudic欧路词典for Mac v4.6.4激活版下载 这款词典整合了多个权威词典资源,如牛津、柯林斯、朗文等&#xff0…

​「Python大数据」词频数据渲染词云图导出HTML

前言 本文主要介绍通过python实现数据聚类、脚本开发、办公自动化。词频数据渲染词云图导出HTML。 一、业务逻辑 读取voc数据采集的数据批处理,使用jieba进行分词,去除停用词词频数据渲染词云图将可视化结果保存到HTML文件中二、具体产出 三、执行脚本 python wordCloud.p…

mysql中日期函数now()和sysdate()的区别

说明: 在mysql数据库中,now()、sysdate() 都是获取系统当前日期时间 区别: 示例脚本: select sleep(2),now(),sysdate() from dual; 输出: 小结: 1、 now()和sysdate()都可以获取系统当前日期时间 2、区别…

将游戏界面与注册/登录界面连接到一起

一、 导包 在注册页面中导入一个import subprocess包 二、 使用代码将其连接到一起 在循环中加入下面这一行代码,用来实现效果 subprocess.run(["python", "game代码.py"]

Faust勒索病毒:了解变种faust,以及如何保护您的数据

导言: 近年来,网络安全问题日益严峻,其中勒索病毒成为了一种日益猖獗的威胁。在众多勒索病毒中,.faust勒索病毒以其高度的隐秘性和破坏性引起了广泛关注。本文91数据恢复将深入剖析.faust勒索病毒的威胁特点,并提出相…

实现SpringMVC底层机制(一)

文章目录 1.环境配置1.创建maven项目2.创建文件目录3.导入jar包 2.开发核心控制器文件目录1.流程图2.编写核心控制器SunDispatcherServlet.java3.类路径下编写spring配置文件sunspringmvc.xml4.配置中央控制器web.xml5.配置tomcat,完成测试1.配置发布方式2.配置热加…

【stomp 实战】Spring websocket使用详解和基本原理

spring框架对websocket有很好的支持,stomp协议作为websocket的子协议,Spring也做了很多封装,让我们在开发中易于使用。 学习使用Spring的Websocket模块,当然最好的办法就是看官网说明了。本篇文章对官网做一些简述和个人的理解。 …

采集 Kubernetes 容器日志最佳实践

前言 指标、日志、链路是可观测的三大支柱,日志主要用于记录代码执行的痕迹,方便定位和排查问题。当前主流的应用都是以容器的方式运行在 Kubernetes 集群,由于容器的动态性,容器可能会频繁地创建和销毁。日志的采集和持久化变得…

用例整体执行及pytest.ini文件

在我们写代码的过程中,一般都是右键或者命令行去执行一个用例 但是当我们写完后,需要整体执行一遍。那应该怎么搞呢? 我们可以在根目录下新建一个main.py或者run.py之类的文件,文件内容如下: if __name__ "__ma…

JAVA实现easyExcel批量导入

注解类型描述ExcelProperty导入指定当前字段对应excel中的那一列。可以根据名字或者Index去匹配。当然也可以不写,默认第一个字段就是index0,以此类推。千万注意,要么全部不写,要么全部用index,要么全部用名字去匹配。…

个人电脑本地部署LLM

普通电脑配置即可本地运行大模型,本地部署LLM最简单的方法 OLLAMA Ollama是一个开源框架,专门设计用于在本地运行大型语言模型(LLM)。它的主要功能是在Docker容器中部署和管理LLM,使得在本地运行大模型的过程变得非常…

python之List列表

1. 高级数据类型 Python中的数据类型可以分为:数字型(基本数据类型)和非数字型(高级数据类型) 数字型包含:整型int、浮点型float、布尔型bool、复数型complex 非数字型包含:字符串str、列表l…

CPPTest实例分析(C++ Test)

1 概述 CppTest是一个可移植、功能强大但简单的单元测试框架,用于处理C中的自动化测试。重点在于可用性和可扩展性。支持多种输出格式,并且可以轻松添加新的输出格式。 CppTest下载地址:下载地址1  下载地址2 下面结合实例分析下CppTest如…