安全作业-1

news/2024/5/12 5:49:22

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.mrgr.cn/p/07607045

相关文章

attempt to compare nil with number -- 黑马点评出现问题

问题情况 : 主要问题 : 调用lua执行redis时,有一个值会接受nil(因为redis中没有该数据)或者数值,当该值为nil时执行报错,因为会用到将该值与其他数字比较,故报错attempt to compare nil with number 当然…

数据结构 - 队列 [动画+代码注释超详解],萌新轻松上手!!!

一. 队列的概念 队列是一种特殊的线性表,用于存储元素,并且按照先进先出(First In First Out)的顺序进行管理,这意味着最先加入队列的元素将会是最先从队列中被移除的元素 队列的原型:只允许在一端进行插入数据的操作&#xff0c…

【项目实战】基于高并发服务器的搜索引擎

【项目实战】基于高并发服务器的搜索引擎 目录 【项目实战】基于高并发服务器的搜索引擎搜索引擎部分代码index.htmlindex.hpplog.hppparser.cc(用于对网页的html文件切分且存储索引关系)searcher.hpputil.hpphttp_server.cc(用于启动服务器和…

python作业 切片逆转

题目: (反转显示一个整数)编写下面的函数,反向显示一个整数。 列如:reserse(3456)。编写一个测试程序,提示用户输入一个整数,然后显示它的反向数。 第一步定义一个函数: def rev…

区块链安全应用------压力测试

测试要求: 1. 对以下AccountManager智能合约进行压测(基础要求set函数测试,balanceOf涵为20分加分项)2. 在本地链进行测试,需要监控本地进程的资源使用情况。每个进程的multiOutput属性为Avg3. 需要将每一个更改的配置文件截图,和…

vscode 打代码光标特效

vscode 打代码光标特效 在设置里面找到settings 进入之后在代码最下方加入此代码 "explorer.confirmDelete": false,"powermode.enabled": true, //启动"powermode.presets": "fireworks", // 火花效果// particles、 simple-rift、e…

鸿蒙内核源码分析(任务调度篇) | 任务是内核调度的单元

任务即线程 在鸿蒙内核中,广义上可理解为一个任务就是一个线程 官方是怎么描述线程的 基本概念 从系统的角度看,线程是竞争系统资源的最小运行单元。线程可以使用或等待CPU、使用内存空间等系统资源,并独立于其它线程运行。 鸿蒙内核每个…

Rust序列化和反序列化

Rust 编写python 模块 必备库 docker 启动 nginx 服务 NGINX 反向代理配置

蛋糕购物商城

蛋糕购物商城 运行前附加数据库.mdf(或使用sql生成数据库) 登陆账号:admin 密码:123456 修改专辑价格时去掉¥以及上传专辑图片 c#_asp.net 蛋糕购物商城 网上商城 三层架构 在线购物网站,电子商务系统 …

【Godot4.2】自定义Todo清单类 - myTodoList

概述 在写myList类的时候,就想到可以写一个类似的Todo清单类。 基础思路 本质还是在内部维护一个数组,在其基础上进行增删改查操作的封装为了方便存储数据,编写一个自定义内置类TodoItem,内部数组就变成了Array[TodoItem]类型的…

【前端开发基础知识快速入门】

前端开发基础知识&快速入门 一、VSCode 使用1.1 安装常用插件1.2 创建项目1.3 创建网页1.4 运行效果二、ES62.1 简介2.2 什么是 ECMAScript2.3 ES6 新特性2.3.1 let 声明变量2.3.2 const 声明常量(只读变量)2.3.3 解构表达式2.3.4 字符串扩展2.3.5 函数优化2.3.6 对象优化…

uniapp的bug们

1 uni-icons标签的数据绑定有问题 <uni-icons type="contact" class=" icon" size="25"></uni-icons><view>{{user_msg}}</view> <!-- 之所以不把{{user_msg}}写在uni-icons标签之内,是因为,uni-icons有一个bug,它不…

nvm基本使用

nvm基本使用 文章目录 nvm基本使用1.基本介绍2.下载地址3.常用指令 1.基本介绍 NVM是一个用于管理 Node.js 版本的工具。它允许您在同一台计算机上同时安装和管理多个 Node.js 版本&#xff0c;针对于不同的项目可能需要不同版本的 Node.js 运行环境。 NVM 主要功能&#xff…

easyExcel快速入门

目录 &#x1f9c2;1.简单介绍 &#x1f32d;2.快速入门 &#x1f953;1.导入依赖 &#x1f37f;2.导出到excel &#x1f38f;3.读入数据 &#x1f389;4.下载 1.简单介绍 传统操作Excel大多都是利用Apach POl进行操作的,但是POI框架并不完善,使用过程非常繁琐且有较多…

C语言学习/复习36

一、程序的环境与预处理 二、翻译环境与执行环境 三、运行环境 四、预编译(预处理)详解

docker 基本命令

目录 一、docker 镜像操作命令 1.1.查询软件镜像 1.2.docker pull&#xff1a;下载镜像 1.3.docker push&#xff1a;上传镜像 1.4.docker images&#xff1a;查看本地镜像 1.5.docker inspect &#xff1a;获取镜像详细信息 1.6.docker tag&#xff1a;添加镜像标签 …

spring boot3单模块项目工程搭建-上(个人开发模板)

⛰️个人主页: 蒾酒 &#x1f525;系列专栏&#xff1a;《spring boot实战》 目录 写在前面 上文衔接 常规目录创建 common目录 exception.handle目录 result.handle目录 controller目录 service目录 mapper目录 entity目录 test目录 写在最后 写在前面 本文…

url规则

uniapp的url最后加了斜杠,如同,就不能生效了. 与之相对的django必须最后加斜杠,否则报错

英智数字孪生机器人解决方案,赋能仓库物流模式全面升级

工业机械臂、仓储机器人、物流机器人等模式的机器人系统在现代产业中扮演着愈发重要的角色&#xff0c;他们的发展推动了自动化和智能化水平的提高&#xff0c;有助于为制造业、物流业、医疗保健业和服务业等行业创造新效率并提升人们的生活质量。 行业面临的挑战 机器人开发、…

Linux - tar (tape archive)

tar 的全称是 Tape Archive。它最初是在 Unix 系统中用于将数据写入磁带的工具&#xff0c;但现在它通常用于创建、维护、修改和提取文件的归档文件。尽管 tar 可以用于压缩和解压缩文件&#xff0c;但它本身并不进行压缩&#xff0c;而是通常与 gzip 或 bzip2 等压缩工具一起使…