渗透第一次作业

思考:

1. windows登录的明文密码,存储过程是怎么样的,密文存在哪个文件下,该文件是否可以打开,并且查看到密文
2. 我们通过hashdump 抓取出 所有用户的密文,分为两个模块,为什么? 这两个模块分别都代表什么
3. 为什么第一个模块 永远是一样的aad3
4. 这两个模块的加密算法有什么不同,如何加密的

---------------------------------------------------------------------------------------------------------------------------------

1:在Windows操作系统中,用户的登录密码永远不会以明文(原始形式)存储,相反,Windows会采用加密的方式保存密码。当用户设置或更改密码时,Windows会对其进行加密处理。这个加密过程通常涉及将密码转换为哈希值,这是一种不可逆的数学运算,意味着无法从哈希值还原出原始的明文密码。加密后的密码(哈希值)存储在特定的文件中,这个文件就是位于Windows系统目录下的SAM(Security Accounts Manager)文件。通常,这个文件的路径是C:\Windows\System32\config\SAM

需要注意的是,SAM文件是一个二进制文件,其内容无法直接查看或编辑,这也是为了保护存储其中的密码哈希值不被轻易访问或篡改。只有具有管理员权限的用户才能通过特定的工具或方法访问SAM文件,进行诸如密码重置等操作。普通用户是无法直接打开或查看这个文件的。

2:当使用hashdump抓取用户的密文哈希时,会看到两个模块,分别对应LM Hash和NT Hash,这主要是因为Windows系统中存在两种不同的密码哈希算法:LM Hash和NT Hash

LM Hash:这是微软早期为提高Windows操作系统的安全性而采用的散列加密算法,其本质是DES加密。但是,由于LM Hash存在一些安全弱点,并且容易被破解,从Windows Vista和Windows Server 2008版本开始,Windows操作系统默认禁用了LM Hash.

NT Hash:微软引入的NT Hash作为新的密码存储方式,NT Hash算法相比LM Hash更为安全,因为它采用了更强大的加密算法。

3:为了系统的兼容性,Windows虽然将LM禁用,但是任然会生成LM hash,并且这个值是固定的,为add3b435b51404eeaad3b435b51404ee.

4:LM hash通过DES加密

  1. 密码的16进制字符串被分成两个7byte部分。
  2. 每部分转换成比特流,并且长度位56bit。长度不足的部分使用0在左边补齐。
  3. 将每部分再分7bit为一组,每组末尾加0。
  4. 上步骤得到的两组,分别作为key,为KGS!@#$%进行DES加密。
  5. 将加密后的两组拼接在一起,得到最终LM HASH值

NTLM hash通过MD4加密算法加密

当Windows进行本地用户密码认证时,不是以用户输入的明文密码与系统密码直接比较,而是经过某种方式加密之后进行比较。因此,Windows中的用户密码凭证不是以明文的方式存储在系统中的SAM数据库,而是经过加密之后再存储到SAM数据库,这个明文加密的结果我们称之为NTLM hash。

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

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

相关文章

MIGO行项目屏幕增强

MIGO行项目屏幕增强 一、增强描述 由于在事务码MIGO中存在的字段中没有能够满足客户需求的字段,所以需要在事务码MIGO的屏幕中添加一个新的页签用来保存物料凭证中行项目增加的字段。 通过查找BADI的程序ZDEMO_BADI,输入参数MIGO后,得到对应BADI为MB_M…

16 - grace数据处理 - 补充 - 读GRACE数据并进行低阶项替换

16 - grace数据处理 - 补充 - 读GRACE数据并进行低阶项替换 *0* 引言*1* 主程序分享0 引言 关于Grace模型数据的介绍可以参考文章00,数据由3家机构发布,这里做一个关于数据读取的补充,源码来自这里,直接运行slepian_delta中的程序会出现😊意想不到😊的错误,下面分享的…

虚拟化及Docker基础

一、虚拟化 1.1 云端 1.2 云计算服务模式分层 1.3 虚拟化架构 1.3.1 寄居架构 1.3.2 原生架构 1.4 虚拟化产品 1.4.1 仿真虚拟化产品(对系统硬件没有要求,性能最低) 1.4.2 半虚拟化 (虚拟机可以使用真机物理机&#xff09…

【GitHub】github学生认证,使用copilot教程

github学生认证并使用copilot教程 写在最前面一.注册github账号1.1、注册1.2、完善你的profile 二、Github 学生认证 🌈你好呀!我是 是Yu欸 🌌 2024每日百字篆刻时光,感谢你的陪伴与支持 ~ 🚀 欢迎一起踏上探险之旅&a…

详细分析MySQL中的distinct函数(附Demo)

目录 前言1. 基本知识2. 基础Demo3. 进阶Demo 前言 该函数主要用于去重,对于细节知识,此文详细补充说明 1. 基本知识 DISTINCT 是一种用于查询结果中去除重复行的关键字 在查询数据库时,可能会得到重复的结果行,但有时只需要这…

[c++]菱形继承解析

菱形继承 大概示意图: 菱形继承不一定只是标准的菱形,只要形似菱形的都可以叫菱形继承。 (以下说明都是默认公有继承,public和protected成员情况下) 菱形继承会造成数据的冗余和二义性: 冗余:一个Assitant对象里面有…

详细分析PyInstaller打包python为exe执行文件(附Demo)

目录 前言1. 基本知识2. Demo 前言 需要将python文件打包成exe文件,变成rpa自动化形式 1. 基本知识 PyInstaller是一个用于将Python应用程序打包成独立可执行文件的工具 可以将Python脚本打包成Windows、Linux和Mac OS X上的可执行文件,这个作用可以将…

ThingsBoard远程RPC调用设备

使用 RPC 功能 客户端 RPC 从设备发送客户端 RPC 平台处理客户端RPC 服务器端 RPC 服务器端RPC结构 发送服务器端RPC 使用 RPC 功能 ThingsBoard 允许您从服务器端应用程序向设备发送远程过程调用 (RPC),反之亦然。基本上,此功能允许您向设备发送命…

Python 数组控件的使用

当一个UI窗口界面内有多个相同类型的控件,且这多个控件的功能都类似时,使用数组控件是一个非常不错的选择,可以大大减少代码的编写 且 代码易读性强,可惜的是Python好象是没有数组控件这个东东。 我们来看看以下一个界面&#xff…

Linux:服务器硬件及RAID配置

文章目录 Linux:服务器硬件及RAID配置服务器服务器是什么服务器的结构 RAID硬RAID与软RAID对比RAID级别介绍RAID 0RAID 1RAID 5RAID 6RAID 10 RAID级别对比 配置RAID硬RAID软RAID Linux:服务器硬件及RAID配置 服务器 服务器是什么 服务器的英文名称为…

Linux进程概念(六):进程控制

目录 进程创建 fork函数 进程终止 终止时干了什么 进程终止的三种情况 main函数的返回值 打印默认退出码 自定义退出码 总结 进程终止 exit函数 _exit函数 exit和_exit的区别 进程等待 什么是进程等待 为什么要有进程等待 wait函数 waitpid函数 阻塞等待与…

环形链表——java

给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(…

Axure实现tab页面切换功能

1. 实现效果 2. 实现原理 创建两个标签,并实现点击时选中状态点击时,设置面板状态 3. 实现步骤 3.1 实现可切换的标签 在页面上拖拽两个矩形作为两个tab标签,并命名 tab1 和 tab2 设置每个矩形的边框显示,只显示下边框即可 …

C#反射应用

1.根据类名名称生成类实例 CreateInstance后面的参数部分一定要和所构造的类参数数量对应,即使设置参数默认值,也不可省略。 2.只知道类名,需要将该类作为参数调用泛型接口。 3.只知道类名,需要将该类的数组作为参数调用泛型接口…

顺序查找和折半查找

顺序查找: 对于无序的情况: 什么是顺序查找:顺序查找的实现方式(存储),是含有两种的方式进行存储的,一种是顺序表的形式进行存储,还有一种是使用链表的形式进行存储的。采用顺序查…

架构师系列- 消息中间件(15)-kafka业务实战

7.1 顺序性场景 7.1.1 场景概述 假设我们要传输一批订单到另一个系统,那么订单对应状态的演变是有顺序性要求的。 已下单 → 已支付 → 已确认 不允许错乱! 7.1.2 顺序级别 1)全局有序: 串行化。每条经过kafka的消息必须严格…

ElasticSearch教程入门到精通——第二部分(基于ELK技术栈elasticsearch 7.x+8.x新特性)

ElasticSearch教程入门到精通——第二部分(基于ELK技术栈elasticsearch 7.x8.x新特性) 1. JavaAPI-环境准备1.1 新建Maven工程——添加依赖1.2 HelloElasticsearch 2. 索引2.1 索引——创建2.2 索引——查询2.3 索引——删除 3. 文档3.1 文档——重构3.2…

react,Chart

一、基础图:https://ant-design-charts.antgroup.com/ Ant Design Charts 1. 首先要下载ant-design/charts,然后在页面中添加如下柱状图代码: import React from react; import { Column } from ant-design/chartsconst DemoColumn: React.FC () …

百度智能云千帆 ModelBuilder 技术实践系列:通过 SDK 快速构建并发布垂域模型

​百度智能云千帆大模型平台(百度智能云千帆大模型平台 ModelBuilder)作为面向企业开发者的一站式大模型开发平台,自上线以来受到了广大开发者、企业的关注。至今已经上线收纳了超过 70 种预置模型服务,用户可以快速的调用&#x…

深入理解冯诺依曼体系结构

文章目录 冯诺依曼体系结构概念冯诺依曼体系结构的优势冯诺依曼体系结构的现实体现 冯诺依曼体系结构概念 冯诺依曼体系结构也称普林斯顿结构,是现代计算机发展的基础。它的主要特点是“程序存储,共享数据,顺序执行”,即程序指令和…