zoukankan      html  css  js  c++  java
  • 解读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次会话才会向服务端发起通讯

     

    详细具体的认证步骤,想了解的话可以去看官方文档。

     

    1. KDC
    全称:key distributed center
    作用:整个安全认证过程的票据生成管理服务,其中包含两个服务,AS和TGS
    2. AS
    全称:authentication service
    作用:为client生成TGT的服务
    3. TGS
    全称:ticket granting service
    作用:为client生成某个服务的ticket 
    4. AD
    全称:account database
    作用:存储所有client的白名单,只有存在于白名单的client才能顺利申请到TGT
    5. TGT
    全称:ticket-granting ticket
    作用:用于获取ticket的票据
    6.client
    想访问某个server的客户端
    7. server
    提供某种业务的服务

    0x02   结尾

    刚刚说到的lsass存在的意义,给大家来简单说说,lsass.exe是一个系统重要进程,用于微软Windows系统的安全机制。它用于本地安全和登陆策略。如果结束该进程,会出现不可知的错误。

     如果想了解内网渗透的师傅们,还需要熟悉windows认证,记得当时面试某xxx,和团队小伙伴每天背windwos认证协议,机制。

  • 相关阅读:
    [转]对Lucene PhraseQuery的slop的理解
    Best jQuery Plugins of 2010
    15 jQuery Plugins To Create A User Friendly Tooltip
    Lucene:基于Java的全文检索引擎简介
    9 Powerful jQuery File Upload Plugins
    Coding Best Practices Using DateTime in the .NET Framework
    Best Image Croppers ready to use for web developers
    28 jQuery Zoom Plugins Creating Stunning Image Effect
    VS2005 + VSS2005 实现团队开发、源代码管理、版本控制(转)
    禁止状态栏显示超链
  • 原文地址:https://www.cnblogs.com/nice0e3/p/12653863.html
Copyright © 2011-2022 走看看