解读windows认证
0x00 前言
dll劫持的近期忙,没时间写,先给大家写个windows认证的水文。
0x01 windows认证协议
windows上的认证大致分为本地认证,ntlm协议,和Kerberos协议。
(1)本地认证
我们先来看到本地认证,本地认证是
Windows的本地认证是由 winlogon.exe 接受用户输入的密码 然后去lsass.exe 进程里面去取值,lsass会向sam文件里面读取hash密码 。如果hash值相对应那么就认证成功。这也是我们的lsass进程的内存中为什么会有hash的缘故,也是我们在抓取hash值时候都转存lsass进程的原因。
这里思考一个问题,为什么要有lsass这个进程,为什么winlogon不能直接从sam文件里面去取hash来认证。
(2)NTLM hash 与NTLM 协议
实际上NTLM hash的NTLM协议是2个东西,NTLM HASH 是一串经过特殊加密的hash值,而ntlm协议是一种网络认证协议。但是他们有着密切的关系,如果有了ntlm hash值可以直接使用pass the hash登录该机器。
NTLM hash的加密过程:
1.将明文转换成hex
2.转换hex的值在Unicode编码
3.unicode编码的值再md4加密
然后得到该用户的ntlm hash值。
NTLM 协议:
NTLM是一种网络认证协议,它是基于挑战(Challenge)/响应(Response)认证机制的一种认证模式。
NTLM协议的认证过程分为三步:
第一步:协商
第二步:质询
第三步:验证
第一步质询: 先发起请求,判断对方版本是ntlm v1还是v2 。
第二步质询:
就是挑战(Chalenge)/响应(Response) ,客户端向服务端发起一个用户名,服务器收到请求,生成一个(ntlmV1是8位数的challenge)16位数的 随机数 被称为challenge ,使用登陆名字对应的NTLM hash值来加密challenge。 同时会将challenge发送给客户端 客户端进行同样的用户的ntlm hash来加密 。
第三步验证:这时候就进行了第三步,2个加密后的challeng 进行比对 如果一样那么就验证通过。
(3)kerberos协议
简短洁说:客户端向服务端发起请求,如果请求的用户在ad内 as为client生成tgt
用户拿着tgt对kdc发起第二次交互,kdc会识别 我们的tgt到底有没有权限访问server,如果有那么就会分发一个ticket 也就是票据这步由tgs完成 ,然后拿着ticket 去请求server。
客户端要和dc建立2次会话才会向服务端发起通讯
详细具体的认证步骤,想了解的话可以去看官方文档。
. KDC
全称:key distributed center
作用:整个安全认证过程的票据生成管理服务,其中包含两个服务,AS和TGS
. AS
全称:authentication service
作用:为client生成TGT的服务
. TGS
全称:ticket granting service
作用:为client生成某个服务的ticket
. AD
全称:account database
作用:存储所有client的白名单,只有存在于白名单的client才能顺利申请到TGT
. TGT
全称:ticket-granting ticket
作用:用于获取ticket的票据
.client
想访问某个server的客户端
. server
提供某种业务的服务
0x02 结尾
刚刚说到的lsass存在的意义,给大家来简单说说,lsass.exe是一个系统重要进程,用于微软Windows系统的安全机制。它用于本地安全和登陆策略。如果结束该进程,会出现不可知的错误。
如果想了解内网渗透的师傅们,还需要熟悉windows认证,记得当时面试某xxx,和团队小伙伴每天背windwos认证协议,机制。
解读windows认证的更多相关文章
- Windows认证体系解读
目录 Windows认证方式 Windows本地认证 NTLM认证方式(工作组环境中) wiresharek抓包NTLMv2,使用Hashcat爆破 NTLM认证方式(域环境中) Kerberos认证 ...
- 微软架构师解读Windows Server 2008 R2新特性
目前众多企业都开始为自己寻找一个更加适合自身发展的服务器操作平台.微软的Windows Server 2008 R2就是可以为大家解决服务器平台问题.微软最新的服务器平台Windows Server ...
- 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 ...
- 7.内网渗透之windows认证机制
文章参考自三好学生域渗透系列文章 看了内网渗透第五篇文章,发现如果想要真正了解PTT,PTH攻击流程,还需要了解windows的认证机制,包括域内的kerberos协议. windows认证机制 在域 ...
- SQL Server如何正确的删除Windows认证用户
在SQL Server数据库中,有时候会建立一些Windows认证的账号(域账号),例如,我们公司习惯给开发人员和Support同事开通NT账号权限,如果有离职或负责事宜变更的话,那么要如何正确的删除 ...
- python中用分别用selenium、requests库实现Windows认证登录
最近在搞单位的项目,实现python自动化,结果在第一步就把我给拒之门外,查资料问大佬,问我们开发人员,从周一折腾到周五才搞定了 接下给大家分享一下 项目背景:我们系统是基于Windows平台实现的, ...
- (转)IIS windows认证
转自 https://my.oschina.net/u/2551141/blog/2878673 IIS配置Windows认证方式: 1.IIS->>要设置的网站->>身份验证 ...
随机推荐
- CSS3实现一个旋转的花朵
要效果图如下: 实现原理:其实很简单,就是中间的圆圈定位在中间,其他的6个圆圈,进行不同的绝对定位,然后进行旋转!代码: <!DOCTYPE html> <html lang=&qu ...
- 微信小程序中图片上传阿里云Oss
本人今年6月份毕业,最近刚在上海一家小公司实习,做微信小程序开发.最近工作遇到一个小问题. 微信小程序图片上传阿里云服务器Oss也折腾了蛮久才解决的,所以特意去记录一下. 第一步:配置阿里云地址: 我 ...
- springboot 整合logback
日志包使用的是springboot内置的日志包,所以我们不许要再专门导入日志包 1.logback-spring.xml配置 <?xml version="1.0" enco ...
- Gnome 究极无死角美化!!!不要再说gnome丑啦!!!
一.本文针对的美化部分包括:主题.图标.锁屏.开关机画面.gurb.插件.鼠标.终端及其配色方案. 二.资源下载: 1.请先下载好资源再继续进行.下列两个网址的内容一样,请根据下载体验自行选择. 超星 ...
- ggplot2(1) 简介
1.1 简介 ggplot2是一个用来绘制统计图形(数据图形)的R软件包,与其他大多数的图形软件包不同,ggplot2是由其背后的一套图形语法所支持的.ggplot2可以绘制出很多美观度的图形,同时能 ...
- ggplot2(5) 工具箱
5.1 简介 ggplot2的图层化架构鼓励我们以一种结构化的方式来设计和构建图形.本章旨在概述可用的几何对象和统计变换,在文中逐个详述.每一节都解决一个特定的作图问题. 5.2 图层叠加的总体策略 ...
- asyncio在爬虫中的使用
# -*- coding: utf-8 -*- # 协程基础.py import asyncio import time async def request(url): print("正在请 ...
- C++ 随笔练习
//例题:求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字,为2. 例如,n=5时=2+22+222+2222+22222,n由键盘输入.//题目来源:https://ww ...
- net core天马行空系列:移植Feign,结合Polly,实现回退,熔断,重试,超时,做最好用的声明式http服务调用端
系列目录 1.net core天马行空系列:原生DI+AOP实现spring boot注解式编程 2.net core天马行空系列: 泛型仓储和声明式事物实现最优雅的crud操作 3.net core ...
- 再说scss
1. CSS预处理器 定义了一种新的专门的编程语言,编译后成正常的CSS文件.为CSS增加一些编程的特性,无需考虑浏览器的兼容问题,让CSS更加简洁,适应性更强,可读性更佳,更易于代码的维护等诸多好处 ...