Windows常用协议

LLMNR
1. LLMNR 简介

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

2.LLMNR 解析过程

当本地hosts 和 DNS解析 当本地hosts 和 DNS解析失败时,会使用LLMNR解析。
1)主机在本地NetBIOS缓存名称中进行查询。
2)如果在缓存名称中没有查询到,则以此向配置的主备DNS服务器发送解析请求
3)如果主备DNS服务器没有回复,则向当前子网域发送多播,获取对应的IP地址
4)本地子网域中的其他主机收到并检查多播包。如果没有响应,则请求失败

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

3.LLMNR 欺骗攻击

假设用户访问一个域名xxx,,在hosts 文件和DNS解析失败时,会通过LLMNR进行广播请求。攻击者利用该广播请求时间向请求用户回复响应IP地址,这时域名xxx映射的P就是攻击者IP,用户访问域名 xxx就会解析到攻击IP,这样攻击者便可以拿到 NetNTLM 哈希。

4.LLMNR 防御措施
1)在 Windows系统中依次选择“开始”→“运行”选项,然后输入 gpedit.msc命令打开本地组策略管理器。
2)依次选择“计算机配置”→“管理模板”→“网络”→“DNS 客户端”
3)双击打开“关闭多播名称解析”策略设置
4)将“关闭多播名称解析”略设置中的状态改为“已禁用”

NetBIOS
1.NetBIOS 简介

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

2.NetBIOS 服务类型

NetBIOS 支持面向连接(TCP)和无连接(UDP)通信。它提供3个分开的服务:名称服务(NetBIOS name)、会话服务(NetBIOS session)、数据报服务(NetBIOS datagram)。NetBIOS name 为其他两个服务的基础。

三种常见的NetBIOS报文类型进行

报文类型端口具体描述
Net BIOS names(NetBIOS名称服务)UDP 137主要作用是在局域网中提供计算机的名称或IP地址查询服务
Net BIOS datagrams(Net BIOS数据报)UDP 138主要作用是提供NetBIOS环境下的计算机名浏览功能
Net BIOS sessions(Net BIOS会话服务)TCP 139用于处理NBT会话,NBT会话用于包含SMB会话的轻量级协议,其主要作用是提供文件和打印机共享功能
 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打开网络连接

2)依次选择“本地连接”→“属性”→“Internet协议版本4(TCP/IPv4)”→“属性”→“高级'选项来配置,
3)在 WINS 选项卡的 NetBIOS 设置中禁用 NetBIOS,如图

 

 Windows WPAD


WPAD 全称 Web Proxy Auto-Discovery Protocol,也就是 Web 代理自动发现协议。(这里的代理就是我们在渗透中使用BURP的时候修改的代理设置。)它的作用是让局域网浏览器自动发现内网中的代理服务器,并且自动设置成该代理来连接企业内网或者互联网。

若系统开启了WPAD,那么主机就会在当前连接的局域网中寻找代理服务器,找到之后会在代理服务器中下载PAC(Proxy Auto-Config,代理自动配置)文件。这个PAC文件会定义用户在访问什么地址的时候使用什么代理。

1. WPAD 实现方式

前面说过,主机会在当前连接的局域网中自动寻找代理服务器,而它的实现方式主要有两种。
(1)DHCP
在DHCP服务器中,252选项是被用于查询或者注册的指针。可以在DHCP服务器中添加一个用于查找WPAD主机的252选项,内容是部署在WPAD主机上的 PAC文件的URL。当客户端 Web浏览器要访问某个地址时,Web浏览器会向 DHCP服务器发送 DHCPINFORM 数据包来查询PAC文件的位置,DHCP服务器收到请求后会返回DHCP ACK数据包(其中包含选项和配置列表)进行响应。在这些返回选项中的252选项就是代理自动配文件的位置,Web浏览器就可以据此执行下载PAC文件请求。

日前大多数内网中已经不再使用DHCP服务器来配置客户端的WPAD,而采用较为简单的 DNS服务器方式。

(2)DNS
这种方式是目前使用较为广泛的。通过DNS方式实现WPAD的原理是:

  1. 客户端检测: 当局域网内的客户端(通常是浏览器)需要连接到互联网时,它会尝试自动发现代理服务器设置。首先,它会检查本地网络配置是否已经有手动设置的代理信息;如果没有,则开始自动探测过程。

  2. DNS查找: 客户端会在自己的域名前加上wpad.来构造一个完全限定域名(FQDN),例如:如果客户端的DNS域名为example.com,则查找的域名将是wpad.example.com

  3. 请求与响应: 客户端向本地DNS服务器发送查询请求,寻找这个构造出来的wpad域名对应的IP地址或资源记录。DNS服务器如果配置了相应的记录,会返回指向包含PAC(Proxy Auto-Configuration)文件的URL。

  4. 获取PAC文件: 客户端收到DNS响应后,访问所指向的URL以下载PAC文件。该文件是一个JavaScript脚本,定义了如何根据不同的URL选择使用哪个代理服务器或者直接连接目标主机。

  5. 应用PAC规则: 下载到PAC文件后,客户端按照文件中的规则确定对于特定网络请求应使用的代理设置,然后通过指定的代理服务器进行后续的网页访问和数据传输。

2.PAC文件内容

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

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地址。

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

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

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

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

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

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

相关文章

Linux浅学笔记04

目录 Linux实用操作 Linux系统下载软件 yum命令 apt systemctl命令 ln命令 日期和时区 IP地址 主机名 网络传输-下载和网络请求 ping命令 wget命令 curl命令 网络传输-端口 进程 ps 命令 关闭进程命令: 主机状态监控命令 磁盘信息监控&#xff1a…

2018-02-14 新闻内容爬虫【上学时做论文自己爬新闻数据,原谅我自己懒发的图片】

2018-02-14新闻内容爬虫【上学时做论文自己爬新闻数据,原谅我自己懒发的图片】资源-CSDN文库https://download.csdn.net/download/liuzhuchen/88878591爬虫过的站点: 1QQ新闻 1,准备爬取滚动新闻页面 2 通过F12 开发工具查找发现&#xff…

Qt项目:网络1

文章目录 项目:网路项目1:主机信息查询1.1 QHostInfo类和QNetworkInterface类1.2 主机信息查询项目实现 项目2:基于HTTP的网络应用程序2.1 项目中用到的函数详解2.2 主要源码 项目:网路 项目1:主机信息查询 使用QHostI…

SIMON 32/64加密电路的实现(System Verilog)

关于SIMON加密电路的原理,参考之前发布的博文【SIMON加密算法的原理】 1.总览与电路介绍 1.1 电路总体结构图 1.2 模式配置介绍 SIMON加密算法的分组长度、密钥长度以及必要的参数配置如下图: 本次需要实现的是SIMON 32/64,即分组长度2n3…

【数据结构】B树,B+树,B*树

文章目录 一、B树1.B树的定义2.B树的插入3.B树的中序遍历 二、B树和B*树1.B树的定义2.B树的插入3.B*树的定义4.B树系列总结 三、B树与B树的应用 一、B树 1.B树的定义 1. 在内存中搜索效率高的数据结构有AVL树,红黑树,哈希表等,但这是在内存…

Stable Diffusion 绘画入门教程(webui)-ControlNet(Shuffle)

Shuffle(随机洗牌),这个预处理器会把参考图的颜色打乱搅拌到一起,然后重新组合的方式重新生成一张图,可以想象出来这是一个整体风格控制的处理器。 那么问题来了,官方为啥会设计个这样的处理器呢,主要是给懒人用的&am…

Atcoder ABC341 E - Alternating String

Alternating String(交替字符串) 时间限制:3s 内存限制:1024MB 【原题地址】 所有图片源自Atcoder,题目译文源自脚本Atcoder Better! 点击此处跳转至原题 【问题描述】 【输入格式】 每个查询 q u e r y i query…

STM32存储左右互搏 QSPI总线FATS文件读写FLASH W25QXX

STM32存储左右互搏 QSPI总线FATS文件读写FLASH W25QXX FLASH是常用的一种非易失存储单元,W25QXX系列Flash有不同容量的型号,如W25Q64的容量为64Mbit,也就是8MByte。这里介绍STM32CUBEIDE开发平台HAL库Quad SPI总线实现FATS文件操作W25Q各型号…

Vue笔记(一)

常用指令 1.v-show与v-if底层原理的区别 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>创建一个V…

快速搭建宠物医院服务小程序的步骤,无需编程经验

如果你是一家宠物医院或者宠物服务机构&#xff0c;想要拥有一款方便用户预约、查询信息的小程序&#xff0c;那么乔拓云网提供的轻应用小程序是你的不二选择。下面将为你详细介绍如何轻松打造宠物医院服务小程序。 1. 进入乔拓云网后台&#xff0c;点击【轻应用小程序】中的【…

国产服务器操作系统

为何记录 最近的开发工作经常接触到国产服务器操作系统的业务&#xff0c;经常被x86、arm、龙芯、鲲鹏、欧拉...搞得一脸懵逼&#xff0c;遂记之&#xff01; 操作系统 这里按照应用场景分&#xff1a; 桌面操作系统&#xff1a;主要用于pc&#xff0c;如Windows、macOS、Li…

★【递归】【构造二叉树】Leetcode 106.从中序与后序遍历序列构造二叉树

★【递归】【构造二叉树】Leetcode 106.从中序与后序遍历序列构造二叉树 105. 从前序与中序遍历序列构造二叉树 106.从中序与后序遍历序列构造二叉树:star:思路分析递归解法 105. 从前序与中序遍历序列构造二叉树递归解法 ---------------&#x1f388;&#x1f388;题目链接&a…

大语言模型推理加速技术:计算加速篇

原文&#xff1a;大语言模型推理加速技术&#xff1a;计算加速篇 - 知乎 目录 简介 Transformer和Attention 瓶颈 优化目标 计算加速 计算侧优化 KVCache Kernel优化和算子融合 分布式推理 内存IO优化 Flash Attention Flash Decoding Continuous Batching Page…

嵌入式学习第二十一天!(线程)

线程&#xff1a; 1. 基本概念&#xff1a; 线程&#xff1a;线程是一个轻量级的进程&#xff0c;位于进程空间内部&#xff0c;一个进程中可以创建多个线程 2. 线程创建&#xff1a; 线程独占栈空间&#xff0c;文本段、数据段和堆区与进程共享 3. 线程调度&#xff1a; 与进程…

Tomcat 下部署若依单体应用可观测最佳实践

实现目标 采集指标信息采集链路信息采集日志信息采集 RUM 信息会话重放 即用户访问前端的一系列过程的会话录制信息&#xff0c;包括点击某个按钮、操作界面、停留时间等&#xff0c;有助于客户真是意图、操作复现 版本信息 Tomcat (9.0.81)Springboot(2.6.2)JDK (>8)DDT…

2024年软件测试路线,不同等级应具备的基本能力(总结)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、软件测试的正确…

大数据可视化的设计规范,全面剖析,很实用。

大数据可视化的设计规范需要考虑到数据量大、复杂度高、数据类型多样等特点。以下是一份常见的大数据可视化设计规范&#xff0c;供您参考&#xff1a; 设计原则 简单易用&#xff1a;保证用户操作简单、直观&#xff0c;降低用户认知负担。数据准确&#xff1a;保证数据准确…

数据可视化引领智慧工业新时代

在智慧工业的大潮中&#xff0c;数据可视化崭露头角&#xff0c;以其直观、清晰的方式赋能工业生产&#xff0c;为智慧工业的高效运转提供了强有力的支持。下面我就以可视化从业者的角度&#xff0c;简单聊聊这个话题。 数据可视化首先在智慧工业的生产监控中大显身手。通过将…

4-Bean的循环依赖

Bean的循环依赖 循环依赖指的是依赖闭环的问题 解决 首先我们来实例化A&#xff0c;实例化A时并没有处理依赖注入&#xff0c;因此会得到半成品A。有了半成品A&#xff0c;它会被封装成一个ObjectFactory&#xff0c;并且把它放入第三个缓存区singletonFactories中。 接下来要…

tmux的使用方法

1. tmux的定义 我&#xff1a;什么是tmux&#xff1f; GPT&#xff1a;tmux&#xff08;terminal multiplexer&#xff09;是一个强大的终端复用器&#xff0c;它允许用户在一个终端窗口中创建、访问和控制多个会话。使用tmux&#xff0c;你可以在一个窗口中打开多个终端会话&…