内网渗透
01基础知识
02域环境的搭建
03工作组权限
04域内权限
05Windows本地认证
06网络认证
07Kerberos协议
08工作组的信息搜集
09域内的信息搜集
10工作组的密码抓取
11域内的密码抓取
12Dcsync原理以及攻击
13RDP密码凭证抓取
14横向移动概述
15IPC$横向移动
16PTH哈希传递
17PTK密钥传递
18PTT票据传递
19PSexec进行横向移动
20SMBexec进行横向移动
21利用WinRM服务进行横向移动
22利用WMI进行横向移动
23用户枚举与喷洒
24用户枚举与喷洒-实验
25Roasting攻击
26Kerberoasting
27黄金票据
28黄金票据-实验
29白银票据
30白银票据-实验
31委派概述
32非约束性委派攻击
33约束性委派攻击
34约束性委派攻击-实验
35基于资源的约束性委派
36基于资源的约束性委派-实验
-
+
首页
05Windows本地认证
本地认证即用户的账户密码存储在本机电脑中,无论电脑是否联网,都可输入正确的账户密码进行登录。 工作组内的电脑采用的就是本地认证 # 本地认证流程  # winlogon.exe Windows Logon Process(即winlogon.exe),是Windows NT 用户登陆程序,用于管理用户登录和退出。 该进程的正常路径应是C:\Windows\System32,且是以 SYSTEM 用户运行  # lsass.exe lsass.exe是一个系统进程,用于微软Windows系统的安全机制。 它用于管理本地安全策略和认证策略。  这些策略包括密码策略、账户策略、用户权限、域策略等等,除此之外,还对用户进行身份验证,以确保只有授权的用户才能访问系统资源。 lsass程序的作用: 1、将winlogon传过来的明文账户密码进行加密,然后和SAM文件中的密文账户密码作对比,如果对比成功则登录成功。 2、将收到的明文账户密码在本地内存中一份作为备用 # SAM文件 对于Windows,SAM文件是位于C:\windows\system32\config\sam,用于存储本地所有用户的凭证信息。 但对应普通用户而言,不能进行增加、修改、查看、复制。  > 详解 - SAM文件是Windows的用户账户数据库,所有用户的登录名及口令等相关信息都会保存在这个文件中。 - SAM文件中的密码并不是以明文的形式存在,而是加密后存储在SAM文件中 - 文件中的账户存储格式为: 用户名:LM-HASH值:NTLM-HASH值,例如:administrator:LM-HASH值:NTLM-HASH值 > SAM文件和lsass.exe文件关系  # LM-HASH 对于Windows操作系统通常使用两种方法对用户的明文密码进行加密处理,一部分为LM-HASH,另一部分为NTLM-HASH。 SAM文件中的hash值结构为username:RID:LM-HASH:NTLM-HASH > LM-HASH概述 挑战/响应验证机制 LM Hash的全名为"LAN Manager Hash",是微软为了提高 Windows操作系统的安全性而采用的散列加密算法,其**本质是DES加密**。 尽管 LM Hash较容易被破解,但为了保证系统的兼容性,Windows只是将LM Hash禁用了(从 Windows vista和 Windows Server2008版本开始, Windows操作系 统默认禁用 LM Hash)。 LM Hash**明文密码被限定在14位以内**,也就是说,如果要停止使用 LM Hash,将用户的密码设置为14位以上即可。 如果 LM Hash被禁用了,攻击者通过工具抓取的LM Hash通常为 “aad3b435b51404eead3b435b51404ee”(表示 LM Hash为空值或被禁用) 。 > 操作系统所用HASH 为了解决LM加密和身份验证方案中固有的安全弱点,Microsoft 于1993年在Windows NT 3.1中引 入了NTLM协议。 下面是各个版本对LM和NTLM的支持: | 加密类型 | 2000 | XP | 2003 | Vista | Win7 | 2008 | Win8 | 2012 | Win10 | 2016 | Win11 | | --------- | ---- | ---- | ---- | ----- | ---- | ---- | ---- | ---- | ----- | ---- | ----- | | LM-HASH | √ | √ | √ | √ | | | | | | | | | NTLM-HASH | | | | | √ | √ | √ | √ | √ | √ | √ | > LM-HASH值的加密流程 用户密码例如:a1b2c3.. 1、将明文口令转换为大写 A1B2C3.. 2、将大写的字母转换为16进制 41 31 42 32 43 33 2E 2E 3、密码不足14字节,要求 用0补齐 41 31 42 32 43 33 2E 2E 00 00 00 00 00 00 4、将上述编码分为2组7字节 第一组:41 31 42 32 43 33 2E 第二组:2E 00 00 00 00 00 00 5、将每一组7个字节的16进制转换为2进制,每7bit一组末尾加0,再转换为16进制 第一组:41 31 42 32 43 33 2E ``` 二进制:01000001001100010100001000110010010000110011001100101110 每7bit一组末尾补0 01000000 10011000 01010000 01000110 00100100 00011000 11001100 01011100 合并后:0100000010011000010100000100011000100100000110001100110001011100 转为16进制:409850462418CC5C ``` 第二组:2E 00 00 00 00 00 00 ``` 二进制:00101110000000000000000000000000000000000000000000000000 每7bit之后补0 00101110 00000000 00000000 00000000 00000000 00000000 00000000 00000000 合并后:0010111000000000000000000000000000000000000000000000000000000000 转为16进制:2E00000000000000 ``` 6、将上述步骤得到的两组8字节编码,分别作为DES加密,key为魔术字符串 KGS!@#$% 进行加密。 KGS!@#$% 的16进制为4B47532140232425,最后将两组加密后的密文进行拼接,即得到LM-HASH值 第一组:FCEECFE68DE61CD8  第二组:5AACD84CD494924F  > 两组进行拼接 用户密码 a1b2c3..的LM-HASH值为FCEECFE68DE61CD85AACD84CD494924F # NTLM-HASH > 概述 NTLM Hash是微软为了在提高安全性的同时保证兼容性而设计的散列加密算法。 NTLM Hash 是**基于MD4加密算法**进行加密的,个人版从 Windows vista以后,服务器版从 Windows Server 2003以后, Windows操作系统的认证方式均为 NTLM Hash > 加密规则 1、将明文口令转换为16进制 以a1b2c3..为例 16进制:61 31 62 32 63 33 2e 2e 2、将16进制转换为Unicode格式,即在每个字节之后添加0X00 6100310062003200630033002E002E00 3、对Unicode字符串作为MD4加密,生成32位的16进制值 b6fedcbb1ab4f59dd213d03eb992b759  > SAM文件值 用户名为administrator 密码为a1b2c3.. 存储后的密文格式为 administrator:500:FCEECFE68DE61CD85AACD84CD494924F:B6FEDCBB1AB4F59DD213D03EB992B759 # hash值对比 使用工具提取系统中sam文件的存储值 QuarksPwDump.exe  mimikatz.exe 
毛林
2025年9月7日 11:39
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码