网络认证

news/2025/1/17 13:00:12/文章来源:https://www.cnblogs.com/freedom-h/p/18676736

网络认证

网络认证概述

网络认证:Windows网络认证是指在Windows操作系统中进行网络通信和资源访问时,验证用户身份和授权权限的过程。它确保只有经过身份验证的用户能够访问网络资源,并根据其权限级别进行授权操作。

网络认证有哪些?

1.用户名和密码认证:这是最常见的认证方式,用户需要提供有效的用户名和密码,以验证其身份。这种认证方式适用于本地计算机账户或域账户。

2.Kerberos认证:Kerberos是一种网络身份验证协议,在Windows域环境中广泛使用。它通过使用票据和票据授予票证(TGT)来验证用户身份,并生成会话密钥用于加密通信。

3.NTLM认证:NTLM(NT LAN Manager)是一种早期的Windows网络认证协议,它使用基于挑战-响应的方式进 行身份验证。主要用于旧版 Windows 系统或与非 Windows 系统交互的场景

4.密钥身份认证:通过预先共享的密钥进行身份验证,适合特定场景或应用程序,例如自动化任务或脚本访问资源。

5.远程桌面认证(Remote Desktop Authentication):远程桌面是一种远程访问Windows计算机的功能。在远程桌面连接时,用户需要提供目标计算机的凭据进行认证,以验证身份并获得远程访问权限。

NTLM协议

在平时的测试中,经常会碰到处于工作组的计算机,主机A想要访问主机B上的资源,就要向主机B发送一个存在于主机B上的一个账户,主机B接收以后会在本地进行验证,如果验证成功,才会允许主机A进行相应的访问。

NTLM(NT LAN Manager)认证是一种早期的Windows网络身份验证协议。它在Windows系统中用于验证用户的身份,并提供对网络资源的访问控制。

NTLM 协议是一种基于挑战(Challenge)/响应(Response)认证机制

NTLM挑战响应协议认证机制

NTLM 协议挑战Challenge)/响应(Response)认证机制大体如下:

1、建立连接并发起身份验证请求

  • 客户端向服务器发起身份验证请求。
  • 服务器响应表示需要验证身份,并发回一个随机生成的 挑战字符串(Challenge)

2、客户端生成响应

  • 客户端使用用户的密码对挑战字符串进行加密,并生成一个加密后的响应字符串(Response)。
  • 客户端不会直接发送密码,而是发送响应字符串,确保密码本身不会在网络上传输。

3、服务器验证响应

  • 服务器将客户端发送的响应与预期的响应进行比较。
  • 服务器生成预期响应的方式:
    • 通过用户的密码(从数据库中获取的加密哈希)加密同一个挑战字符串。
  • 如果客户端的响应和服务器生成的响应匹配,则认证通过

既然是认证我们肯定分为认证失败和认证成功两种

首先,client会向server发起请求连接协商一些相关东西

image-20250116192448831

2、Server将会本地生成一个(16位或8位)随机字符,即Challenge,并将Challenge传给client。

image-20250116192914473

3、当client接收到Chalenge时,将username的NTLM-hash对Chalenge进行加密、和用户名、域名、机器名等相关信息,生成Response,并Response发送给server。

image-20250116193215951

4、Server在收到Response后,将其和相同的方式进行加密生成另一个Response,如果相同,则验证成功,如果不同就失败

image-20250116193502851

NTLM认证抓包分析

接下来从数据包层面进行分析

首先使用net use \ \ IP /u:账号名 密码 进行认证

同时打开wireshark进行抓包分析

image-20250116220102556

使用smb or smb2 过滤

image-20250116220235033

1、我们先来看前四个数据包,前四个数据包主要用来协商的,没有什么太大的作用

image-20250116220344249

2、第五个数据包是用户启动身份的验证包和一些规则,主要是flag里面有相关规则

image-20250116220436096

image-20250116220442445

3、第六个数据包是,有一些包含同意的列表和重要的challenge

image-20250116220541427

image-20250116220547922

可以看到challenge是16位,这是因为这个采用NTLM v2的协议,如果是NTLM v1的协议就是8位

4、第七个数据包是发送Response的数据包,还包含账户名的相关信息

image-20250116220703185

image-20250116220710393

5、第八个数据包就是返回结果,用了表示成功还是失败,失败的话显示ERROR

image-20250116220740958

Challenge和Response分析

Challenge是服务端发送给客户端的一串随机的字符,NTLM-v1协议中是8位,NTLM-v2协议中 是16位,自从Windows vista 之后就开始默认使用V2协议了

image-20250116192914473

Response值是客户端生成的发送给服务端,用来进行校验的

image-20250116193215951

image-20250116223053498

Response是如何生成的呢?

他是由 Response =NTProofStr+blob两部分拼接起来的

1、NTProofStr : NTLM-v2-Hash值 和 challenge+blob 进行 HMAC-MD5加密

NTLM-v2-Hash: 大写的用户名+域名编码成unicode格式,然后和密码的NTLM-Hash值 进行HMAC-MD5加密

2、 blob是由时间,目标信息,随机填充字符等生成。

我们平时在使用工具进行攻击的时候抓到的都是Net-NTLM Hash个数据: username::domain:challenge: NTProofStr :blob

我们使用工具进行抓取Net-NTLM v2 Hash

格式为:username::domain:challenge:NTProofStr :blob

image-20250116225133393

计算NTLM-v2-Hash

1、首先将administrator转成大写:ADMINISTRATOR

2、然后将BM-2008联合起来: ADMIN@123BM-2008

3、转成16进制:41444d494e4953545241544f52424d2d32303038 4、转成unicode格式: 410044004D0049004E004900530054005200410054004F00520042004D002D003200300030003800

5、使用密码和NTLM-Hash值: 570a9a65db8fba761c1008a51d4c95ab(作为key) 和上述进行HMAC- MD5加密

6、得到结果 236400794877e95f36a02f369f45ee16 NTLM-v2-Hash

image-20250116231211881

计算NTProofStr

1、首先将NTLM-v2-Hash 作为key:236400794877e95f36a02f369f45ee16

2、 challenge+blob 加起来:

B5D452A6509B46E40101000000000000839015126990D90172B4512C2F4B F1080000000002000E0042004D002D00320030003000380001000E004200 4D002D00320030003000380004000E0042004D002D003200300030003800 03000E0042004D002D00320030003000380007000800839015126990D901 0600040002000000080030003000000000000000000000000030000007CD FF2CD4739540D80B3F01668B69F29BBE8F014CC625EE38BBBAC47EE30882 0A00100000000000000000000000000000000000090026006300690066007 3002F003100390032002E003100360038002E00340031002E003200330039 00000000000000000000000000

3、 NTLM-v2-Hash作为key对上述数据进行HMAC-MD5进行加密,得到 Becd7c318deacba635c398cd7b679cf8 ( NTProofStr )

image-20250116231652479

image-20250116231659022

得到Response值

Becd7c318deacba635c398cd7b679cf80101000000000000839015126990D 90172B4512C2F4BF1080000000002000E0042004D002D003200300030003 80001000E0042004D002D00320030003000380004000E0042004D002D003 20030003000380003000E0042004D002D003200300030003800070008008 39015126990D9010600040002000000080030003000000000000000000000 000030000007CDFF2CD4739540D80B3F01668B69F29BBE8F014CC625EE38 BBBAC47EE308820A00100000000000000000000000000000000000090026 0063006900660073002F003100390032002E003100360038002E003400310

02E00320033003900000000000000000000000000

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/870740.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ffmpeg简易播放器(1)--了解视频格式

视频帧 对于一份视频,实质上是多张图片高速播放形成的。每一张图片即为该视频的一帧。而每秒钟播放的图片张数便为所谓的帧率(Frame Rate/Frame Per Second)。常见的帧率有24fps(即一秒播放24张图片),60fps(一秒播放60张图片)等。也就是说,对于一个时长60秒的图片,如果帧率…

Issac Gym出现error: subprocess-exited-with-error报错

1. 前言 一方面便于日后自己的温故学习,另一方面也便于大家的学习和交流。 如有不对之处,欢迎评论区指出错误,你我共同进步学习! 2. 正文 我在安装humanoid gym pip install -e .的时候,出现下列问题:解决方法: pip install --upgrade setuptools没解决就先卸载setupt…

高版本Jenkins关闭跨站请求伪造保护(Debian系)

关闭方法: 修改配置文件:/etc/default/jenkins(Debian系默认位置) 找到函数JAVA_ARGS,加上-Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true这段,重启Jenkins。

【分享】 100+ 套开源大数据可视化大屏Html5模板,全网最炫!

************************************************* 博客园:http://www.cnblogs.com/kingboy2008/ 今日头条:https://www.toutiao.com/c/user/token/MS4wLjABAAAAlK12eJwVSGYna9n7enGhiqQA_r386diukZRcWQulCRc/? CSDN:http://hi.csdn.net/kingboy2008 *******************…

直接把浏览器中的url知道复制到postman中

直接把浏览器中的url知道复制到postman中 1.找到需要复制的接口 2.右击接口 3.点击copy 4.选择cURL(bash)遇见问题,这是你成长的机会,如果你能够解决,这就是收获。 作者:晚来南风晚相识 出处:https://www.cnblogs.com/IwishIcould/ 想问问题,打赏了卑微的博主,求求你备…

LSTM缓解梯度消失

LSTM缓解梯度消失 Bilibili【重温经典】大白话讲解LSTM长短期记忆网络 如何缓解梯度消失,手把手公式推导反向传播 前向传播结构及原理 以“期末考试周”为例理解回顾RNN的梯度消失原因反向传播:LSTM如何缓解梯度消失

云原生K8Sconfing泄露etcdproxy

一、Etcd未授权访问 攻击port:2379;默认通过证书认证,主要存放节点的数据,如一些token证书。第一种情况: 没有配置--client-cert-path参数打开证书验证(或者改为false),暴露外Etcd服务存在未授权访问风险; 暴露外部可以访问,直接未授权访问获取secrets和token利用; 第…

2024年微信公众号收到赞赏6487.50

等了好久的微信公众号2024年创作回顾终于推送了,这是一个针对微信公众号创作的年终总结,如果没有记错的话应该是微信公众号推送年终总结的第二年。2023年的完整总结数据在这里:「我的2023年公众号创作数据分享」,在这份总结里我发现了许多有趣的数据,例如2023年全年一共发…

rpm安装clickhouse(24.11.8.5单机)

环境:OS:Centos 7db:24.11.8.5 1.下载安装介质下载地址为:https://packagecloud.io/Altinity/clickhouse或是这里下载https://mirrors.tuna.tsinghua.edu.cn/clickhouse/rpm/stable/x86_64/ 我这里下载的是如下三个包clickhouse-client-24.8.11.5.noarch.rpmclickhouse-common-…

不知道怎么坏的,但是修好了。修一个吉他数字效果器!

本文介绍了ZOOM G1 Four数字效果器不开机故障的分析和排除。涉及到上电时序的分析。孤独摇滚看上头 吉他梦碎效果器 两年前看孤独摇滚上头入手了电吉他。家贫,配的是海鲜市场买的ZOOM G1 Four数字效果器。这里简单介绍一下他的供电方案,有4节1.5V干电池,9V内负外正的DC插座,…

VUE反向代理怎么配置?如何防止本地开发时接口调用跨域问题?

在vue开发中,经常会遇到跨域问题。那么比较常见的前端处理方法就是配置反向代理,如何配置呢? 1.前往根目录,创建vue.config.js文件; 2.编写配置:1 const path = require(path);2 // const ZipPlugin = require(zip-webpack-plugin);3 let zipName = dist;4 module.export…