Windows安全认证机制——Windows常见协议

一.LLMNR协议

1.LLMNR简介

链路本地多播名称解析(LLMNR)是一个基于域名系统(DNS)数据包格式的协议,使用此协议可以解析局域网中本地链路上的主机名称。它可以很好地支持IPv4和IPv6,是仅次于DNS解析的名称解析协议。

2.LLMNR解析过程

LLMNR解析前提是本地hosts和DNS解析失败时,会使用LLMNR解析。LLMNR解析过程如图1-1所示。

1)主机在本地NetBIOS缓存名称中进行查询。

2)如果缓存名称中没有查询到,则以此向配置的主备DNS服务器发送解析请求。

3)如果主备DNS服务器没有回复,则向当前子网域发送多播,获取对应的IP地址。

4)本地子网域的其他主机收到并检查多播包,如果没有响应则请求失败。

从以上工作过程可以明白LLMNR是以多播形式进行查询的,类似于ARP通过MAC寻找IP地址。这样就存在一个欺骗攻击问题。

绘图2

绘图2

3.LLMNR欺骗攻击

假设用户访问一个域名xxx,如图1-2所示,在hosts文件和DNS解析失败,此时会通过LLMNR协议进行广播请求,攻击者利用该广播请求时间向请求用户回复响应IP地址,这时xxx映射的IP就是攻击者IP,当用户访问xxx域名就会解析到攻击IP,进而攻击者便可以拿到net-ntlm hash。

绘图2_backup_311867

绘图2_backup_311867

4.LLMNR防御措施

1)点击开始——运行——输入命令——打开本地组策略管理器,如图1-3所示。

gpedit.msc

图1-3 打开本地组策略管理器

图1-3 打开本地组策略管理器

2)打开计算机配置——管理模版——网络——DNS客户端,如图1-4所示。

图1-4 打开配置DNS客户端

图1-4 打开配置DNS客户端

3)双击打开“关闭多播名称解析”,如图1-5所示。

图1-5 打开“关闭多播名称解析”

图1-5 打开“关闭多播名称解析”

4)将关闭多播名称解析中的状态改为“已禁用”,如图1-6所示。

图1-6 将关闭多播名称解析中的状态改为“已禁用”

图1-6 将关闭多播名称解析中的状态改为“已禁用”

二.NETBIOS协议

1. NETBIOS简介

NetBIOS是Network Basic Input/Output System(网上基本输入输出系统)的缩写,它是一种接入服务网络的接口标准,主机系统通过WINS服务、广播及Lmhost文件等多种模式,把NetBIOS名解析成对应的IP地址,实现信息通讯。因其占用资源小、传输快的特点,广泛应用于局域网内部消息通信及资源的共享。

2.NETBIOS服务类型

NetBIOS支持面向连接(TCP)和无连接(UDP)通信。它提供三个分开的服务:命名(NetBIOS names)、会话(NetBIOS sessions)、数据报(NetBIOS datagrams)。NetBIOS names为其他两个服务的基础。

NetBIOS服务类型在TCP/IP上的基本架构如图1-7所示。

IMG_295

IMG_295

下面我们针对三种常见的NetBIOS服务类型进行详细说明,如表1-1所示。

表1-1 三种常见的NetBIOS报文类型

服务类型

端口

具体描述

Net BIOS names(NetBIOS名称服务)

UDP 137

鉴别资源。程序、主机都有独特的NetBIOS名称

Net BIOS datagrams(Net BIOS数据报)

UDP 138

无连接的将数据报发送到特定的地点、组、整个局域网。

Net BIOS sessions(Net BIOS会话服务)

TCP 139

提供给面向连接,可靠的,完全双重的信息服务。

3. NETBIOS解析过程

NetBIOS 协议进行名称解析的过程如下。

1)首先主机先检查本地NetBIOS缓存。

2)如果缓存中没有请求的名称,但是配置类WINS服务器,则向WINS服务器发送请求。

3)如果没有配置WINS服务器或WINS服务器无响应时,则和LLMNR一样向当前子网域发送广播。

4)如果子网域其他主机无响应,则读取本地的lmhosts(C:\Windows\System32\drivers\etc\)文件。

NetBIOS协议是发送UDP广播包进行解析,如果不配置WINS服务器,则和LLMNR一样会有欺骗攻击问题。

4. NETBIOS防御措施

1)输入命令ncpa.cpl,打开网络连接,如图1-33所示。

图1-8 输入命令ncpa.cpl打开网络连接

图1-8 输入命令ncpa.cpl打开网络连接

2)通过“本地连接——属性—Internet协议版本4——属性——高级”来配置,如图1-9、图1-10、图1-11所示。

图1-9 打开网络连接属性

图1-9 打开网络连接属性

图1-10 配置TCP/IPV4

图1-10 配置TCP/IPV4

图1-11 配置IP地址

图1-11 配置IP地址

3)在WINS标签栏的NetBIOS设置中禁用NetBIOS,如图1-12所示。

图1-12 在WINS标签栏中的NetBIOS设置中禁用NetBIOS

图1-12 在WINS标签栏中的NetBIOS设置中禁用NetBIOS

三.WPAD协议

1.Windows WPAD 简介

WPAD全称Web Proxy Auto-Discovery Protocol,也就是WEB代理自动发现协议(这里的代理就是我们在渗透中常用BURP的时候修改的代理设置)。它的作用是让局域网浏览器自动发现内网中的代理服务器,并且自动设置成该代理进行连接企业内网或者互联网。若系统开启了WPAD,那么主机就会在当前连接的局域网中去寻找代理服务器,找到之后会在代理服务器中下载PAC(Proxy Auto-Config)的配置文件(其实我们在日常中经常能看见当我们使用SSR的时候就会看见PAC自动模式),这个PAC文件会定义用户在访问什么地址的时候,使用什么代理进行访问,举一个常见易懂的例子,有些公司会对访问谷歌浏览器有一定的需求,那么他们就会搭建一个代理服务器,里面的PAC文件就会配置当访问谷歌浏览器的时候web代理自动使用到那个代理服务器上,同时浏览器将下载并解析该文件,将相应的代理服务器设置到浏览器中。

2.WPAD实现方式

我们前面说过主机会在当前连接的局域网中自动寻找代理服务器,它的实现方式主要分为两种。

(1)DHCP

在DHCP服务器中,DHCP服务器的252选项是被当作查询或者注册使用的指针,我们可以在DHCP服务器中添加一个用于查找WPAD主机的252项,内容是部署在WPAD主机上的PAC文件的URL,当客户端Web浏览器要访问某个地址时,Web浏览器会向DHCP服务器发送DHCP INFORM数据包来查询PAC文件的位置,DHCP服务器收到请求以后会返回DHCP ACK数据包进行响应,其中包含了选项和配置列表,在这些返回选项中的252选项就是代理自动配置文件的位置,Web浏览器就可以执行下载PAC文件请求。如图1-1所示,这是以DHCP的方式获取PAC示意图。

IMG_310

IMG_310

目前大多数内网中已经不再使用DHCP服务器对客户端的WPAD进行配置,而是逐渐采用较为简单的DNS服务器方式。

(2)DNS

第二种是目前使用最广泛的方式,通过DNS方式实现WPAD的原理是:先由Web浏览器向DNS服务器发起WPAD+X查询,DNS服务器接收到查询请求后返回提供WPAD主机的IP地址,Web浏览器通过该IP的80端口下载wpad.dat(浏览器配置用文件)和wspad.dat(防火墙配置用文件)以实现自动配置。例如:用户的计算机网络名称为test.xx.example.com,浏览器将依次尝试下列URL,以期成功在客户端的域中找到一个代理配置文件。如图1-2所示。

IMG_311

IMG_311

3.PAC文件内容

PAC文件最主要的作用是可以控制浏览器如何处理使用HTTP/HTTPS的流量,其实在每个PAC文件中都会包含一个FindProxyForURL函数,用来定义Web浏览器是直接将流量发送到Internet,还是将流量发送到代理服务器的规则,以下是PAC文件的具体配置内容。

代码语言:bash

复制

function FindProxyForURL(url, host) {   
	if (shExpMatch(host, "*.example.com"))
	{
		return "DIRECT";
	}
	if (isInNet(host, "10.0.0.0", "255.255.248.0"))
	{
		return "PROXY fastproxy.example.com:8080";
	}
	return "PROXY proxy.example.com:8080; DIRECT";
}

1)shExpMatch将尝试将主机名或URL与指定的shell表达式匹配,如果匹配则返回true。

2)isInNet 此函数判断主机名的IP地址,如果在指定的子网内则返回true。如果传递了主机名,该函数会将主机名解析为IP地址。

代码语言:bash

复制

	if (shExpMatch(host, "*.example.com"))
	{
		return "DIRECT";
	}

3)如果在host中匹配到了.example.com,就会返回true,DIRECT的意思是直连,那么这句话就是:如果访问了.example.com的URL那么就会直接连接,不走代理。

代码语言:bash

复制

	if (isInNet(host, "10.0.0.0", "255.255.248.0"))
	{
		return "PROXY fastproxy.example.com:8080";
	}

4)如果host在指定的IP范围内,那么就会通过代理fastproxy.example.com:8080进行访问。

作者:一只特立独行的兔先生

原文:Windows安全认证机制之Windows常见协议-腾讯云开发者社区-腾讯云


 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JavaFx基础知识

1.Stage 舞台 如此这样的一个框框,舞台只是这个框框,并不管里面的内容 public void start(Stage primaryStage) throws Exception {primaryStage.setScene(new Scene(new Group()));primaryStage.getIcons().add(new Image("/icon/img.png"))…

昇思25天学习打卡营第15天|ResNet50图像分类

学AI还能赢奖品?每天30分钟,25天打通AI任督二脉 (qq.com) ResNet50图像分类 图像分类是最基础的计算机视觉应用,属于有监督学习类别,如给定一张图像(猫、狗、飞机、汽车等等),判断图像所属的类别。本章将介绍使用ResN…

更改Anki笔记所应用的模板及其所属的牌组

对于Anki中的笔记,录入时总会为它指定模板以及所属的牌组,但是,如果发生教材版本变更,我们可能会用新的模板添加笔记,也会使用新的牌组,但是原来所做的笔记中也有一些完全可以继续使用,如果可以…

超详细的 C++中的封装继承和多态的知识总结<1.封装与继承>

引言 小伙伴们都知道C面向对象难,可是大家都知道,这个才是C和C的真正区别的地方,也是C深受所有大厂喜爱的原因,它的原理更接近底层,它的逻辑更好,但是学习难度高,大家一定要坚持下来呀&#xff…

【实验室精选】PFA反应瓶带鼓泡球 高效气体鼓泡 化学分析优选

PFA反应瓶带鼓泡球是一种特殊设计的实验室容器,它集成了鼓泡球和PFA(全氟烷氧基)材料的反应瓶,用于气体的鼓泡和液体的混合。以下是它的一些特点和用途: 特点: 鼓泡球设计:鼓泡球周围布满小孔&…

Unity热更方案HybridCLR+YooAsset,纯c#开发热更,保姆级教程,从零开始

文章目录: 一、前言二、创建空工程三、接入HybridCLR四、接入YooAsset五、搭建本地资源服务器Nginx六、实战七、最后 一、前言 unity热更有很多方案,各种lua热更,ILRuntime等,这里介绍的是YooAssetHybridCLR的热更方案&#xff0…

60种AI工具用法 学会探索AI的无限可能

外面还在卖的课程,学会探索AI的无限可能,从构建精准的提示词到获取个性化新闻,从快速制作PPT到短视频内容的智能提炼,再到编程、股市分析和视频剪辑,AI工具助您工作学习效率飞跃提升! 百度网盘 请输入提取…

Linux多进程和多线程(五)进程间通信-消息队列

多进程(五) 进程间通信 消息队列 ftok()函数创建消息队列 创建消息队列示例 msgctl 函数示例:在上⼀个示例的基础上,加上删除队列的代码 发送消息 示例: 接收消息示例 多进程(五) 进程间通信 消息队列 消息队列是一种进程间通信机制,它允许两个或多个…

单例模式详解:概念与实用技巧

目录 单例模式单例模式结构单例模式适用场景单例模式优缺点练手题目题目描述输入描述输出描述输入示例输出示例提示信息题解 单例模式 单例模式是一种创建型设计模式, 让你能够保证一个类只有一个实例, 并提供一个访问该实例的全局节点。 只有一个实例的…

【深入理解Java虚拟机】判断垃圾-引用计数法及其缺陷

什么是引用计数法 引用计数法用来判断对象是否存活 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器的值加一;当引用失效时,计数器的值就减一,任何时刻计数器为0的对象是不可能在被使用的。(存…

c++类模板及应用

文章目录 为什么要有函数模板一般实现举例类模板举例 继承中类模板的使用特殊情况 友元函数模板类和静态成员类模板实践 为什么要有函数模板 项目需求: 实现多个函数用来返回两个数的最大值,要求能支持char类型、int类型、double 一般实现举例 类模板举例 继承中类…

2.2 ROS2话题通信

场景 话题通信是ROS中使用频率最高的一种通信模式,话题通信是基于发布订阅模式的,也即:一个节点发布消息,另一个节点订阅该消息。话题通信的应用场景也极其广泛,比如如下场景: 机器人在执行导航功能&#…

肺炎-X光-图像分类数据集

肺炎-X光-图像分类数据集 数据集: 链接:https://pan.baidu.com/s/1bt6tf-jHqgufKqPmCFHbrQ?pwdaj54 提取码:aj54 数据集信息介绍: 文件夹 健康 中的图片数量: 1575 文件夹 新冠肺炎 中的图片数量: 1728 文件夹 普通肺炎 中的…

AI:开发者的超级助手,而非取代者

AI:开发者的超级助手,而非取代者 引言 在这个日新月异的科技时代,人工智能(AI)已悄然渗透到我们生活的方方面面,尤其是在软件开发领域,它正以一种前所未有的方式改变着我们的工作方式。作为一名…

Redis 中的通用命令(命令的返回值、复杂度、注意事项及操作演示)

Redis 中的通用命令(高频率操作) 文章目录 Redis 中的通用命令(高频率操作)Redis 的数据类型redis-cli 命令Keys 命令Exists 命令Expire 命令Ttl 命令Type命令 Redis 的数据类型 Redis 支持多种数据类型,整体来说,Redis 是一个键值对结构的,…

《数据结构与算法基础 by王卓老师》学习笔记——2.5线性表的链式表示与实现1

1.链式表示 2.链表举例 3.链式存储的相关术语 4.三个讨论题

【软件测试】之自动化测试

🏀🏀🏀来都来了,不妨点个关注! 🎧🎧🎧博客主页:欢迎各位大佬! 文章目录 什么是自动化测试Selenium介绍什么是SeleniumSelenium的特点工作原理 SeleniumJava环境搭建下载…

数学建模------Matlab数据可视化

目录 1.plot函数 (1)函数介绍 (2)参数介绍 (3)图形美化 (4)背景更改 (5)多组绘制 (6)图形叠加 (7)添加…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 英文单词联想(100分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 📎在线评测链接 https://app5938.acapp.acwing.com.cn/contest/2/problem/OD…