windows本地认证

本地认证概述

本地认证最简单的例子就是我们的电脑上存储着自己的账号密码,无论电脑是否联网,只要能开机,就可以输入账号密码登录到电脑中,工作组就是采用本地认证。

那认证流程是什么样子呢?简单流程如下

winlogon.exe(即Windows Logon Process):是Windows NT 用户登陆程序,用于管理用户登陆和退出.用户注销、重启、锁屏后,操作系统会让winlogon.exe显示登陆界面

lsass.exe是一个系统进程,用于微软Windows系统的安全机制。它用于本地安全和登陆策略

SAM文件是位于C\windows\system32\config\目录下的,用于储存本地所有用户的凭证信息,但是这并不代表着你可以随意去查看系统密码

普通人:不能删,不能改,不能看, 不能复制

SAM文件和lsass.exe进程详解

SAM文件是Windows的用户账户数据库,所有用户的登录名及口令等相关信息都会保存在这个文件中,格式简单如下

用户名称:LM-HASH值:NTLM-HASH值

administrator:LM-HASH值:NTLM-HASH值

SAM文件中的密码并不是以明文的形式存在,他是加密后存储在SAM文件中

Lsass.exe进程的作用非常重要,它主要负责管理本地安全策略和认证机制。这些策略包 括密码策略、账户策略、用户权限、域策略等等。同时,它还负责对用户进行身份验证, 以确保只有授权的用户才能访问系统资源。

1、将winlogon传过来的明文账号密码进行加密,然后和SAM 文件中的密文账号密码作对比。如果对比成功就登陆成功

2、将收到的明文账号密码在本地内存中保留一份用作备用

LM-Hash加密步骤

Windows操作系统通常使用两种方法对用户的明文密码进行加密处理。一部分为 LM-Hash,另一部分为 NTLM-Hash。

在 Windows操作系统中,Hash的结构通常如下: username:RID:LM-HASH:NT-HASH

LM Hash(全称为“LAN Manager Hash”)是微软在早期 Windows 操作系统中引入的一种散列加密算法,旨在提高系统的安全性,其核心基于 DES 加密。然而,LM Hash 安全性较低,容易被破解。从 Windows Vista 和 Windows Server 2008 开始,微软默认禁用了 LM Hash,但为了兼容性,未完全移除该机制。LM Hash 的明文密码长度限制为 14 位以内,因此若要彻底避免使用 LM Hash,可以将用户密码设置为超过 14 位。当 LM Hash 被禁用时,攻击者通过工具捕获的 LM Hash 通常会显示为 “aad3b435b51404eeaad3b435b51404ee”,表示该值为空或被禁用。

为提升安全性并兼顾兼容性,微软设计了 NTLM Hash 作为替代方案。NTLM Hash 基于 MD4 算法进行加密。从 Windows Vista(个人版)和 Windows Server 2003(服务器版)起,Windows 系统默认采用 NTLM Hash 作为认证方式。

1、将明文口令转换为其大写形式 假设这里以明文Admin@123为例,转换为大写格式为:

Admin@123----> ADMIN@123

2、将字符串大写后转换为16进制字符串

ADMIN@123---> 41 44 4D 49 4E 40 31 32 33

3、密码不足14字节要求用0补全

41 44 4D 49 4E 40 31 32 33---> 41 44 4D 49 4E 40 31 32 33 00 00 00 00 00

4、将上述编码分成2组7字节

第一组:41 44 4D 49 4E 40 31

第二组:32 33 00 00 00 00 00

5、将每一组7字节的十六进制转换为二进制,每7bit一组末尾加0,再转换成十六进制 组成得到2组8字节的编码

第一组:0100000010100010000100101010100010010100011100100000000001100010

40A2 12A8 9472 0062

第二组:

0011001000011000110000000000000000000000000000000000000000000000

3218 C000 0000 0000

6、将以上步骤得到的两组8字节编码,分别作为DES加密key为魔术字符串KGS!@#$% 进行 加密 KGS!@#$%的16进制为 4B47532140232425

最终结果6F08D7B306B1DAD4B75E0C8D76954A50

NTLM-Hash加密步骤

NTLM-Hash是微软为了在提高安全性的同时保证兼容性而设计的散列加密算法。 NTLM Hash 是基于MD4加密算 法进行加密的。个人版从 Windows vista以后,服务器版从 Windows Server 2003以后, Windows操作系统的认证方式均为 NTLM Hash。

继续以明文密码Admin@123为例

1、将明文口令转换成十六进制的格式

Admin@123--->41646D696E40313233

2、将16进制转换成Unicode格式,即在每个字节之后添加0x00

41646D696E40313233 --->410064006D0069006E004000310032003300

3、对Unicode字符串作MD4加密,生成32位的十六进制数字串 570a9a65db8fba761c1008a51d4c95ab

接下来我们使用工具去查看下计算是否一致

LM-HASH:6F08D7B306B1DAD4B75E0C8D76954A50 NTLM-HASH: 570a9a65db8fba761c1008a51d4c95ab

使用命令

QuarksPwDump.exe --dump-hash-local

前面有提到:当 LM Hash 被禁用时,攻击者通过工具捕获的 LM Hash 通常会显示为 “aad3b435b51404eeaad3b435b51404ee”,表示该值为空或被禁用。

对比发现NTLM值一样

那怎么看LM-Hash是否一样呢,可以用mimikatz

使用命令运行

minikatz.exe

然后提权到debug

privilege::debug

运行抓密码的命令

sekurlsa::logonPasswords

对比发现LM和NTLM值都一样

windows本地认证的更多相关文章

  1. Windows认证 | Windows本地认证

    Windows的登陆密码是储存在系统本地的SAM文件中的,在登陆Windows的时候,系统会将用户输入的密码与SAM文件中的密码进行对比,如果相同,则认证成功. SAM文件是位于%SystemRoot ...

  2. 转:细说ASP.NET Windows身份认证

    转自:https://www.cnblogs.com/fish-li/archive/2012/05/07/2486840.html 细说ASP.NET Windows身份认证 阅读目录 开始 认识A ...

  3. 细说ASP.NET Windows身份认证

    上篇博客我谈到了一些关于ASP.NET Forms身份认证方面的话题,这次的博客将主要介绍ASP.NET Windows身份认证. Forms身份认证虽然使用广泛,不过,如果是在 Windows Ac ...

  4. 深入详解windows安全认证机制ntlm&Kerberos

    0x01 为什么要理解windows 安全认证机制: 加深对后续各种漏洞利用的理解深度,还是那句话,要知其然,更要知其所以然,不废话,咱们直接开始 0x02 windows认证协议主要有以下两种: 基 ...

  5. 使用webapi实现windows本地用户管理

    1. 引言 最近一段时间设计和实现公司内部的基于OAuth2.0的统一身份认证中心,经梳理,公司部分自研系统可以使用OAuth2.0的方式进行身份认证,还有一部分系统无源代码,未开放接口,使用wind ...

  6. 类型:.net;问题:asp.net window验证;结果:细说ASP.NET Windows身份认证

    细说ASP.NET Windows身份认证 阅读目录 开始 认识ASP.NET Windows身份认证 访问 Active Directory 在ASP.NET中访问Active Directory ...

  7. [转帖]Windows安全认证是如何进行的?[Kerberos篇]

    Windows安全认证是如何进行的?[Kerberos篇] NTLM 的简单看了一下 基本上了解了.. 这个KERBEROS 的看不太懂 感觉说的我也有点迷糊.. 虽然是对称加密的 但是不清不楚的.. ...

  8. 2018-2019-2 20165215《网络对抗技术》Exp10 Final Windows本地内核提权+Exploit-Exercises Nebula学习与实践

    目录 PART ONE :Windows本地内核提权 漏洞概述 漏洞原理 漏洞复现 windbg调试本地内核 查看SSDT表和SSDTShadow表 查看窗口站结构体信息 利用Poc验证漏洞 漏洞利用 ...

  9. 【Windows身份认证】NTLM

    前言 前几天自己在学习域渗透时突然对Windows的身份认证机制产生了兴趣,但看了好几天自己还是懵懵懂懂,期间自己看了许多师傅的优质文章,也做了一些例子的复现,于是有了这篇文章,可以说是自己的笔记或总 ...

  10. Windows 本地安装mysql8.0

    前言 看了网上许多关于Windows 本地安装mysql的很多教程,基本上大同小异.但是安装软件有时就可能因为一个细节安装失败.我也是综合了很多个教程才安装好的,所以本教程可能也不是普遍适合的.现我将 ...

随机推荐

  1. Qt编写安防视频监控系统36-onvif连续移动

    一.前言 时隔一年多,重新对视频监控系统的onvif内核重写,一方面为了兼容Qt6,一方面按功能分类提高效率.整体逻辑思路是一样的,主要的改动是由于Qt6不再支持QtXmlPatterns模块(其实这 ...

  2. Qt音视频开发13-mpv录像存储

    一.前言 用mpv来做录像存储,保存视频文件,从来都没有如此的方便,直接设置属性stream-record对应的文件路径即可,我的乖乖,一行代码,如此精简美丽大方,搞得我都不敢相信自己的眼睛,mpv除 ...

  3. 11.15javaweb学习

  4. 阿里IM技术分享(六):闲鱼亿级IM消息系统的离线推送到达率优化

    本文由阿里闲鱼技术团队逸昂分享,原题"消息链路优化之弱感知链路优化",有修订和改动,感谢作者的分享. 1.引言 闲鱼的IM消息系统作为买家与卖家的沟通工具,增进理解.促进信任,对闲 ...

  5. Java Web学生自习管理系统

    一.项目背景与需求分析 随着网络技术的不断发展和学校规模的扩大,学生自习管理系统的需求日益增加.传统的自习管理方式存在效率低下.资源浪费等问题,因此,开发一个智能化的学生自习管理系统显得尤为重要.该系 ...

  6. Jetbrain Fleet体验版linxu环境开发Python初体验

    Jetbrain Fleet体验版linxu环境开发Python初体验 (base) linxu@linxu-PC:~/Projects/FleetProjects$ conda activate d ...

  7. UML之发现用例

    用例是最简单的UML元素,用例图是最简单的UML图,但它也可能是UML中最有用的元素之一.尽管我们用包将工作分解为工作包.团队任务或单项任务,也就是说包是组织UML中的各种图及元素的工具.但是用例图可 ...

  8. Solution Set -「NOIP Simu.」20221014

    \(\mathscr{A}\sim\)「Unknown」tothecrazyones   有 \(n\) 堆石子, 第 \(i\) 堆有 \(a_i\) 个. Alice 和 Bob 轮流抓取, Al ...

  9. HashMap知识点

    1.基本数据结构 1. JDK1.7 数组 + 链表 2. JDK1.8 数组 + (链表 | 红黑树) 2.树化与退化 1.树化意义 1.红黑树用来避免Dos攻击,防止链表过长时性能下降,树化应该是 ...

  10. MVCC基本原理

    在介绍MVCC概念之前,我们先来想一下数据库系统里的一个问题:假设有多个用户同时读写数据库里的一行记录,那么怎么保证数据的一致性呢?一个基本的解决方法是对这一行记录加上一把锁,将不同用户对同一行记录的 ...