彻底理解Windows认证1
彻底理解Windows认证
一、Windows本地认证
1. 我的密码在哪里?
路径:C:\Windows\System32\config\SAM
当我们登录系统的时候,系统会自动的读取SAM文件中的“密码”与我们输入的“密码”进行对比,如果相同,证明认证成功。
2. NTML(NT LAN Manager) Hash
NTML Hash是支持Net NTLM认证协议及本地认证过程中的一个重要参与物,其长度为32位,由数字与字母组成。
Windows本身不存储用户的明文密码,他会将用户的明文密码经过加密算法后存储在SAM数据库中。
当用户登录时,将用户输入的明文密码也加密成NTLM Hash,与SAM数据库中的NTLM Hash进行比较。NTLM Hash的前身是LM Hash,目前基本淘汰,但还是存在于window xp/2003中。
3. NTML Hash的产生

上图使用python库加密。
admin à hex(16禁进制编码) = 61646d696e
61646d696e àUnicode = 610064006d0069006e00
610064006d0069006e00àMD4 = 209c6174da490caeb422f3fa5a7ae634
adminà= 209c6174da490caeb422f3fa5a7ae634
4. 本地认证流程

Windows Logon Process(即winlogon.exe),是Windows NT用户登录程序,用于管理用户登录和退出。
LSASS用于微软Windows系统的安全机制。它用于本地安全和登录策略。
5. LM Hash
加密过程:
第一步是将明文口令转换为其大写形式;
第二步是将字符串大写后转换为16进制字符串;
第三步是密码不足14字节要求用0补全;
第四步是将上述编码分成2组7字节(56bits=14*4)的数据;
第五步是将每一组7字节的十六进制转换为二进制,每7bit一组末尾加0,再转换成十六进制组成得到2组8字节的编码;
第六步将以上步骤得到的两组8字节编码,分别作为DES加密key为魔术字符串“KGS!@#$% ”进行加密;
第七步将两组DES加密后的编码拼接。
二、 Windows网络认证
在内网渗透中,经常遇到工作组环境,而工作组环境是一个逻辑上的网络环境(工作区),隶属于工作组的机器之间无法互相建立一个完美的信任机制,只能点对点,是比较落后的认证方式,没有信任机构。
假设A主机与B主机属于同一个工作组环境,A想访问B主机上的资料,需要将一个存在于B主机上的账户凭证发送给B主机,经过认证才能访问B主机上的资源。
最常见的服务:SMB服务 端口:445
1. NTLM协议
早期SMB(文件共享)协议在网络上传输明文口令。后来出现LAN Manger challenge/Response验证机制,简称LM,它是如此简单以至于很容易就被破解。
微软提出了WindowsNT挑战/响应验证机制,称之为NTLM。现在已经有了更新的NTLMv2以及Kerberos验证体系。
2. 挑战(challenge)/响应(Response)
流程:

第一步协商:
客户端主要在这一步向服务器确认协议版本,是V1还是V2以及其它信息。
第二步质询:
客户端向服务器端发送用户信息(用户名)请求
- ·服务器接受到请求,生成一个16位的随机数,被称之为“challenge”,使用登录用户名对应的NTLM Hash加密challenge(16位随机字符),生成challenge1。同事,生成challenge1后,将challenge(16位随机字符)发送给客户端。//Net NTLM Hash=NTLM Hash(challenge)。
- ·客户端接受到challenge后,使用将要登录的账户对应的NTLM Hash加密challenge生成response,然后将response发送至服务器端。
第三步验证:
服务器端收到客户端的response后,比对challenge1与response是否相当,若相当,则认证通过。

————————————————还有后续哦—————————————————————————————————————————————————————————————————————————————————————————————————
彻底理解Windows认证1的更多相关文章
- 7.内网渗透之windows认证机制
文章参考自三好学生域渗透系列文章 看了内网渗透第五篇文章,发现如果想要真正了解PTT,PTH攻击流程,还需要了解windows的认证机制,包括域内的kerberos协议. windows认证机制 在域 ...
- 《深入理解Windows Phone 8.1 UI控件编程》基于最新的Runtime框架
<深入理解Windows Phone 8.1 UI控件编程>本书基于最新的Windows Phone 8.1 Runtime SDK编写,全面深入地论述了最酷的UI编程技术:实现复杂炫酷的 ...
- 深入理解windows
阿猫翻译的,用作备忘 深入理解windows——session.window stations.desktops 翻译自:http://www.brianbondy.com/blog/id/100/ ...
- Jetty支持Windows认证
WAFFLE是什么? Jetty增加WAFFLE支持 DEMO 小结 WAFFLE是什么? WAFFLE是一个Windows认证框架,支持Negotiate, NTLM和Kerberos认证.WAFF ...
- asp.net权限认证:Windows认证
asp.net权限认证系列 asp.net权限认证:Forms认证 asp.net权限认证:HTTP基本认证(http basic) asp.net权限认证:Windows认证 asp.net权限认证 ...
- 自定义HttpModule,用于未登录用户,不弹出Windows认证窗口,而是跳转回SSO站点
2012年的一篇随笔记录,可以学习到如何自定义HttpModule,而具体里面针对需求开发的代码,可能未必能让大伙了解到什么,可快速扫描而过. using System; using System.W ...
- 理解Windows注册表
理解Windows注册表 注意 完之前先备份reg 前言 在Windows 3.x之前, Windows都是使用.ini文件来保存配置信息的, 但是.ini文件的大小最大只能为64KB, 为了突破这个 ...
- SQL Server如何正确的删除Windows认证用户
在SQL Server数据库中,有时候会建立一些Windows认证的账号(域账号),例如,我们公司习惯给开发人员和Support同事开通NT账号权限,如果有离职或负责事宜变更的话,那么要如何正确的删除 ...
- python中用分别用selenium、requests库实现Windows认证登录
最近在搞单位的项目,实现python自动化,结果在第一步就把我给拒之门外,查资料问大佬,问我们开发人员,从周一折腾到周五才搞定了 接下给大家分享一下 项目背景:我们系统是基于Windows平台实现的, ...
随机推荐
- Linux起源
Linux起源 操作系统出现时间线: Unix1970年诞生 ,71年用C语言重写 Apple II 诞生于1976年 window诞生于1985年 Linux诞生于1991年,由大学生Linus T ...
- 安全性与收尾工作 创建基本的安全策略 精通ASP-NET-MVC-5-弗瑞曼
- JS-09-数组
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Python学习初级python3.6的安装配置
首先我们来安装python 1.首先进入网站下载:点击打开链接(或自己输入网址https://www.python.org/downloads/),进入之后如下图,选择图中红色圈中区域进行下载. 2. ...
- Python3-提高效率的方法
1.字符串格式化 Python3.7或以上推荐使用f-string,其他版本推荐使用format方法. 2.字典的初始化 使用字面量初始化字典(以及其他集合类型). 说明:Python中初始化集合类型 ...
- Wireshark入门与进阶系列五之常见捕获过滤器
0x00 前言 我们都知道,wireshark可以实现本地抓包,同时Wireshark也支持remote packet capture protocol(rpcapd)协议远程抓包,只要在远程主机上安 ...
- PTA 练习 7-24 喊山 (30 分)
7-24 喊山 (30 分) 喊山,是人双手围在嘴边成喇叭状,对着远方高山发出"喂-喂喂-喂喂喂--"的呼唤.呼唤声通过空气的传递,回荡于深谷之间,传送到人们耳中,发出约定俗成的& ...
- Mac 解决IDEA无法启动的问题
今天重装了IDEA,发现IDEA启动不了,点击IDEA无反应,使用命令行启动idea,然后看看具体的错误,具体的启动方案就是:打开finder->应用程序->idea.app->右键 ...
- springboot2.x整合spring-data-jpa的问题
今天使用springboot整合spring-data-jpa遇到一些问题,直接使用JpaRepository的getOne()方法是会报错的.报错信息为:org.hibernate.LazyInit ...
- DWZ框架-- Dialog点击保存后不能自动关闭
案例 今天在用DWZ框架做添加功能时,发现在对话框保存成功后,后端返回正确的json格式,但对话框不能自动关闭窗口,而且保存后自动跳回主页,没有停留在当前用户列表页面,具体错误过程重现如下: 1.打开 ...